DocumentCode
2166123
Title
Results from a large-scale study of performance optimization techniques for source code analyses based on graph reachability algorithms
Author
Binkley, David ; Harman, Mark
Author_Institution
Loyola Coll., Baltimore, MD, USA
fYear
2003
fDate
26-27 Sept. 2003
Firstpage
203
Lastpage
212
Abstract
Internally, many source code analysis tools make use of graphs. For example, one of the oldest and most widely used internal graphs is the control-flow graph developed for use within a compiler. Work on compilation has also led to the development of the call graph, the procedure dependence graph (PDG), and the static-single assignment (SSA) graph. Compilers are not the only source-code analysis tools to use internal graphs. A variety of software engineering tools incorporate a variety of different graphs. A study of techniques that improve graph-based program analysis is presented. Several different techniques are considered, including forming strongly-connected components, topological sorting, and removing transitive edges. Graph reachability, a pervasive graph analysis operation, is used as a representative graph analysis operation in the study. Data collected from a test bed of just over 1000000 lines of code is presented. This data illustrates the impact on computation time of the improvement techniques. Overall, the combination of all techniques produces a 71% reduction in run-time (and 64% reduction in memory usage). In other words, they increase the size of the problem that can be effectively handled by factor of over three times.
Keywords
data structures; graph theory; program diagnostics; reachability analysis; software performance evaluation; SSA graph; call graph; control flow graph; graph based program analysis; graph reachability algorithms; performance optimization; procedure dependence graph; source code analysis; static single assignment graph; strongly connected components; topological sorting; transitive edge removing; Algorithm design and analysis; Educational institutions; Large-scale systems; Optimization; Performance analysis; Runtime; Software engineering; Sorting; Testing; Tree graphs;
fLanguage
English
Publisher
ieee
Conference_Titel
Source Code Analysis and Manipulation, 2003. Proceedings. Third IEEE International Workshop on
Print_ISBN
0-7695-2005-7
Type
conf
DOI
10.1109/SCAM.2003.1238046
Filename
1238046
Link To Document