Abstractions from tests

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

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review


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
Pages (from-to)373-385
Number of pages13
JournalACM SIGPLAN Notices
Issue number1
StatePublished - Jan 2012


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


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

Cite this