dc.contributor.author | Bragg, Nate FF | |
dc.contributor.author | Foster, Jeffrey S | |
dc.contributor.author | Roux, Cody | |
dc.contributor.author | Solar-Lezama, Armando | |
dc.date.accessioned | 2022-07-20T15:25:29Z | |
dc.date.available | 2022-07-20T15:25:29Z | |
dc.date.issued | 2021 | |
dc.identifier.uri | https://hdl.handle.net/1721.1/143886 | |
dc.description.abstract | Sketch is a popular program synthesis tool that solves for unknowns in a sketch or partial program. However, while Sketch is powerful, it does not directly support modular synthesis of dependencies, potentially limiting scalability. In this paper, we introduce Sketcham, a new technique that modularizes a regular sketch by automatically generating mocks—functions that approximate the behavior of complete implementations—from the sketch’s test suite. For example, if the function f originally calls g, Sketcham creates a mock gm from g’s tests and augments the sketch with a version of f that calls gm. This change allows the unknowns in f and g to be solved separately, enabling modular synthesis with no extra work from the Sketch user. We evaluated Sketcham on ten benchmarks, performing enough runs to show at a 95% confidence level that Sketcham improves median synthesis performance on six of our ten benchmarks by a factor of up to 5× compared to plain Sketch, including one benchmark that times out on Sketch, while exhibiting similar performance on the remaining four. Our results show that Sketcham can achieve modular synthesis by automatically generating mocks from tests. | en_US |
dc.language.iso | en | |
dc.publisher | Springer International Publishing | en_US |
dc.relation.isversionof | 10.1007/978-3-030-81685-8_38 | en_US |
dc.rights | Creative Commons Attribution 4.0 International license | en_US |
dc.rights.uri | https://creativecommons.org/licenses/by/4.0/ | en_US |
dc.source | Springer | en_US |
dc.title | Program Sketching by Automatically Generating Mocks from Tests | en_US |
dc.type | Article | en_US |
dc.identifier.citation | Bragg, Nate FF, Foster, Jeffrey S, Roux, Cody and Solar-Lezama, Armando. 2021. "Program Sketching by Automatically Generating Mocks from Tests." COMPUTER AIDED VERIFICATION (CAV 2021), PT I, 12759. | |
dc.contributor.department | Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory | |
dc.relation.journal | COMPUTER AIDED VERIFICATION (CAV 2021), PT I | en_US |
dc.eprint.version | Final published version | en_US |
dc.type.uri | http://purl.org/eprint/type/ConferencePaper | en_US |
eprint.status | http://purl.org/eprint/status/NonPeerReviewed | en_US |
dc.date.updated | 2022-07-20T15:21:34Z | |
dspace.orderedauthors | Bragg, NFF; Foster, JS; Roux, C; Solar-Lezama, A | en_US |
dspace.date.submission | 2022-07-20T15:21:35Z | |
mit.journal.volume | 12759 | en_US |
mit.license | PUBLISHER_CC | |
mit.metadata.status | Authority Work and Publication Information Needed | en_US |