|
ABSTRACT
Software evolution and software quality are ever changing phenomena. As software evolves, evolution impacts software quality. On the other hand, software quality needs may drive software evolution strategies.This paper presents an approach to schedule quality improvement under constraints and priority. The general problem of scheduling quality improvement has been instantiated into the concrete problem of planning duplicated code removal in a geographical information system developed in C throughout the last 20 years. Priority and constraints arise from development team and from the adopted development process. The developer team long term goal is to get rid of duplicated code, improve software structure, decrease coupling, and improve cohesion.We present our problem formulation, the adopted approach, including a model of clone removal effort and preliminary results obtained on a real world application.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
| |
2
|
G. Antoniol, U. Villano, E. Merlo, and M. Di Penta. Analyzing cloning evolution in the linux kernel. Information and Software Technology, 44:755--765, October 2002.
|
| |
3
|
|
| |
4
|
|
| |
5
|
E. Buss , R. De Mori , W. M. Gentleman , J. Henshaw , H. Johnson , K. Kontogiannis , E. Merlo , H. A. Müller , J. Mylopoulos , S. Paul , A. Prakash , M. Stanley , S. R. Tilley , J. Troster , K. Wong, Investigating reverse engineering technologies for the CAS program understanding project, IBM Systems Journal, v.33 n.3, p.477-500, July 1994
|
| |
6
|
|
| |
7
|
|
| |
8
|
J. A. Clark, J. J. Dolado, M. Harman, R. M. Hierons, B. Jones, M. Lumkin, B. S. Mitchell, S. Mancoridis, K. Rees, M. Roper, and M. J. Shepperd. Formulating software engineering as a search problem. IEE Proceedings - Software, 150(3):161--175, 2003.
|
| |
9
|
E. J. Coffman, M. Garey, and D. Johnson. Approximation algorithms for bin-packing. In Algorithm Design for Computer System Design, 1984.
|
| |
10
|
|
| |
11
|
|
| |
12
|
|
| |
13
|
|
| |
14
|
|
| |
15
|
D. Greer and G. Ruhe. Software release planning: an evolutionary and iterative approach. Information and Software Technology, 46(4):243--253, 2004.
|
| |
16
|
E. Hart, D. Corne, and P. Ross. The state of the art in evolutionary scheduling. Genetic Programming and Evolvable Machines, 2004 (to appear).
|
| |
17
|
|
| |
18
|
J. Karlsson, C. Wohlin, and B. Regnell. An evaluation of methods for priorizing software requirements. Information and Software Technology, 39:939--947, 1998.
|
| |
19
|
|
| |
20
|
K. Kontogiannis, R. D. Mori, R. Bernstein, M. Galler, and E. Merlo. Pattern matching for clone and concept detection. Journal of Automated Software Engineering, March 1996.
|
| |
21
|
|
| |
22
|
T. J. McCabe. Reverse engineering reusability redundancy: the connection. American Programmer, 3:8--13, October 1990.
|
| |
23
|
|
| |
24
|
M. Neteler, editor. GRASS 6.1 Programmer's Manual. Geographic Resources Analysis Support System. ITC-irst, Italy, http://grass.itc.it/devel/, 2005.
|
| |
25
|
G. R. Raidl. An improved genetic algorithm for the multiconstrained 0-1 knapsack problem. In Proceedings of International Conference on Evolutionary Computation, pages 207--211, 1998.
|
| |
26
|
|
| |
27
|
E. Talbi. Métaheuristiques pour l'optimisation combinatoire muli-objectif : État de l'art. TR 98-757.33, Laboratoire d'Informatique Fondamentale de Lille, Université des Sciences et Technologies de Lille, 2001.
|
CITED BY 3
|
Hui Liu , Ge Li , Zhiyi Ma , Weizhong Shao, Scheduling of conflicting refactorings to promote quality improvement, Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering, November 05-09, 2007, Atlanta, Georgia, USA
|
|
|
|
|
|
|
INDEX TERMS
Primary Classification:
D.
Software
D.2
SOFTWARE ENGINEERING
D.2.7
Distribution, Maintenance, and Enhancement
Subjects:
Restructuring, reverse engineering, and reengineering
General Terms:
Algorithms,
Design,
Experimentation,
Measurement
Keywords:
effort prediction,
evolution modeling,
genetic algorithms,
multi-objective optimization,
refactoring effort,
software quality improvement
|