Abstractions from tests

Mayur Naik*, Hongseok Yang, Ghila Castelnuovo, Mooly Sagiv

*Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

23 Scopus citations

Abstract

We present a framework for leveraging dynamic analysis to find good abstractions for static analysis. A static analysis in our framework is parametrised. Our main insight is to directly and efficiently compute from a concrete trace, a necessary condition on the parameter configurations to prove a given query, and thereby prune the space of parameter configurations that the static analysis must consider. We provide constructive algorithms for two instance analyses in our framework: a flow- and context-sensitive thread-escape analysis and a flow- and context-insensitive points-to analysis. We show the efficacy of these analyses, and our approach, on six Java programs comprising two million bytecodes: the thread-escape analysis resolves 80% of queries on average, disproving 28% and proving 52%; the points-to analysis resolves 99% of queries on average, disproving 29% and proving 70%.

Original languageEnglish
Title of host publicationPOPL'12 - Proceedings of the 39th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
Pages373-385
Number of pages13
DOIs
StatePublished - 2012
Event39th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL'12 - Philadelphia, PA, United States
Duration: 25 Jan 201227 Jan 2012

Publication series

NameConference Record of the Annual ACM Symposium on Principles of Programming Languages
ISSN (Print)0730-8566

Conference

Conference39th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL'12
Country/TerritoryUnited States
CityPhiladelphia, PA
Period25/01/1227/01/12

Funding

FundersFunder number
Engineering and Physical Sciences Research CouncilEP/H008373/2, EP/E053041/2, EP/E053041/1

    Keywords

    • Necessary-condition problem
    • Parametrised static analysis
    • Points-to analysis
    • Testing
    • Thread-escape analysis

    Fingerprint

    Dive into the research topics of 'Abstractions from tests'. Together they form a unique fingerprint.

    Cite this