{"id":"https://openalex.org/W4390604666","doi":"https://doi.org/10.1145/3632883","title":"Fusing Direct Manipulations into Functional Programs","display_name":"Fusing Direct Manipulations into Functional Programs","publication_year":2024,"publication_date":"2024-01-02","ids":{"openalex":"https://openalex.org/W4390604666","doi":"https://doi.org/10.1145/3632883"},"language":"en","primary_location":{"id":"doi:10.1145/3632883","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3632883","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3632883","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-nc-sa","license_id":"https://openalex.org/licenses/cc-by-nc-sa","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/3632883","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5010958113","display_name":"Xing Zhang","orcid":"https://orcid.org/0009-0008-2565-7769"},"institutions":[{"id":"https://openalex.org/I20231570","display_name":"Peking University","ror":"https://ror.org/02v51f717","country_code":"CN","type":"education","lineage":["https://openalex.org/I20231570"]}],"countries":["CN"],"is_corresponding":false,"raw_author_name":"Xing Zhang","raw_affiliation_strings":["Peking University, Beijing, China"],"raw_orcid":"https://orcid.org/0009-0008-2565-7769","affiliations":[{"raw_affiliation_string":"Peking University, Beijing, China","institution_ids":["https://openalex.org/I20231570"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5039219488","display_name":"Ruifeng Xie","orcid":"https://orcid.org/0000-0001-7201-1954"},"institutions":[{"id":"https://openalex.org/I20231570","display_name":"Peking University","ror":"https://ror.org/02v51f717","country_code":"CN","type":"education","lineage":["https://openalex.org/I20231570"]}],"countries":["CN"],"is_corresponding":false,"raw_author_name":"Ruifeng Xie","raw_affiliation_strings":["Peking University, Beijing, China"],"raw_orcid":"https://orcid.org/0000-0001-7201-1954","affiliations":[{"raw_affiliation_string":"Peking University, Beijing, China","institution_ids":["https://openalex.org/I20231570"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5031604978","display_name":"Guanchen Guo","orcid":"https://orcid.org/0009-0007-0690-2119"},"institutions":[{"id":"https://openalex.org/I20231570","display_name":"Peking University","ror":"https://ror.org/02v51f717","country_code":"CN","type":"education","lineage":["https://openalex.org/I20231570"]}],"countries":["CN"],"is_corresponding":false,"raw_author_name":"Guanchen Guo","raw_affiliation_strings":["Peking University, Beijing, China"],"raw_orcid":"https://orcid.org/0009-0007-0690-2119","affiliations":[{"raw_affiliation_string":"Peking University, Beijing, China","institution_ids":["https://openalex.org/I20231570"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5108459503","display_name":"Xiao He","orcid":"https://orcid.org/0000-0002-3000-0795"},"institutions":[{"id":"https://openalex.org/I92403157","display_name":"University of Science and Technology Beijing","ror":"https://ror.org/02egmk993","country_code":"CN","type":"education","lineage":["https://openalex.org/I92403157"]}],"countries":["CN"],"is_corresponding":false,"raw_author_name":"Xiao He","raw_affiliation_strings":["University of Science and Technology Beijing, Beijing, China"],"raw_orcid":"https://orcid.org/0000-0002-3000-0795","affiliations":[{"raw_affiliation_string":"University of Science and Technology Beijing, Beijing, China","institution_ids":["https://openalex.org/I92403157"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5077841046","display_name":"Tao Zan","orcid":"https://orcid.org/0009-0006-3581-5324"},"institutions":[{"id":"https://openalex.org/I181361081","display_name":"Longyan University","ror":"https://ror.org/0483s5p06","country_code":"CN","type":"education","lineage":["https://openalex.org/I181361081"]}],"countries":["CN"],"is_corresponding":false,"raw_author_name":"Tao Zan","raw_affiliation_strings":["Longyan University, Longyan, China"],"raw_orcid":"https://orcid.org/0009-0006-3581-5324","affiliations":[{"raw_affiliation_string":"Longyan University, Longyan, China","institution_ids":["https://openalex.org/I181361081"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5102717988","display_name":"Zhenjiang Hu","orcid":"https://orcid.org/0000-0002-9034-205X"},"institutions":[{"id":"https://openalex.org/I20231570","display_name":"Peking University","ror":"https://ror.org/02v51f717","country_code":"CN","type":"education","lineage":["https://openalex.org/I20231570"]}],"countries":["CN"],"is_corresponding":false,"raw_author_name":"Zhenjiang Hu","raw_affiliation_strings":["Peking University, Beijing, China"],"raw_orcid":"https://orcid.org/0000-0002-9034-205X","affiliations":[{"raw_affiliation_string":"Peking University, Beijing, China","institution_ids":["https://openalex.org/I20231570"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":1.8578,"has_fulltext":true,"cited_by_count":5,"citation_normalized_percentile":{"value":0.85823755,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":96,"max":98},"biblio":{"volume":"8","issue":"POPL","first_page":"1211","last_page":"1238"},"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.9993000030517578,"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.9993000030517578,"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/T11241","display_name":"Advanced Malware Detection Techniques","score":0.9991000294685364,"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"}},{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9984999895095825,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8317272663116455},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.7545393109321594},{"id":"https://openalex.org/keywords/source-code","display_name":"Source code","score":0.6747590899467468},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.6729830503463745},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6507065892219543},{"id":"https://openalex.org/keywords/trace","display_name":"TRACE (psycholinguistics)","score":0.57300865650177},{"id":"https://openalex.org/keywords/simple","display_name":"Simple (philosophy)","score":0.4245187044143677},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.19092106819152832}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8317272663116455},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.7545393109321594},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.6747590899467468},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.6729830503463745},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6507065892219543},{"id":"https://openalex.org/C75291252","wikidata":"https://www.wikidata.org/wiki/Q1315756","display_name":"TRACE (psycholinguistics)","level":2,"score":0.57300865650177},{"id":"https://openalex.org/C2780586882","wikidata":"https://www.wikidata.org/wiki/Q7520643","display_name":"Simple (philosophy)","level":2,"score":0.4245187044143677},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.19092106819152832},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"id":"https://openalex.org/C41895202","wikidata":"https://www.wikidata.org/wiki/Q8162","display_name":"Linguistics","level":1,"score":0.0},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3632883","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3632883","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3632883","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-nc-sa","license_id":"https://openalex.org/licenses/cc-by-nc-sa","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/3632883","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3632883","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3632883","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-nc-sa","license_id":"https://openalex.org/licenses/cc-by-nc-sa","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/G6107910503","display_name":"\u57fa\u4e8e\u60c5\u5883\u7684\u9002\u5e94\u578b\u53cc\u5411\u53d8\u6362\u7a0b\u5e8f\u5408\u6210\u7684\u7814\u7a76","funder_award_id":"2021J05230","funder_id":"https://openalex.org/F4320321878","funder_display_name":"Natural Science Foundation of Fujian Province"},{"id":"https://openalex.org/G7496154104","display_name":null,"funder_award_id":"2021ZD0110202","funder_id":"https://openalex.org/F4320335777","funder_display_name":"National Key Research and Development Program of China"}],"funders":[{"id":"https://openalex.org/F4320321878","display_name":"Natural Science Foundation of Fujian Province","ror":null},{"id":"https://openalex.org/F4320335777","display_name":"National Key Research and Development Program of China","ror":null}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4390604666.pdf","grobid_xml":"https://content.openalex.org/works/W4390604666.grobid-xml"},"referenced_works_count":24,"referenced_works":["https://openalex.org/W1578028529","https://openalex.org/W1598022760","https://openalex.org/W2000616678","https://openalex.org/W2002711156","https://openalex.org/W2068742710","https://openalex.org/W2113582770","https://openalex.org/W2117818027","https://openalex.org/W2120436704","https://openalex.org/W2208923056","https://openalex.org/W2219864925","https://openalex.org/W2276356546","https://openalex.org/W2507500182","https://openalex.org/W2890873226","https://openalex.org/W3093007008","https://openalex.org/W3187301112","https://openalex.org/W4234009710","https://openalex.org/W4234229576","https://openalex.org/W4239249613","https://openalex.org/W4242410833","https://openalex.org/W4245100030","https://openalex.org/W4284687577","https://openalex.org/W4288091274","https://openalex.org/W4362676644","https://openalex.org/W6894055083"],"related_works":["https://openalex.org/W3008339103","https://openalex.org/W2404647514","https://openalex.org/W1667647204","https://openalex.org/W4247536566","https://openalex.org/W3119814709","https://openalex.org/W2018477250","https://openalex.org/W1508895727","https://openalex.org/W4241418540","https://openalex.org/W2725786787","https://openalex.org/W3081644756"],"abstract_inverted_index":{"Bidirectional":[0],"live":[1,137],"programming":[2],"systems":[3,32,84],"(BLP)":[4],"enable":[5],"developers":[6],"to":[7,30,71,74,78,89,191,220],"modify":[8],"a":[9,131,157,176,242],"program":[10,15,21,41,54,218],"by":[11,43,129],"directly":[12],"manipulating":[13],"the":[14,19,24,37,46,49,76,79,86,107,146,184,192,197,202,209,212,216,222,227,232],"output,":[16],"so":[17],"that":[18,179,215,246],"updated":[20,217],"can":[22,140],"produce":[23],"manipulated":[25,223],"output.":[26,224],"One":[27],"state-of-the-art":[28],"approach":[29],"BLP":[31,66,83],"is":[33,113],"operation-based,":[34],"which":[35,68,139],"captures":[36],"developer's":[38],"intention":[39],"of":[40,106,165,205,211,229,234],"modifications":[42,55],"taking":[44],"how":[45,111],"developer":[47],"manipulates":[48],"output":[50,88,171],"into":[51,145,183,201],"account.":[52],"The":[53],"are":[56,69],"usually":[57],"hard":[58],"coded":[59],"for":[60,135,170,250],"each":[61],"direct":[62,101,143,152,168,181,251],"manipulation":[63,102,117],"in":[64],"these":[65,82],"systems,":[67],"difficult":[70],"extend.":[72],"Moreover,":[73],"reflect":[75],"manipulations":[77,144,169,182,200],"source":[80,108,147,185],"program,":[81],"trace":[85],"modified":[87],"appropriate":[90],"code":[91,96,109,262],"fragments":[92],"and":[93,110,188,231,253],"perform":[94],"corresponding":[95],"transformations.":[97],"Accordingly,":[98],"they":[99],"require":[100],"users":[103],"be":[104,120],"aware":[105],"it":[112],"changed,":[114],"making":[115],"\u201cdirect\u201d":[116],"(on":[118],"output)":[119],"\u201cindirect\u201d.":[121],"In":[122],"this":[123,127],"paper,":[124],"we":[125,155,174,238],"resolve":[126],"problem":[128],"presenting":[130],"novel":[132],"operation-based":[133],"framework":[134],"bidirectional":[136],"programming,":[138],"automatically":[141],"fuse":[142],"code,":[148],"thus":[149],"supporting":[150],"code-insensitive":[151],"manipulations.":[153],"Firstly,":[154],"design":[156],"simple":[158],"but":[159],"expressive":[160],"delta":[161],"language":[162],"DM":[163,230],"capable":[164],"expressing":[166],"common":[167],"values.":[172],"Secondly,":[173],"present":[175],"fusion":[177,213,236],"algorithm":[178,198,214],"propagates":[180],"functional":[186],"programs":[187],"applies":[189],"them":[190],"constants":[193],"whenever":[194],"possible;":[195],"otherwise,":[196],"embeds":[199],"\u201cproper":[203],"positions\u201d":[204],"programs.":[206],"We":[207],"prove":[208],"correctness":[210],"executes":[219],"get":[221],"To":[225],"demonstrate":[226],"expressiveness":[228],"effectiveness":[233],"our":[235],"algorithm,":[237],"have":[239],"implemented":[240],"FuseDM,":[241],"prototype":[243],"SVG":[244],"editor":[245],"supports":[247],"GUI-based":[248],"operations":[249],"manipulation,":[252],"successfully":[254],"designed":[255],"14":[256],"benchmark":[257],"examples":[258],"starting":[259],"from":[260],"blank":[261],"using":[263],"FuseDM.":[264]},"counts_by_year":[{"year":2026,"cited_by_count":2},{"year":2025,"cited_by_count":3}],"updated_date":"2026-07-13T07:31:44.756512","created_date":"2025-10-10T00:00:00"}
