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 :
بازگشت