Title :
Improving the static analysis of loops by dynamic partitioning techniques
Author :
Martel, Matthieu
Author_Institution :
LIST, CEA - Recherche Technologique, Gif-Sur-Yvette, France
Abstract :
Many static analyses aim at assigning to each control point of a program an invariant property that characterizes any state of a trace corresponding to this point. The choice of the set of control points determines the states of an execution trace for which a common property must be found. We focus on sufficient conditions to substitute one control flow graph for another during an analysis. Next, we introduce a dynamic partitioning algorithm that improves the precision of the calculated invariants by deciding dynamically how to map the states of the traces to the control points, depending on the properties resulting from the first steps of the analysis. In particular, this algorithm enables the loops to be unfolded only if this improves the precision of the final invariants. Its correctness stems from the fact that it uses legal graph substitutions.
Keywords :
data flow graphs; program control structures; program diagnostics; control flow graph; dynamic partitioning algorithm; invariant property; program control points; program loops; static analysis; Algorithm design and analysis; Assembly; Conferences; Flow graphs; Heuristic algorithms; Law; Legal factors; Merging; Partitioning algorithms; Sufficient conditions;
Conference_Titel :
Source Code Analysis and Manipulation, 2003. Proceedings. Third IEEE International Workshop on
Print_ISBN :
0-7695-2005-7
DOI :
10.1109/SCAM.2003.1238027