Synthesizing Abstract Transformers
Pankaj Kumar Kalita, Sujit Kumar Muduli, Loris D'Antoni, Thomas Reps, and Subhajit Roy

TL;DR
This paper introduces a method and tool for automatically synthesizing precise abstract transformers for static analyzers, reducing manual effort and uncovering unsound existing transformers.
Contribution
We present a program-synthesis approach to automatically generate abstract transformers, ensuring maximal precision and correctness, demonstrated through a practical tool called AMURTH.
Findings
AMURTH successfully synthesizes abstract transformers with comparable performance to manual ones.
The method identified four unsound transformers in existing analyzers.
Automated synthesis enhances the reliability of static analysis tools.
Abstract
This paper addresses the problem of creating abstract transformers automatically. The method we present automates the construction of static analyzers in a fashion similar to the way automates the construction of parsers. Our method treats the problem as a program-synthesis problem. The user provides specifications of (i) the concrete semantics of a given operation , (ii) the abstract domain A to be used by the analyzer, and (iii) the semantics of a domain-specific language in which the abstract transformer is to be expressed. As output, our method creates an abstract transformer for in abstract domain A, expressed in (an "-transformer for over A"). Moreover, the abstract transformer obtained is a most-precise -transformer for over A; that is, there is no other -transformer for over A…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Natural Language Processing Techniques · Logic, programming, and type systems
