Using automated source code analysis for software evolution

Burd, Liz and Rank, Stephen (2001) Using automated source code analysis for software evolution. In: First IEEE International Workshop on Source Code Analysis and Manipulation (SCAM 2001), 10 Nov 2001, Florence, Italy.

Full content URL: http://dx.doi.org/10.1109/SCAM.201.972682

Documents
rank_analysis.pdf
[img]
[Download]
[img]
Preview
PDF
rank_analysis.pdf

70kB
Item Type:Conference or Workshop contribution (Paper)
Item Status:Live Archive

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.

This 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.

Additional Information: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. This 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:Source code analysis, Software evolution
Subjects:G Mathematical and Computer Sciences > G610 Software Design
G Mathematical and Computer Sciences > G600 Software Engineering
Divisions:College of Science > School of Computer Science
ID Code:29
Deposited On:10 Nov 2004

Repository Staff Only: item control page