Title :
Using automated source code analysis for software evolution
Author :
Burd, Liz ; Rank, Stephen
Author_Institution :
Dept. of Comput. Sci., Durham Univ., UK
Abstract :
Software maintenance is one of the most expensive and time-consuming phases in the software life-cycle. The size and complexity of commercial applications probably present the greatest difficulty that maintainers face when making changes to their applications. As a result of the corresponding loss of understanding, business knowledge encapsulated within the system becomes fragmented, and any changes made as a result of new business initiatives become difficult to implement and hence may mean a loss of business opportunities. The paper outlines an approach to regaining understanding of software which has been used in the Release project at Durham University. This approach involves determining the calling structure of a program in terms of a call-graph, and from this call-graph extracting a dominance tree. Various problems which have been encountered during the construction of tools to perform this task are described
Keywords :
automatic programming; graph theory; reverse engineering; software maintenance; software prototyping; automated source code analysis; business knowledge; business opportunities; call-graph; commercial applications; dominance tree; new business initiatives; program calling structure; software evolution; software life-cycle; software maintenance; software understanding; Application software; Business; Computer science; Costs; Degradation; Investments; Life estimation; Software maintenance; Software performance; Software systems;
Conference_Titel :
Source Code Analysis and Manipulation, 2001. Proceedings. First IEEE International Workshop on
Conference_Location :
Florence
Print_ISBN :
0-7695-1387-5
DOI :
10.1109/SCAM.2001.972682