Assessing modularization and code scavenging techniques
- 1 September 1995
- journal article
- Published by Wiley in Journal of Software Maintenance: Research and Practice
- Vol. 7 (5) , 317-331
- https://doi.org/10.1002/smr.4360070504
Abstract
The destiny of legacy software is a relevant economic problem. Many companies are experiencing the friction that legacy systems oppose to the change and growth of their business. Nevertheless, these systems cannot be simply discarded and replaced with new ones developed according to the new organization requirements. Existing systems record a great deal of knowledge and expertise used to set up solutions to real problems in different application domains and it is imperative that this knowledge must not be lost, partly because it may not be recorded anywhere else than in the code.This paper discusses the problems related to the modularization of legacy systems, with the emphasis being placed on the automation of code scavenging. It is argued that a balance must be struck between the modularization of legacy code, and the production of reusable, easy‐to‐evolve modules. The paper provides a framework for examining system modularization methods and identifies a set of attributes that define their quality. An overview of modularization techniques is presented, and an evaluation is made to assess their strength and identify and understand their major limitations. Finally, an attempt is made to identify techniques and tools that are nature enough to be transferred from research laboratories to industry.Keywords
This publication has 11 references indexed in Scilit:
- A reverse engineering methodology to reconstruct hierarchical data flow diagrams for software maintenancePublished by Institute of Electrical and Electronics Engineers (IEEE) ,2003
- Locating user functionality in old codePublished by Institute of Electrical and Electronics Engineers (IEEE) ,2003
- Experiments in identifying reusable abstract data types in program codePublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Extracting abstract data types from C programs: A case studyPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Software salvaging and the call dominance treeJournal of Systems and Software, 1995
- Process improvement through data reuseIEEE Software, 1994
- Software salvaging based on conditionsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,1994
- A logic-based approach to reverse engineering tools productionIEEE Transactions on Software Engineering, 1992
- Using tool abstraction to compose systemsComputer, 1992
- Program SlicingIEEE Transactions on Software Engineering, 1984