On Abstraction Refinement for Program Analyses in Datalog

Cited 43 time in webofscience Cited 0 time in scopus
  • Hit : 466
  • Download : 0
A central task for a program analysis concerns how to efficiently find a program abstraction that keeps only information relevant for proving properties of interest. We present a new approach for finding such abstractions for program analyses written in Datalog. Our approach is based on counterexample-guided abstraction refinement: when a Datalog analysis run fails using an abstraction, it seeks to generalize the cause of the failure to other abstractions, and pick a new abstraction that avoids a similar failure. Our solution uses a boolean satisfiability formulation that is general, complete, and optimal: it is independent of the Datalog solver, it generalizes the failure of an abstraction to as many other abstractions as possible, and it identifies the cheapest refined abstraction to try next. We show the performance of our approach on a pointer analysis and a typestate analysis, on eight real-world Java benchmark programs.
Publisher
ASSOC COMPUTING MACHINERY
Issue Date
2014-06
Language
English
Article Type
Article; Proceedings Paper
Citation

ACM SIGPLAN NOTICES, v.49, no.6, pp.239 - 248

ISSN
0362-1340
DOI
10.1145/2594291.2594327
URI
http://hdl.handle.net/10203/225269
Appears in Collection
CS-Journal Papers(저널논문)
Files in This Item
There are no files associated with this item.
This item is cited by other documents in WoS
⊙ Detail Information in WoSⓡ Click to see webofscience_button
⊙ Cited 43 items in WoS Click to see citing articles in records_button

qr_code

  • mendeley

    citeulike


rss_1.0 rss_2.0 atom_1.0