Imperative Program Synthesis by Abstract Static Analysis and SMT Mutations
This paper introduces a novel technique for synthesizing imperative programs that meet behavioral specifications given in the form of assumptions and assertions (logic formulas). In particular, we combine basic statement-directed enumerative search, static analysis via abstract interpretation, and expression-directed enumerative search via (incremental) SMT-based mutations to efficiently explore all candidate complete programs generated from an input program template (with statement and expression holes) until a solution is found. Firstly, the algorithm uses a basic enumerative search through the space of all possible statements, thus filling in all statement holes. In effect, we obtain partial programs with only missing (arithmetic and boolean) expressions, which are subsequently classified by a static analysis either as potential solutions or as definite failures. Finally, we repeatedly mutate the missing expressions in potential solutions and check if the resulting complete programs become bounded correct with respect to the given assertions. To efficiently explore the big state space of mutants, we call SAT and SMT solvers in an incremental way.
We have implemented our technique in a prototype synthesis tool and evaluated it on a set of introductory C programs. The experimental results confirm the effectiveness of our technique for synthesizing various interesting C programs.
Thu 3 JulDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
10:45 - 12:30 | |||
10:45 35mTalk | CoCoCoLa: Code Completion Control Language GPCE | ||
11:20 35mTalk | Comparative Analysis of Pre-Trained Code Language Models for Automated Program Repair via Code Infill Generation GPCE Iman Hemati Moghadam Eindhoven University of Technology, Oebele Lijzenga Universiteit Twente, Vadim Zaytsev University of Twente | ||
11:55 35mTalk | Imperative Program Synthesis by Abstract Static Analysis and SMT Mutations GPCE Aleksandar S. Dimovski Mother Teresa University, Skopje | ||
