{"id":"https://openalex.org/W2885066046","doi":"https://doi.org/10.1145/3236775","title":"Synthesizing quotient lenses","display_name":"Synthesizing quotient lenses","publication_year":2018,"publication_date":"2018-07-30","ids":{"openalex":"https://openalex.org/W2885066046","doi":"https://doi.org/10.1145/3236775","mag":"2885066046"},"language":"en","primary_location":{"id":"doi:10.1145/3236775","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3236775","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3236775","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":"cc-by","license_id":"https://openalex.org/licenses/cc-by","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/3236775","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5053070520","display_name":"Solomon Maina","orcid":null},"institutions":[{"id":"https://openalex.org/I36788626","display_name":"California University of Pennsylvania","ror":"https://ror.org/01spssf70","country_code":"US","type":"education","lineage":["https://openalex.org/I36788626"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Solomon Maina","raw_affiliation_strings":["University of Pennsylvania, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Pennsylvania, USA","institution_ids":["https://openalex.org/I36788626"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5001856793","display_name":"Anders Miltner","orcid":"https://orcid.org/0000-0002-8338-4008"},"institutions":[{"id":"https://openalex.org/I20089843","display_name":"Princeton University","ror":"https://ror.org/00hx57361","country_code":"US","type":"education","lineage":["https://openalex.org/I20089843"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Anders Miltner","raw_affiliation_strings":["Princeton University, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Princeton University, USA","institution_ids":["https://openalex.org/I20089843"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5056099984","display_name":"Kathleen Fisher","orcid":"https://orcid.org/0000-0001-5249-2615"},"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":"Kathleen Fisher","raw_affiliation_strings":["Tufts University, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Tufts University, USA","institution_ids":["https://openalex.org/I121934306"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5085361253","display_name":"Benjamin C. Pierce","orcid":"https://orcid.org/0000-0001-7839-1636"},"institutions":[{"id":"https://openalex.org/I36788626","display_name":"California University of Pennsylvania","ror":"https://ror.org/01spssf70","country_code":"US","type":"education","lineage":["https://openalex.org/I36788626"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Benjamin C. Pierce","raw_affiliation_strings":["University of Pennsylvania, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Pennsylvania, USA","institution_ids":["https://openalex.org/I36788626"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5049454219","display_name":"David Walker","orcid":"https://orcid.org/0000-0003-3681-149X"},"institutions":[{"id":"https://openalex.org/I20089843","display_name":"Princeton University","ror":"https://ror.org/00hx57361","country_code":"US","type":"education","lineage":["https://openalex.org/I20089843"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"David Walker","raw_affiliation_strings":["Princeton University, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Princeton University, USA","institution_ids":["https://openalex.org/I20089843"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5041830534","display_name":"Steve Zdancewic","orcid":"https://orcid.org/0000-0002-3516-1512"},"institutions":[{"id":"https://openalex.org/I36788626","display_name":"California University of Pennsylvania","ror":"https://ror.org/01spssf70","country_code":"US","type":"education","lineage":["https://openalex.org/I36788626"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Steve Zdancewic","raw_affiliation_strings":["University of Pennsylvania, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Pennsylvania, USA","institution_ids":["https://openalex.org/I36788626"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":3.2214,"has_fulltext":false,"cited_by_count":13,"citation_normalized_percentile":{"value":0.9353001,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":98},"biblio":{"volume":"2","issue":"ICFP","first_page":"1","last_page":"29"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T12479","display_name":"Web Application Security Vulnerabilities","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"}},"topics":[{"id":"https://openalex.org/T12479","display_name":"Web Application Security Vulnerabilities","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/T10126","display_name":"Logic, programming, and type systems","score":0.9984999895095825,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"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.9976999759674072,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/bijection","display_name":"Bijection","score":0.8842378854751587},{"id":"https://openalex.org/keywords/quotient","display_name":"Quotient","score":0.678756058216095},{"id":"https://openalex.org/keywords/lens","display_name":"Lens (geology)","score":0.5519567728042603},{"id":"https://openalex.org/keywords/equivalence","display_name":"Equivalence (formal languages)","score":0.4572855830192566},{"id":"https://openalex.org/keywords/rewriting","display_name":"Rewriting","score":0.42246460914611816},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.42219078540802},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.3687877058982849},{"id":"https://openalex.org/keywords/algebra-over-a-field","display_name":"Algebra over a field","score":0.3451361060142517},{"id":"https://openalex.org/keywords/pure-mathematics","display_name":"Pure mathematics","score":0.3304414749145508},{"id":"https://openalex.org/keywords/discrete-mathematics","display_name":"Discrete mathematics","score":0.23621588945388794},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.1407126486301422},{"id":"https://openalex.org/keywords/physics","display_name":"Physics","score":0.10630211234092712}],"concepts":[{"id":"https://openalex.org/C24424167","wikidata":"https://www.wikidata.org/wiki/Q180907","display_name":"Bijection","level":2,"score":0.8842378854751587},{"id":"https://openalex.org/C199422724","wikidata":"https://www.wikidata.org/wiki/Q41118","display_name":"Quotient","level":2,"score":0.678756058216095},{"id":"https://openalex.org/C15336307","wikidata":"https://www.wikidata.org/wiki/Q1766051","display_name":"Lens (geology)","level":2,"score":0.5519567728042603},{"id":"https://openalex.org/C2780069185","wikidata":"https://www.wikidata.org/wiki/Q7977945","display_name":"Equivalence (formal languages)","level":2,"score":0.4572855830192566},{"id":"https://openalex.org/C154690210","wikidata":"https://www.wikidata.org/wiki/Q1668499","display_name":"Rewriting","level":2,"score":0.42246460914611816},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.42219078540802},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.3687877058982849},{"id":"https://openalex.org/C136119220","wikidata":"https://www.wikidata.org/wiki/Q1000660","display_name":"Algebra over a field","level":2,"score":0.3451361060142517},{"id":"https://openalex.org/C202444582","wikidata":"https://www.wikidata.org/wiki/Q837863","display_name":"Pure mathematics","level":1,"score":0.3304414749145508},{"id":"https://openalex.org/C118615104","wikidata":"https://www.wikidata.org/wiki/Q121416","display_name":"Discrete mathematics","level":1,"score":0.23621588945388794},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.1407126486301422},{"id":"https://openalex.org/C121332964","wikidata":"https://www.wikidata.org/wiki/Q413","display_name":"Physics","level":0,"score":0.10630211234092712},{"id":"https://openalex.org/C120665830","wikidata":"https://www.wikidata.org/wiki/Q14620","display_name":"Optics","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3236775","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3236775","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3236775","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":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"}],"best_oa_location":{"id":"doi:10.1145/3236775","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3236775","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3236775","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":"cc-by","license_id":"https://openalex.org/licenses/cc-by","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/G3779879696","display_name":null,"funder_award_id":"568751","funder_id":"https://openalex.org/F4320337345","funder_display_name":"Office of Naval Research"},{"id":"https://openalex.org/G4713059963","display_name":null,"funder_award_id":"FA8750","funder_id":"https://openalex.org/F4320332180","funder_display_name":"Defense Advanced Research Projects Agency"},{"id":"https://openalex.org/G8829250511","display_name":null,"funder_award_id":"FA8750-17-2-0028","funder_id":"https://openalex.org/F4320332180","funder_display_name":"Defense Advanced Research Projects Agency"}],"funders":[{"id":"https://openalex.org/F4320332180","display_name":"Defense Advanced Research Projects Agency","ror":"https://ror.org/02caytj08"},{"id":"https://openalex.org/F4320337345","display_name":"Office of Naval Research","ror":"https://ror.org/00rk2pe57"}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2885066046.pdf","grobid_xml":"https://content.openalex.org/works/W2885066046.grobid-xml"},"referenced_works_count":24,"referenced_works":["https://openalex.org/W175712399","https://openalex.org/W1176341022","https://openalex.org/W1506770266","https://openalex.org/W1506888682","https://openalex.org/W1858945639","https://openalex.org/W1937976299","https://openalex.org/W1968796785","https://openalex.org/W1977967478","https://openalex.org/W2000616678","https://openalex.org/W2000862401","https://openalex.org/W2013596093","https://openalex.org/W2047652936","https://openalex.org/W2065329384","https://openalex.org/W2093535699","https://openalex.org/W2116271809","https://openalex.org/W2132525863","https://openalex.org/W2151592950","https://openalex.org/W2157976942","https://openalex.org/W2294683416","https://openalex.org/W2294798463","https://openalex.org/W2550471858","https://openalex.org/W2560375603","https://openalex.org/W2963821837","https://openalex.org/W4285719527"],"related_works":["https://openalex.org/W2952259524","https://openalex.org/W2279732055","https://openalex.org/W2995857455","https://openalex.org/W4288805235","https://openalex.org/W2027277382","https://openalex.org/W4287020903","https://openalex.org/W1508013399","https://openalex.org/W2998840281","https://openalex.org/W4390647552","https://openalex.org/W131040450"],"abstract_inverted_index":{"Quotient":[0],"lenses":[1,83,94,134,137,203,248],"are":[2,8],"bidirectional":[3,234],"transformations":[4],"whose":[5],"correctness":[6],"laws":[7],"\u201cloosened\u201d":[9],"by":[10,245],"specified":[11],"equivalence":[12,126],"relations,":[13],"allowing":[14,64],"inessential":[15,111],"details":[16],"in":[17,43,56,95,187,190,254],"concrete":[18],"data":[19,115,165,252],"formats":[20,253],"to":[21,33,69,90,176,200,232],"be":[22,60,153],"suppressed.":[23],"For":[24],"example,":[25],"a":[26,30,35,65,75,121,146,156,173,188,205],"programmer":[27],"could":[28],"use":[29],"quotient":[31,93,101],"lens":[32,151,159,175,189,227],"define":[34],"transformation":[36],"that":[37,47,108,148,160,171],"ignores":[38],"the":[39,52,62,168,179,233,240,255],"order":[40],"of":[41,113,207,242],"fields":[42,54],"XML":[44,49],"data,":[45],"so":[46],"two":[48],"files":[50],"with":[51],"same":[53],"but":[55],"different":[57],"orders":[58],"would":[59],"considered":[61],"same,":[63],"single,":[66],"simple":[67],"program":[68],"handle":[70],"them":[71],"both.":[72],"Building":[73],"on":[74,128,216],"recently":[76],"published":[77],"algorithm":[78],"for":[79],"synthesizing":[80,217,246],"plain":[81,218],"bijective":[82,92,174,219],"from":[84,204],"high-level":[85],"specifications,":[86],"we":[87,99,131,195],"show":[88],"how":[89],"synthesize":[91,201],"three":[96],"steps.":[97],"First,":[98],"introduce":[100,132],"regular":[102,106,122],"expressions":[103,107],"(QREs),":[104],"annotated":[105],"conveniently":[109],"mark":[110],"aspects":[112],"string":[114],"formats;":[116],"each":[117],"QRE":[118,133,150,202,226,247],"specifies,":[119],"simulteneously,":[120],"language":[123,236],"and":[124,163,170,209,225],"an":[125,230],"relation":[127],"it.":[129],"Second,":[130],",":[135],"i.e.,":[136],"mapping":[138],"between":[139,178,249],"QREs.":[140],"Our":[141],"key":[142],"technical":[143],"result":[144],"is":[145],"proof":[147],"every":[149],"can":[152],"transformed":[154],"into":[155],"functionally":[157],"equivalent":[158],"canonizes":[161],"source":[162],"target":[164],"just":[166],"at":[167],"\u201cedges\u201d":[169],"uses":[172],"map":[177],"respective":[180],"canonical":[181],"elements;":[182],"no":[183],"internal":[184],"canonization":[185],"occurs":[186],"this":[191,197],"normal":[192],"form.":[193],"Third,":[194],"leverage":[196],"normalization":[198],"theorem":[199],"pair":[206],"QREs":[208,224],"example":[210],"input-output":[211],"pairs,":[212],"reusing":[213],"earlier":[214],"work":[215],"lenses.":[220],"We":[221,238],"have":[222],"implemented":[223],"synthesis":[228],"as":[229],"extension":[231],"programming":[235],"Boomerang.":[237],"evaluate":[239],"effectiveness":[241],"our":[243],"approach":[244],"various":[250],"real-world":[251],"Optician":[256],"benchmark":[257],"suite.":[258]},"counts_by_year":[{"year":2026,"cited_by_count":2},{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":2},{"year":2021,"cited_by_count":2},{"year":2020,"cited_by_count":2},{"year":2019,"cited_by_count":3},{"year":2018,"cited_by_count":1}],"updated_date":"2026-05-21T06:26:12.895304","created_date":"2025-10-10T00:00:00"}
