Software reconnaissance: Mapping program features to code
- 1 January 1995
- journal article
- research article
- Published by Wiley in Journal of Software Maintenance: Research and Practice
- Vol. 7 (1) , 49-62
- https://doi.org/10.1002/smr.4360070105
Abstract
Maintainers of old code often need to discover where particular program features are implemented. This paper presents a method, called ‘software reconnaissance’ for answering this question through an analysis of the execution of different test cases. The method is quite easy to implement, requiring only a test coverage monitor, some simple tools, and a surprisingly small number of test cases.A statistical case study is presented that shows the kind of results that can be obtained on a typical medium‐sized program. The method seems to be effective in identifying a small number of code components that are unique to a particular program feature, though it may not find all components that make up the feature's delocalized plan. A small protocol case study shows that professional programmers can learn to use the method quickly and can use the information that it produces.Software reconnaissance may be a simple but useful addition to the maintainer's tool kit in that it provides starting points for understanding a large program and a way of recovering some requirements traceability information from old code. For the researcher, it also provides a novel functionality ‘view’ of software that maps features to program components at different levels of precision.Keywords
This publication has 10 references indexed in Scilit:
- Locating user functionality in old codePublished by Institute of Electrical and Electronics Engineers (IEEE) ,2003
- Extracting application domain functions from old code: a real experiencePublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Partial evaluation as an aid to the comprehension of Fortran programsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- From program comprehension to tool requirements for an industrial environmentPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Maintaining object-oriented softwareIEEE Software, 1993
- A formal evaluation of data flow path selection criteriaIEEE Transactions on Software Engineering, 1989
- Designing documentation to compensate for delocalized plansCommunications of the ACM, 1988
- Delocalized Plans and Program ComprehensionIEEE Software, 1986
- Programmers use slices when debuggingCommunications of the ACM, 1982
- Control flow and data structure documentationCommunications of the ACM, 1982