Identification of program modifications and its applications in software maintenance
- 2 January 2003
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 282-290
- https://doi.org/10.1109/icsm.1992.242533
Abstract
It is pointed out that a major problem in software maintenance is the revalidation of a modified code. It is economically desirable to restrict that process only to those parts of the program that are affected by the modifications. Towards that goal, a formal method is needed to identify the modifications in an automatic way. Such a method is proposed in the present work. The modifications are localized within clusters in the flow graphs of the original and modified programs. Both flow graphs are transformed into reduced flow graphs, between which an isomorphic correspondence is established. Cluster-nodes in the reduced graphs encapsulate modifications to the original program. An algorithm to derive the reduced flow graphs has been implemented as an extension to the recently developed system for testing and debugging (STAD 1.0) and early experiments with the algorithm are reported. Potential applications in regression testing and reasoning about the program are discussed.Keywords
This publication has 14 references indexed in Scilit:
- Insights into regression testing (software testing)Published by Institute of Electrical and Electronics Engineers (IEEE) ,2003
- A cost model to compare regression test strategiesPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Using program slicing in software maintenanceIEEE Transactions on Software Engineering, 1991
- Dynamic slicing of computer programsJournal of Systems and Software, 1990
- A formal model of program dependences and its implications for software testing, debugging, and maintenanceIEEE Transactions on Software Engineering, 1990
- Approximate reasoning about the semantic effects of program changesIEEE Transactions on Software Engineering, 1990
- Integrating noninterfering versions of programsACM Transactions on Programming Languages and Systems, 1989
- On Required Element TestingIEEE Transactions on Software Engineering, 1984
- Program SlicingIEEE Transactions on Software Engineering, 1984
- Incremental data flow analysis in a structured program editorPublished by Association for Computing Machinery (ACM) ,1984