{"id":"https://openalex.org/W3184758693","doi":"https://doi.org/10.1007/978-3-030-81685-8_38","title":"Program Sketching by Automatically Generating Mocks from Tests","display_name":"Program Sketching by Automatically Generating Mocks from Tests","publication_year":2021,"publication_date":"2021-01-01","ids":{"openalex":"https://openalex.org/W3184758693","doi":"https://doi.org/10.1007/978-3-030-81685-8_38","mag":"3184758693"},"language":"en","primary_location":{"id":"doi:10.1007/978-3-030-81685-8_38","is_oa":true,"landing_page_url":"https://doi.org/10.1007/978-3-030-81685-8_38","pdf_url":"https://link.springer.com/content/pdf/10.1007/978-3-030-81685-8_38.pdf","source":{"id":"https://openalex.org/S106296714","display_name":"Lecture notes in computer science","issn_l":"0302-9743","issn":["0302-9743","1611-3349"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319900","host_organization_name":"Springer Science+Business Media","host_organization_lineage":["https://openalex.org/P4310319900","https://openalex.org/P4310319965"],"host_organization_lineage_names":["Springer Science+Business Media","Springer Nature"],"type":"book series"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Lecture Notes in Computer Science","raw_type":"book-chapter"},"type":"conference-paper","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"hybrid","oa_url":"https://link.springer.com/content/pdf/10.1007/978-3-030-81685-8_38.pdf","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5113955412","display_name":"Nate F. F. Bragg","orcid":null},"institutions":[{"id":"https://openalex.org/I121934306","display_name":"Tufts University","ror":"https://ror.org/05wvpxv85","country_code":"US","type":"education","lineage":["https://openalex.org/I121934306"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Nate F. F. Bragg","raw_affiliation_strings":["Tufts University, Medford, MA, 02155, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Tufts University, Medford, MA, 02155, USA","institution_ids":["https://openalex.org/I121934306"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5038702707","display_name":"Jeffrey S. Foster","orcid":"https://orcid.org/0000-0001-8043-1166"},"institutions":[{"id":"https://openalex.org/I121934306","display_name":"Tufts University","ror":"https://ror.org/05wvpxv85","country_code":"US","type":"education","lineage":["https://openalex.org/I121934306"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Jeffrey S. Foster","raw_affiliation_strings":["Tufts University, Medford, MA, 02155, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Tufts University, Medford, MA, 02155, USA","institution_ids":["https://openalex.org/I121934306"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5090844192","display_name":"Cody Roux","orcid":null},"institutions":[{"id":"https://openalex.org/I1343143571","display_name":"Draper Laboratory","ror":"https://ror.org/04378d909","country_code":"US","type":"funder","lineage":["https://openalex.org/I1343143571"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Cody Roux","raw_affiliation_strings":["Draper Laboratory, Cambridge, MA, 02140, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Draper Laboratory, Cambridge, MA, 02140, USA","institution_ids":["https://openalex.org/I1343143571"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5010786661","display_name":"Armando Solar-Lezama","orcid":"https://orcid.org/0000-0001-7604-8252"},"institutions":[{"id":"https://openalex.org/I63966007","display_name":"Massachusetts Institute of Technology","ror":"https://ror.org/042nb2s44","country_code":"US","type":"education","lineage":["https://openalex.org/I63966007"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Armando Solar-Lezama","raw_affiliation_strings":["Massachusetts Institute of Technology, Cambridge, MA, 02139, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Massachusetts Institute of Technology, Cambridge, MA, 02139, USA","institution_ids":["https://openalex.org/I63966007"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":{"value":5000,"currency":"EUR","value_usd":5392},"apc_paid":{"value":5000,"currency":"EUR","value_usd":5392},"fwci":null,"has_fulltext":true,"cited_by_count":4,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"808","last_page":"831"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9988999962806702,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T11241","display_name":"Advanced Malware Detection Techniques","score":0.9980000257492065,"subfield":{"id":"https://openalex.org/subfields/1711","display_name":"Signal Processing"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/sketch","display_name":"Sketch","score":0.8913940787315369},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7271391153335571},{"id":"https://openalex.org/keywords/benchmark","display_name":"Benchmark (surveying)","score":0.6008756160736084},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.5983940362930298},{"id":"https://openalex.org/keywords/modular-design","display_name":"Modular design","score":0.5213209986686707},{"id":"https://openalex.org/keywords/sketch-recognition","display_name":"Sketch recognition","score":0.46740061044692993},{"id":"https://openalex.org/keywords/scalability","display_name":"Scalability","score":0.4150470495223999},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.35884177684783936},{"id":"https://openalex.org/keywords/database","display_name":"Database","score":0.3069170117378235},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.17499080300331116}],"concepts":[{"id":"https://openalex.org/C2779231336","wikidata":"https://www.wikidata.org/wiki/Q7534724","display_name":"Sketch","level":2,"score":0.8913940787315369},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7271391153335571},{"id":"https://openalex.org/C185798385","wikidata":"https://www.wikidata.org/wiki/Q1161707","display_name":"Benchmark (surveying)","level":2,"score":0.6008756160736084},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.5983940362930298},{"id":"https://openalex.org/C101468663","wikidata":"https://www.wikidata.org/wiki/Q1620158","display_name":"Modular design","level":2,"score":0.5213209986686707},{"id":"https://openalex.org/C132900626","wikidata":"https://www.wikidata.org/wiki/Q7534733","display_name":"Sketch recognition","level":4,"score":0.46740061044692993},{"id":"https://openalex.org/C48044578","wikidata":"https://www.wikidata.org/wiki/Q727490","display_name":"Scalability","level":2,"score":0.4150470495223999},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.35884177684783936},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.3069170117378235},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.17499080300331116},{"id":"https://openalex.org/C13280743","wikidata":"https://www.wikidata.org/wiki/Q131089","display_name":"Geodesy","level":1,"score":0.0},{"id":"https://openalex.org/C205649164","wikidata":"https://www.wikidata.org/wiki/Q1071","display_name":"Geography","level":0,"score":0.0},{"id":"https://openalex.org/C207347870","wikidata":"https://www.wikidata.org/wiki/Q371174","display_name":"Gesture","level":2,"score":0.0},{"id":"https://openalex.org/C159437735","wikidata":"https://www.wikidata.org/wiki/Q1519524","display_name":"Gesture recognition","level":3,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1007/978-3-030-81685-8_38","is_oa":true,"landing_page_url":"https://doi.org/10.1007/978-3-030-81685-8_38","pdf_url":"https://link.springer.com/content/pdf/10.1007/978-3-030-81685-8_38.pdf","source":{"id":"https://openalex.org/S106296714","display_name":"Lecture notes in computer science","issn_l":"0302-9743","issn":["0302-9743","1611-3349"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319900","host_organization_name":"Springer Science+Business Media","host_organization_lineage":["https://openalex.org/P4310319900","https://openalex.org/P4310319965"],"host_organization_lineage_names":["Springer Science+Business Media","Springer Nature"],"type":"book series"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Lecture Notes in Computer Science","raw_type":"book-chapter"},{"id":"pmh:oai:dspace.mit.edu:1721.1/143886","is_oa":true,"landing_page_url":"https://hdl.handle.net/1721.1/143886","pdf_url":null,"source":{"id":"https://openalex.org/S4306400425","display_name":"DSpace@MIT (Massachusetts Institute of Technology)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I63966007","host_organization_name":"Massachusetts Institute of Technology","host_organization_lineage":["https://openalex.org/I63966007"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by-nc","license_id":"https://openalex.org/licenses/cc-by-nc","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Springer","raw_type":"http://purl.org/eprint/type/ConferencePaper"}],"best_oa_location":{"id":"doi:10.1007/978-3-030-81685-8_38","is_oa":true,"landing_page_url":"https://doi.org/10.1007/978-3-030-81685-8_38","pdf_url":"https://link.springer.com/content/pdf/10.1007/978-3-030-81685-8_38.pdf","source":{"id":"https://openalex.org/S106296714","display_name":"Lecture notes in computer science","issn_l":"0302-9743","issn":["0302-9743","1611-3349"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319900","host_organization_name":"Springer Science+Business Media","host_organization_lineage":["https://openalex.org/P4310319900","https://openalex.org/P4310319965"],"host_organization_lineage_names":["Springer Science+Business Media","Springer Nature"],"type":"book series"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Lecture Notes in Computer Science","raw_type":"book-chapter"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W3184758693.pdf","grobid_xml":"https://content.openalex.org/works/W3184758693.grobid-xml"},"referenced_works_count":33,"referenced_works":["https://openalex.org/W1506481780","https://openalex.org/W1545506277","https://openalex.org/W1590649805","https://openalex.org/W1596865963","https://openalex.org/W1858945639","https://openalex.org/W1964748769","https://openalex.org/W2097347654","https://openalex.org/W2105315191","https://openalex.org/W2130371489","https://openalex.org/W2134826720","https://openalex.org/W2137591261","https://openalex.org/W2149207009","https://openalex.org/W2149236697","https://openalex.org/W2162960800","https://openalex.org/W2170199760","https://openalex.org/W2276356546","https://openalex.org/W2293033107","https://openalex.org/W2385332115","https://openalex.org/W2460341801","https://openalex.org/W2541300205","https://openalex.org/W2548645575","https://openalex.org/W2899590559","https://openalex.org/W2910204069","https://openalex.org/W2921535292","https://openalex.org/W2963102152","https://openalex.org/W2980266434","https://openalex.org/W2996317448","https://openalex.org/W3006649941","https://openalex.org/W3033316151","https://openalex.org/W3042778520","https://openalex.org/W3121861906","https://openalex.org/W3123182306","https://openalex.org/W4242364663"],"related_works":["https://openalex.org/W2294900353","https://openalex.org/W2151314278","https://openalex.org/W2411243951","https://openalex.org/W1971224820","https://openalex.org/W13629514","https://openalex.org/W2963977451","https://openalex.org/W2098836165","https://openalex.org/W1976890290","https://openalex.org/W1573697454","https://openalex.org/W2966897482"],"abstract_inverted_index":{"Abstract":[0],"Sketch":[1,20,133],"is":[2,21],"a":[3,13,41,46,77,96,147,164],"popular":[4],"program":[5],"synthesis":[6,29,126,155,204],"tool":[7],"that":[8,44,54,100,151,183,199],"solves":[9],"for":[10],"unknowns":[11,115],"in":[12,116],"sketch":[14,48,94],"or":[15],"partial":[16],"program.":[17],"However,":[18],"while":[19,188],"powerful,":[22],"it":[23],"does":[24],"not":[25],"directly":[26],"support":[27],"modular":[28,125,203],"of":[30,58,98,159,166],"dependencies,":[31],"potentially":[32],"limiting":[33],"scalability.":[34],"In":[35],"this":[36],"paper,":[37],"we":[38],"introduce":[39],"Sketcham,":[40],"new":[42],"technique":[43],"modularizes":[45],"regular":[47],"by":[49,163,205],"automatically":[50,206],"generating":[51,207],"mocks":[52,208],"\u2014functions":[53],"approximate":[55],"the":[56,61,68,93,114,132,193],"behavior":[57],"complete":[59],"implementations\u2014from":[60],"sketch\u2019s":[62],"test":[63],"suite.":[64],"For":[65],"example,":[66],"if":[67],"function":[69],"f":[70,99,117],"originally":[71],"calls":[72,101],"g":[73,88,119],",":[74],"Sketcham":[75,137,152,200],"creates":[76],"mock":[78],"$$g_m$$":[79,102],"<mml:math":[80,103,172],"xmlns:mml=\"http://www.w3.org/1998/Math/MathML\">":[81,104,173],"<mml:msub>":[82,105],"<mml:mi>g</mml:mi>":[83,106],"<mml:mi>m</mml:mi>":[84,107],"</mml:msub>":[85,108],"</mml:math>":[86,109,175],"from":[87,131,209],"\u2019s":[89],"tests":[90],"and":[91,118],"augments":[92],"with":[95,127],"version":[97],".":[110],"This":[111],"change":[112],"allows":[113],"to":[120,144,168,177],"be":[121],"solved":[122],"separately,":[123],"enabling":[124],"no":[128],"extra":[129],"work":[130],"user.":[134],"We":[135],"evaluated":[136],"on":[138,157,186,192],"ten":[139,161],"benchmarks,":[140],"performing":[141],"enough":[142],"runs":[143],"show":[145,198],"at":[146],"95%":[148],"confidence":[149],"level":[150],"improves":[153],"median":[154],"performance":[156,191],"six":[158],"our":[160],"benchmarks":[162],"factor":[165],"up":[167],"5":[169],"$$\\times":[170],"$$":[171],"<mml:mo>\u00d7</mml:mo>":[174],"compared":[176],"plain":[178],"Sketch,":[179,187],"including":[180],"one":[181],"benchmark":[182],"times":[184],"out":[185],"exhibiting":[189],"similar":[190],"remaining":[194],"four.":[195],"Our":[196],"results":[197],"can":[201],"achieve":[202],"tests.":[210]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2024,"cited_by_count":2},{"year":2023,"cited_by_count":1}],"updated_date":"2026-07-14T23:27:15.235271","created_date":"2025-10-10T00:00:00"}
