{"id":"https://openalex.org/W3205508149","doi":"https://doi.org/10.1145/3485482","title":"Synbit: synthesizing bidirectional programs using unidirectional sketches","display_name":"Synbit: synthesizing bidirectional programs using unidirectional sketches","publication_year":2021,"publication_date":"2021-10-15","ids":{"openalex":"https://openalex.org/W3205508149","doi":"https://doi.org/10.1145/3485482","mag":"3205508149"},"language":"en","primary_location":{"id":"doi:10.1145/3485482","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3485482","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3485482","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3485482","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5002572373","display_name":"Masaomi Yamaguchi","orcid":"https://orcid.org/0000-0002-7347-6021"},"institutions":[{"id":"https://openalex.org/I201537933","display_name":"Tohoku University","ror":"https://ror.org/01dq60k83","country_code":"JP","type":"education","lineage":["https://openalex.org/I201537933"]}],"countries":["JP"],"is_corresponding":false,"raw_author_name":"Masaomi Yamaguchi","raw_affiliation_strings":["Tohoku University, Japan"],"raw_orcid":"https://orcid.org/0000-0002-7347-6021","affiliations":[{"raw_affiliation_string":"Tohoku University, Japan","institution_ids":["https://openalex.org/I201537933"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5004575068","display_name":"Kazutaka Matsuda","orcid":"https://orcid.org/0000-0002-9747-4899"},"institutions":[{"id":"https://openalex.org/I201537933","display_name":"Tohoku University","ror":"https://ror.org/01dq60k83","country_code":"JP","type":"education","lineage":["https://openalex.org/I201537933"]}],"countries":["JP"],"is_corresponding":false,"raw_author_name":"Kazutaka Matsuda","raw_affiliation_strings":["Tohoku University, Japan"],"raw_orcid":"https://orcid.org/0000-0002-9747-4899","affiliations":[{"raw_affiliation_string":"Tohoku University, Japan","institution_ids":["https://openalex.org/I201537933"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5072292925","display_name":"Cristina David","orcid":"https://orcid.org/0000-0002-9106-934X"},"institutions":[{"id":"https://openalex.org/I36234482","display_name":"University of Bristol","ror":"https://ror.org/0524sp257","country_code":"GB","type":"education","lineage":["https://openalex.org/I36234482"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Cristina David","raw_affiliation_strings":["University of Bristol, UK"],"raw_orcid":"https://orcid.org/0000-0002-9106-934X","affiliations":[{"raw_affiliation_string":"University of Bristol, UK","institution_ids":["https://openalex.org/I36234482"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5074307489","display_name":"Meng Wang","orcid":"https://orcid.org/0000-0001-7780-630X"},"institutions":[{"id":"https://openalex.org/I36234482","display_name":"University of Bristol","ror":"https://ror.org/0524sp257","country_code":"GB","type":"education","lineage":["https://openalex.org/I36234482"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Meng Wang","raw_affiliation_strings":["University of Bristol, UK"],"raw_orcid":"https://orcid.org/0000-0001-7780-630X","affiliations":[{"raw_affiliation_string":"University of Bristol, UK","institution_ids":["https://openalex.org/I36234482"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":4,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":1.138,"has_fulltext":true,"cited_by_count":6,"citation_normalized_percentile":{"value":0.83538524,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":97},"biblio":{"volume":"5","issue":"OOPSLA","first_page":"1","last_page":"31"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9990000128746033,"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"}},"topics":[{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9990000128746033,"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9955000281333923,"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/T10533","display_name":"Teaching and Learning Programming","score":0.9915000200271606,"subfield":{"id":"https://openalex.org/subfields/1706","display_name":"Computer Science Applications"},"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/computer-science","display_name":"Computer science","score":0.8580681681632996},{"id":"https://openalex.org/keywords/modular-design","display_name":"Modular design","score":0.850098192691803},{"id":"https://openalex.org/keywords/sketch","display_name":"Sketch","score":0.8435685634613037},{"id":"https://openalex.org/keywords/task","display_name":"Task (project management)","score":0.5666860342025757},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5540558099746704},{"id":"https://openalex.org/keywords/computation","display_name":"Computation","score":0.5234671831130981},{"id":"https://openalex.org/keywords/state","display_name":"State (computer science)","score":0.5206079483032227},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.46002545952796936},{"id":"https://openalex.org/keywords/core","display_name":"Core (optical fiber)","score":0.45382368564605713},{"id":"https://openalex.org/keywords/computer-architecture","display_name":"Computer architecture","score":0.3218764066696167},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.14162886142730713}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8580681681632996},{"id":"https://openalex.org/C101468663","wikidata":"https://www.wikidata.org/wiki/Q1620158","display_name":"Modular design","level":2,"score":0.850098192691803},{"id":"https://openalex.org/C2779231336","wikidata":"https://www.wikidata.org/wiki/Q7534724","display_name":"Sketch","level":2,"score":0.8435685634613037},{"id":"https://openalex.org/C2780451532","wikidata":"https://www.wikidata.org/wiki/Q759676","display_name":"Task (project management)","level":2,"score":0.5666860342025757},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5540558099746704},{"id":"https://openalex.org/C45374587","wikidata":"https://www.wikidata.org/wiki/Q12525525","display_name":"Computation","level":2,"score":0.5234671831130981},{"id":"https://openalex.org/C48103436","wikidata":"https://www.wikidata.org/wiki/Q599031","display_name":"State (computer science)","level":2,"score":0.5206079483032227},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.46002545952796936},{"id":"https://openalex.org/C2164484","wikidata":"https://www.wikidata.org/wiki/Q5170150","display_name":"Core (optical fiber)","level":2,"score":0.45382368564605713},{"id":"https://openalex.org/C118524514","wikidata":"https://www.wikidata.org/wiki/Q173212","display_name":"Computer architecture","level":1,"score":0.3218764066696167},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.14162886142730713},{"id":"https://openalex.org/C162324750","wikidata":"https://www.wikidata.org/wiki/Q8134","display_name":"Economics","level":0,"score":0.0},{"id":"https://openalex.org/C76155785","wikidata":"https://www.wikidata.org/wiki/Q418","display_name":"Telecommunications","level":1,"score":0.0},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.0},{"id":"https://openalex.org/C187736073","wikidata":"https://www.wikidata.org/wiki/Q2920921","display_name":"Management","level":1,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3485482","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3485482","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3485482","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},{"id":"pmh:oai:research-information.bris.ac.uk:openaire/0bc4af5f-a889-4bb9-b37b-9fe33bf0338f","is_oa":true,"landing_page_url":"https://research-information.bris.ac.uk/en/publications/0bc4af5f-a889-4bb9-b37b-9fe33bf0338f","pdf_url":null,"source":{"id":"https://openalex.org/S7407055359","display_name":"Explore Bristol Research","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Yamaguchi, M, Matsuda, K, David, C & Wang, M 2021, Synbit : Synthesizing Bidirectional Programs using Unidirectional Sketches. in ACM on Programming Languages : OOPSLA. OOPSLA edn, vol. 5, 105, Proceedings of the ACM on Programming Languages, Association for Computing Machinery, pp. 1-31. https://doi.org/10.1145/3485482","raw_type":"contributionToPeriodical"}],"best_oa_location":{"id":"doi:10.1145/3485482","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3485482","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3485482","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G2828224010","display_name":null,"funder_award_id":"15H02681, 19K11892, 20H04161, JPJSBP120199913","funder_id":"https://openalex.org/F4320334764","funder_display_name":"Japan Society for the Promotion of Science"},{"id":"https://openalex.org/G3226508739","display_name":"Combining Unidirectional and Bidirectional Programming","funder_award_id":"19K11892","funder_id":"https://openalex.org/F4320334764","funder_display_name":"Japan Society for the Promotion of Science"},{"id":"https://openalex.org/G3892558182","display_name":"EXHIBIT : Expressive High-Level Languages for Bidirectional Transformations","funder_award_id":"EP/T008911/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G7008587907","display_name":null,"funder_award_id":"IES\\R3\\170104, UF160079","funder_id":"https://openalex.org/F4320320006","funder_display_name":"Royal Society"},{"id":"https://openalex.org/G7583192215","display_name":null,"funder_award_id":"EP/T008911/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G8251350064","display_name":null,"funder_award_id":"15H02681","funder_id":"https://openalex.org/F4320334764","funder_display_name":"Japan Society for the Promotion of Science"}],"funders":[{"id":"https://openalex.org/F4320315567","display_name":"Kayamori Foundation of Informational Science","ror":null},{"id":"https://openalex.org/F4320315724","display_name":"Kayamori Foundation of Informational Science Advancement","ror":null},{"id":"https://openalex.org/F4320320006","display_name":"Royal Society","ror":"https://ror.org/03wnrjx87"},{"id":"https://openalex.org/F4320334627","display_name":"Engineering and Physical Sciences Research Council","ror":"https://ror.org/0439y7842"},{"id":"https://openalex.org/F4320334764","display_name":"Japan Society for the Promotion of Science","ror":"https://ror.org/00hhkn466"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W3205508149.pdf","grobid_xml":"https://content.openalex.org/works/W3205508149.grobid-xml"},"referenced_works_count":58,"referenced_works":["https://openalex.org/W37801532","https://openalex.org/W197886282","https://openalex.org/W1470114689","https://openalex.org/W1499136777","https://openalex.org/W1567793656","https://openalex.org/W1568396250","https://openalex.org/W1590649805","https://openalex.org/W1905591175","https://openalex.org/W1968796785","https://openalex.org/W1972376146","https://openalex.org/W1974514467","https://openalex.org/W2000616678","https://openalex.org/W2013596093","https://openalex.org/W2024951218","https://openalex.org/W2029408547","https://openalex.org/W2044999110","https://openalex.org/W2057292961","https://openalex.org/W2058338955","https://openalex.org/W2073378225","https://openalex.org/W2079761730","https://openalex.org/W2088527260","https://openalex.org/W2091385303","https://openalex.org/W2092546644","https://openalex.org/W2093535699","https://openalex.org/W2103463094","https://openalex.org/W2107280670","https://openalex.org/W2113582770","https://openalex.org/W2113926649","https://openalex.org/W2121357705","https://openalex.org/W2132525863","https://openalex.org/W2134734244","https://openalex.org/W2136765833","https://openalex.org/W2140403548","https://openalex.org/W2161089445","https://openalex.org/W2162741239","https://openalex.org/W2208923056","https://openalex.org/W2237682209","https://openalex.org/W2549523399","https://openalex.org/W2611450296","https://openalex.org/W2681883877","https://openalex.org/W2784646433","https://openalex.org/W2794506834","https://openalex.org/W2796830478","https://openalex.org/W2884958048","https://openalex.org/W2885066046","https://openalex.org/W2885852056","https://openalex.org/W2910204069","https://openalex.org/W2953079911","https://openalex.org/W2963821837","https://openalex.org/W2964362549","https://openalex.org/W3018689464","https://openalex.org/W3046985528","https://openalex.org/W3047089539","https://openalex.org/W3101627445","https://openalex.org/W4237412827","https://openalex.org/W4243125208","https://openalex.org/W4244238952","https://openalex.org/W4253929418"],"related_works":["https://openalex.org/W2378994405","https://openalex.org/W2385974820","https://openalex.org/W2373478030","https://openalex.org/W2378679551","https://openalex.org/W3149739944","https://openalex.org/W2392363776","https://openalex.org/W2063051341","https://openalex.org/W1494563618","https://openalex.org/W2357022711","https://openalex.org/W2358910766"],"abstract_inverted_index":{"We":[0,115],"propose":[1],"a":[2,14,24,32,40,91,109,120],"technique":[3],"for":[4,102,108],"synthesizing":[5,129],"bidirectional":[6,48,72,80,100],"programs":[7,101],"from":[8],"the":[9,27,37,45,67,76,126],"corresponding":[10],"unidirectional":[11,29,68,122],"code":[12],"plus":[13],"few":[15,110],"input/output":[16],"examples.":[17],"The":[18],"core":[19],"ideas":[20,51],"are:":[21],"(1)":[22],"constructing":[23],"sketch":[25,38],"using":[26],"given":[28],"program":[30,69],"as":[31,105,107],"specification,":[33],"and":[34,74,95],"(2)":[35],"filling":[36],"in":[39,71,90],"modular":[41],"fashion":[42],"by":[43,54],"exploiting":[44],"properties":[46],"of":[47,57,128],"programs.":[49],"These":[50],"are":[52],"enabled":[53],"our":[55,85],"choice":[56],"programming":[58],"language,":[59],"HOBiT,":[60],"which":[61],"is":[62],"specifically":[63],"designed":[64],"to":[65,98,119],"maintain":[66],"structure":[70],"programming,":[73],"keep":[75],"parts":[77],"that":[78],"control":[79],"behavior":[81],"modular.":[82],"To":[83],"evaluate":[84],"approach,":[86],"we":[87],"implemented":[88],"it":[89,97],"tool":[92,124],"called":[93],"Synbit":[94,118],"used":[96],"generate":[99],"intricate":[103],"microbenchmarks,":[104],"well":[106],"larger,":[111],"more":[112],"realistic":[113],"problems.":[114],"also":[116],"compared":[117],"state-of-the-art":[121],"synthesis":[123],"on":[125],"task":[127],"backward":[130],"computations.":[131]},"counts_by_year":[{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":3},{"year":2023,"cited_by_count":1}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
