Adaptive Concretization for Parallel Program Synthesis
Author(s)
Jeon, Jinseong; Foster, Jeffrey S.; Qiu, Xiaokang; Solar Lezama, Armando
DownloadSolar-Lezama_Adaptive concretization.pdf (384.4Kb)
OPEN_ACCESS_POLICY
Open Access Policy
Creative Commons Attribution-Noncommercial-Share Alike
Terms of use
Metadata
Show full item recordAbstract
Program synthesis tools work by searching for an implementation that satisfies a given specification. Two popular search strategies are symbolic search, which reduces synthesis to a formula passed to a SAT solver, and explicit search, which uses brute force or random search to find a solution. In this paper, we propose adaptive concretization, a novel synthesis algorithm that combines the best of symbolic and explicit search. Our algorithm works by partially concretizing a randomly chosen, but likely highly influential, subset of the unknowns to be synthesized. Adaptive concretization uses an online search process to find the optimal size of the concretized subset using a combination of exponential hill climbing and binary search, employing a statistical test to determine when one degree of concretization is sufficiently better than another. Moreover, our algorithm lends itself to a highly parallel implementation, further speeding up search. We implemented adaptive concretization for Sketch and evaluated it on a range of benchmarks. We found adaptive concretization is very effective, outperforming Sketch in many cases, sometimes significantly, and has good parallel scalability.
Date issued
2017-08-28Department
Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory; Massachusetts Institute of Technology. Department of Electrical Engineering and Computer ScienceJournal
Computer Aided Verification
Publisher
Springer-Verlag
Citation
Jeon, Jinseong, et al. “Adaptive Concretization for Parallel Program Synthesis.” Lecture Notes in Computer Science (2015): 377–394. © 2015 Springer International Publishing Switzerland
Version: Author's final manuscript
ISBN
978-3-319-21667-6
978-3-319-21668-3
ISSN
0302-9743
1611-3349