|
ABSTRACT
There is a constant need for practical, efficient, and cost-effective software evolution techniques. We propose a novel evolution methodology that integrates the concepts of features, regression tests, and component-based software engineering (CBSE). Regression test cases are untapped resources, full of information about system features. By exercising each feature with its associated test cases using code profilers and similar tools, code can be located and refactored to create components. These components are then inserted back into the legacy system, ensuring a working system structure. This methodology is divided into three parts. Part one identifies the source code associated with features that need evolution. Part two deals with creating components and part three measures results. By applying this methodology, AFS has successfully restructured its enterprise legacy system and reduced the costs of future maintenance. Additionally, the components that were refactored from the legacy system are currently being used within a web-enabled 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
|
XSuds User's Manual, Telecordia Technologies, 1998.
|
| |
2
|
|
| |
3
|
|
| |
4
|
|
 |
5
|
|
| |
6
|
Compuware Corporation, 2000.
|
| |
7
|
A. Davis and R. Rauscher, "Formal Techniques and Automatic Processing to Ensure Correctness in Requirements Specifications", Conference on Specifications of Reliable Software, 1979, pp. 15-35.
|
| |
8
|
A. Davis, "The Design of a Family of Application-Oriented Requirements Languages", IEEE Computer, Vol. 15, No. 5, May 1982, pp. 21-28.
|
| |
9
|
|
 |
10
|
John Field , G. Ramalingam , Frank Tip, Parametric program slicing, Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.379-392, January 23-25, 1995, San Francisco, California, United States
[doi> 10.1145/199448.199534]
|
| |
11
|
D. Garlan and M. Shaw, "An Introduction to Software Architecture", Advances in Software Engineering and Knowledge Engineering, Volume I World Scientific Publishing, 1993.
|
| |
12
|
|
| |
13
|
|
 |
14
|
|
| |
15
|
|
| |
16
|
G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J-M Loingtier, and J. Irwin, "Aspect-Oriented Programming", 11th European Conference on Object-Oriented Programming (ECOOP), June 1997, pp. 220-242.
|
| |
17
|
|
| |
18
|
H. Leung and L. White, "Insights into Regression Testing", IEEE Software Maintenance Conference, 1989, pp. 60-69.
|
| |
19
|
|
| |
20
|
|
 |
21
|
|
| |
22
|
|
| |
23
|
A. Mehta and G. Heineman, "COTS Integration and Extension", Continuing Collaborations for Successful COTS Development, Workshop held in conjunction with ICSE, Limerick, Ireland, May 2000, pp. 67-72.
|
 |
24
|
|
| |
25
|
|
| |
26
|
|
 |
27
|
|
 |
28
|
Thomas Reps , Thomas Ball , Manuvir Das , James Larus, The use of program profiling for software maintenance with applications to the year 2000 problem, Proceedings of the 6th European conference held jointly with the 5th ACM SIGSOFT international symposium on Foundations of software engineering, p.432-449, September 22-25, 1997, Zurich, Switzerland
|
| |
29
|
|
| |
30
|
|
| |
31
|
D. Smith, H. Muller, and S. Tilley, "The Year 2000 Problem: Issues and Implications", Technical Report CMU/SEI-97-TR-002, SEI, 1997.
|
 |
32
|
Kevin J. Sullivan , David Notkin , Alfonso Fuggetta , John Favaro, First workshop on economics-driven software engineering research (EDSER-1), Proceedings of the 21st international conference on Software engineering, p.699-700, May 16-22, 1999, Los Angeles, California, United States
[doi> 10.1145/302405.302965]
|
 |
33
|
Peri Tarr , Harold Ossher , William Harrison , Stanley M. Sutton, Jr., N degrees of separation: multi-dimensional separation of concerns, Proceedings of the 21st international conference on Software engineering, p.107-119, May 16-22, 1999, Los Angeles, California, United States
[doi> 10.1145/302405.302457]
|
| |
34
|
S. Tilley and D Smith, Tilley, "Legacy System Reengineering," Tutorial presented at the SEI Software Engineering Symposium, Pittsburgh, PA, Sep. 9-12, 1996.
|
| |
35
|
|
| |
36
|
|
| |
37
|
N. Weiderman, J. Bergey, D. Smith, B. Dennis, and S. Tilley, "Approaches to Legacy System Evolution", Technical Report CMU/SEI-97-TR-014, Software Engineering Institute, Carnegie Mellon University, 1997.
|
| |
38
|
M. Weiser, "Program Slicing", IEEE Transactions on Software Engineering, Vol. 10, No. 4, July 1984, pp. 352-7.
|
| |
39
|
|
| |
40
|
|
|