A schema for interprocedural modification side-effect analysis with pointer aliasing
Author(s) -
Barbara G. Ryder,
William Landi,
P. Stocks,
Sean X. Zhang,
Rita Z. Altucher
Publication year - 2001
Publication title -
acm transactions on programming languages and systems
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.233
H-Index - 70
eISSN - 1558-4593
pISSN - 0164-0925
DOI - 10.1145/383043.381532
Subject(s) - pointer analysis , computer science , pointer (user interface) , alias , algorithm , aliasing , call graph , parameterized complexity , data flow analysis , control flow , programming language , parallel computing , data flow diagram , static analysis , data mining , artificial intelligence , database , undersampling
The first interprocedural modification side-effects analysis for C (MODC) that obtains better than worst-case precision on programs with general-purpose pointer usage is presented with empirical results. The analysis consists of an algorithm schema corresponding to a family of MODC algorithms with two independent phases: one for determining pointer-induced aliases and a subsequent one for propagating interprocedural side effects. These MODC algorithms are parameterized by the aliasing method used. The empirical results compare the performance of two dissimilar MODC algorithms: MODC(FSAlias) uses a flow-sensitive, calling-context-sensitive interprocedural alias analysis; MODC(FIAlias uses a flow-insensitive, calling-context-insensitive alias analysis which is much faster, but less accurate. These two algorithms were profiled on 45 programs ranging in size from 250 to 30,000 lines of C code, and the results demonstrate dramatically the possible cost-precision trade-offs. This first comparative implementation of MODC analyses offers insight into the differences between flow-/context-sensitive and flow-/context-insensitive analyses. The analysis cost versus precision trade-offs in side-effect information obtained are reported. The results show surprisingly that the precision of flow-sensitive side-effect analysis is not always prohibitive in cost, and that the precision of flow-insensitive analysis is substantially better than worst-case estimates and seems sufficient for certain applications. On average MODC(FSAlias) for procedures and calls is in the range of 20% more precise than MODC(FIAlias); however, the performance was found to be at least an order of magnitude slower than MODC(FIAlias).
Accelerating Research
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom
Address
John Eccles HouseRobert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom