Back to Search Start Over

Efficient Field-Sensitive Pointer Analysis of C.

Authors :
Pearce, David J.
Kelly, Paul H. J.
Hankin, Chris
Source :
ACM Transactions on Programming Languages & Systems. Jan2008, Vol. 30 Issue 1, p4-4.42. 42p.
Publication Year :
2008

Abstract

The subject of this article is flow- and context-insensitive pointer analysis. We present a novel approach for precisely modelling struct variables and indirect function calls. Our method emphasises efficiency and simplicity and is based on a simple language of set constraints. We obtain an O(v4) bound on the time needed to solve a set of constraints from this language, where v is the number of constraint variables. This gives, for the first time, some insight into the hardness of performing field-sensitive pointer analysis of C. Furthermore, we experimentally evaluate the time versus precision trade-off for our method by comparing against the field-insensitive equivalent. Our benchmark suite consists of 11 common C programs ranging in size from 15,000 to 200,000 lines of code. Our results indicate the field-sensitive analysis is more expensive to compute, but yields significantly better precision. In addition, our technique has been integrated into the latest release (version 4.1) of the GNU Compiler GCC. Finally, we identify several previously unknown issues with an alternative and less precise approach to modelling struct variables, known as field-based analysis. [ABSTRACT FROM AUTHOR]

Details

Language :
English
ISSN :
01640925
Volume :
30
Issue :
1
Database :
Academic Search Index
Journal :
ACM Transactions on Programming Languages & Systems
Publication Type :
Academic Journal
Accession number :
28551260
Full Text :
https://doi.org/10.1145/1290520.1290524