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 eases. 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 al 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. |
Year | DOI | Venue |
---|---|---|
1995 | 10.1002/smr.4360070105 | Journal of Software Maintenance |
Keywords | Field | DocType |
software reconnaissance,mapping program feature,requirements traceability,reverse engineering,software maintenance | Code coverage,Static program analysis,Software engineering,Systems engineering,Computer science,Reverse engineering,Software,Test case,Software maintenance,Dynamic program analysis,Requirements traceability | Journal |
Volume | Issue | ISSN |
7 | 1 | 1040-550X |
Citations | PageRank | References |
246 | 13.35 | 12 |
Authors | ||
2 |
Name | Order | Citations | PageRank |
---|---|---|---|
Norman Wilde | 1 | 507 | 31.04 |
Michael C. Scully | 2 | 246 | 13.35 |