Conference item icon

Conference item

Using program synthesis for program analysis

Abstract:
In this paper, we propose a unified framework for designing static analysers based on program synthesis. For this purpose, we identify a fragment of second-order logic with restricted quantification that is expressive enough to capture numerous static analysis problems (e.g. safety proving, bug finding, termination and non-termination proving, superoptimisation). We call this fragment the synthesis fragment. We build a decision procedure for the synthesis fragment over finite domains in the form of a program synthesiser. Given our initial motivation to solve static analysis problems, this synthesiser is specialised for such analyses. Our experimental results show that, on benchmarks capturing static analysis problems, our program synthesiser compares positively with other general purpose synthesisers.
Publication status:
Published
Peer review status:
Peer reviewed

Actions


Access Document


Files:
Publisher copy:
10.1007/978-3-662-48899-7_34

Authors


More by this author
Institution:
University of Oxford
Division:
MPLS
Department:
Computer Science
Role:
Author

Contributors

Role:
Editor
Role:
Editor
Role:
Editor
Role:
Editor


Publisher:
Springer
Host title:
Lecture Notes in Computer Science: LPAR: Logic for Programming, Artificial Intelligence, and Reasoning
Journal:
Lecture Notes in Computer Science: LPAR: Logic for Programming, Artificial Intelligence, and Reasoning More from this journal
Volume:
9450
Pages:
483-498
Publication date:
2015-11-22
DOI:
ISSN:
0302-9743 and 1611-3349
ISBN:
9783662488980


Keywords:
Pubs id:
pubs:579692
UUID:
uuid:5ccc0433-c5d1-4989-b1d6-658e18e4885a
Local pid:
pubs:579692
Source identifiers:
579692
Deposit date:
2017-01-28

Terms of use



Views and Downloads






If you are the owner of this record, you can report an update to it here: Report update to this record

TO TOP