2002 · 61 citations · 27 references
ComputingComputer ScienceFeature EngineeringSoftware EngineeringSystems ArchitectureComponent-based Software EngineeringSoftware ArchitectureSoftware DesignSoftware EvolutionSoftware MaintenanceSoftware TestingComponent EvolutionComponent-based Software DesignComponent-based Software DevelopmentLegacy System ReengineeringSoftware Component ReuseSoftware Evolution MetricsSource Code EvolutionTest Cases
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 their 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.
27
Mark Weiser · IEEE Transactions on Software Engineering · 1984 · 3.2K citations
<i>N</i> degrees of separation
Peri Tarr, Harold Ossher, William Harrison et al. · 1999 · 1.2K citations · Full text
Bogdan Korel · Information Processing Letters · 1988 · 765 citations
Architecture-based runtime software evolution
1997 · 584 citations