Open this publication in new window or tab >>2009 (English)In: Information and Software Technology, ISSN 0950-5849, E-ISSN 1873-6025, Vol. 51, no 10, p. 1428-1439Article in journal (Refereed) Published
Abstract [en]
Many software engineering applications require points-to analysis. These client applications range from optimizing compilers to integrated program development environments (IDEs) and from testing environments to reverse-engineering tools. Moreover, software engineering applications used in an edit-compile cycle need points-to analysis to be fast and precise.
In this article, we present a new context- and flow-sensitive approach to points-to analysis where calling contexts are distinguished by the points-to sets analyzed for their call target expressions. Compared to other well-known context-sensitive techniques it is faster in practice, on average, twice as fast as the call string approach and by an order of magnitude faster than the object-sensitive technique. In fact, it shows to be only marginally slower than a context-insensitive baseline analysis. At the same time, it provides higher precision than the call string technique and is similar in precision to the object-sensitive technique. We confirm these statements with experiments using a number of abstract precision metrics and a concrete client application: escape analysis.
Keywords
Points-to analysis; Dataflow analysis; Escape analysis
National Category
Computer Sciences
Research subject
Computer and Information Sciences Computer Science
Identifiers
urn:nbn:se:vxu:diva-5907 (URN)10.1016/j.infsof.2009.04.012 (DOI)
2009-09-252009-09-252018-05-17Bibliographically approved