dc.contributor.author | Jeon, Jinseong | |
dc.contributor.author | Foster, Jeffrey S. | |
dc.contributor.author | Qiu, Xiaokang | |
dc.contributor.author | Solar Lezama, Armando | |
dc.date.accessioned | 2017-08-28T18:44:36Z | |
dc.date.available | 2017-08-28T18:44:36Z | |
dc.date.issued | 2017-08-28 | |
dc.identifier.isbn | 978-3-319-21667-6 | |
dc.identifier.isbn | 978-3-319-21668-3 | |
dc.identifier.issn | 0302-9743 | |
dc.identifier.issn | 1611-3349 | |
dc.identifier.uri | http://hdl.handle.net/1721.1/111033 | |
dc.description.abstract | 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. | en_US |
dc.description.sponsorship | National Science Foundation (U.S.) (CCF-1139021) | en_US |
dc.description.sponsorship | National Science Foundation (U.S.) (CCF-1139056) | en_US |
dc.description.sponsorship | National Science Foundation (U.S.) (CCF-1161775) | en_US |
dc.language.iso | en_US | |
dc.publisher | Springer-Verlag | en_US |
dc.relation.isversionof | http://dx.doi.org/10.1007/978-3-319-21668-3_22 | en_US |
dc.rights | Creative Commons Attribution-Noncommercial-Share Alike | en_US |
dc.rights.uri | http://creativecommons.org/licenses/by-nc-sa/4.0/ | en_US |
dc.source | Other univ. web domain | en_US |
dc.title | Adaptive Concretization for Parallel Program Synthesis | en_US |
dc.type | Article | en_US |
dc.identifier.citation | Jeon, Jinseong, et al. “Adaptive Concretization for Parallel Program Synthesis.” Lecture Notes in Computer Science (2015): 377–394. © 2015 Springer International Publishing Switzerland | en_US |
dc.contributor.department | Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory | en_US |
dc.contributor.department | Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science | en_US |
dc.contributor.mitauthor | Qiu, Xiaokang | |
dc.contributor.mitauthor | Solar Lezama, Armando | |
dc.relation.journal | Computer Aided Verification | en_US |
dc.eprint.version | Author's final manuscript | en_US |
dc.type.uri | http://purl.org/eprint/type/ConferencePaper | en_US |
eprint.status | http://purl.org/eprint/status/NonPeerReviewed | en_US |
dspace.orderedauthors | Jeon, Jinseong; Qiu, Xiaokang; Solar-Lezama, Armando; Foster, Jeffrey S. | en_US |
dspace.embargo.terms | N | en_US |
dc.identifier.orcid | https://orcid.org/0000-0001-9476-7349 | |
dc.identifier.orcid | https://orcid.org/0000-0001-7604-8252 | |
mit.license | OPEN_ACCESS_POLICY | en_US |
mit.metadata.status | Complete | |