{"id":"https://openalex.org/W4362676644","doi":"https://doi.org/10.1145/3586035","title":"Bidirectional Object-Oriented Programming: Towards Programmatic and Direct Manipulation of Objects","display_name":"Bidirectional Object-Oriented Programming: Towards Programmatic and Direct Manipulation of Objects","publication_year":2023,"publication_date":"2023-04-06","ids":{"openalex":"https://openalex.org/W4362676644","doi":"https://doi.org/10.1145/3586035"},"language":"en","primary_location":{"id":"doi:10.1145/3586035","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3586035","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3586035","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/3586035","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, China"],"raw_orcid":"https://orcid.org/0009-0008-2565-7769","affiliations":[{"raw_affiliation_string":"Peking University, 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, China"],"raw_orcid":"https://orcid.org/0009-0007-0690-2119","affiliations":[{"raw_affiliation_string":"Peking University, 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, China"],"raw_orcid":"https://orcid.org/0000-0002-3000-0795","affiliations":[{"raw_affiliation_string":"University of Science and Technology Beijing, China","institution_ids":["https://openalex.org/I92403157"]}]},{"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, China"],"raw_orcid":"https://orcid.org/0000-0002-9034-205X","affiliations":[{"raw_affiliation_string":"Peking University, China","institution_ids":["https://openalex.org/I20231570"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":3.6993,"has_fulltext":true,"cited_by_count":9,"citation_normalized_percentile":{"value":0.93682683,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":94,"max":98},"biblio":{"volume":"7","issue":"OOPSLA1","first_page":"230","last_page":"255"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9997000098228455,"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.9997000098228455,"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.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/T11450","display_name":"Model-Driven Software Engineering Techniques","score":0.998199999332428,"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/computer-science","display_name":"Computer science","score":0.8501474261283875},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.8305153250694275},{"id":"https://openalex.org/keywords/class","display_name":"Class (philosophy)","score":0.5969029664993286},{"id":"https://openalex.org/keywords/object-oriented-programming","display_name":"Object-oriented programming","score":0.566874086856842},{"id":"https://openalex.org/keywords/inheritance","display_name":"Inheritance (genetic algorithm)","score":0.5588706135749817},{"id":"https://openalex.org/keywords/object","display_name":"Object (grammar)","score":0.5469375848770142},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.5205596089363098},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.5040270686149597},{"id":"https://openalex.org/keywords/core","display_name":"Core (optical fiber)","score":0.4427710771560669},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.24530935287475586}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8501474261283875},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.8305153250694275},{"id":"https://openalex.org/C2777212361","wikidata":"https://www.wikidata.org/wiki/Q5127848","display_name":"Class (philosophy)","level":2,"score":0.5969029664993286},{"id":"https://openalex.org/C73752529","wikidata":"https://www.wikidata.org/wiki/Q79872","display_name":"Object-oriented programming","level":2,"score":0.566874086856842},{"id":"https://openalex.org/C2780902518","wikidata":"https://www.wikidata.org/wiki/Q6033780","display_name":"Inheritance (genetic algorithm)","level":3,"score":0.5588706135749817},{"id":"https://openalex.org/C2781238097","wikidata":"https://www.wikidata.org/wiki/Q175026","display_name":"Object (grammar)","level":2,"score":0.5469375848770142},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.5205596089363098},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.5040270686149597},{"id":"https://openalex.org/C2164484","wikidata":"https://www.wikidata.org/wiki/Q5170150","display_name":"Core (optical fiber)","level":2,"score":0.4427710771560669},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.24530935287475586},{"id":"https://openalex.org/C104317684","wikidata":"https://www.wikidata.org/wiki/Q7187","display_name":"Gene","level":2,"score":0.0},{"id":"https://openalex.org/C185592680","wikidata":"https://www.wikidata.org/wiki/Q2329","display_name":"Chemistry","level":0,"score":0.0},{"id":"https://openalex.org/C55493867","wikidata":"https://www.wikidata.org/wiki/Q7094","display_name":"Biochemistry","level":1,"score":0.0},{"id":"https://openalex.org/C76155785","wikidata":"https://www.wikidata.org/wiki/Q418","display_name":"Telecommunications","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3586035","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3586035","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3586035","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"}],"best_oa_location":{"id":"doi:10.1145/3586035","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3586035","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3586035","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":[{"display_name":"Quality Education","id":"https://metadata.un.org/sdg/4","score":0.8199999928474426}],"awards":[{"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/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/W4362676644.pdf","grobid_xml":"https://content.openalex.org/works/W4362676644.grobid-xml"},"referenced_works_count":24,"referenced_works":["https://openalex.org/W1555897920","https://openalex.org/W1557561422","https://openalex.org/W1968796785","https://openalex.org/W2000616678","https://openalex.org/W2037471787","https://openalex.org/W2045723688","https://openalex.org/W2120436704","https://openalex.org/W2146462464","https://openalex.org/W2151592950","https://openalex.org/W2219864925","https://openalex.org/W2507500182","https://openalex.org/W2537930585","https://openalex.org/W2890873226","https://openalex.org/W2898656866","https://openalex.org/W3125193087","https://openalex.org/W4242150459","https://openalex.org/W4245974437","https://openalex.org/W4255145032","https://openalex.org/W4288091274","https://openalex.org/W4300927194","https://openalex.org/W4300961810","https://openalex.org/W6875309151","https://openalex.org/W6961057173","https://openalex.org/W6969457571"],"related_works":["https://openalex.org/W2386928530","https://openalex.org/W2912461320","https://openalex.org/W4210442184","https://openalex.org/W2921828092","https://openalex.org/W2373906875","https://openalex.org/W2903457525","https://openalex.org/W3123296078","https://openalex.org/W4241018604","https://openalex.org/W1537964674","https://openalex.org/W4386444448"],"abstract_inverted_index":{"Many":[0],"bidirectional":[1,47,88,120],"programming":[2,162],"languages,":[3],"which":[4,66],"are":[5,37],"mainly":[6],"functional":[7],"and":[8,22,53,81,127,146],"relational,":[9],"have":[10,109],"been":[11],"designed":[12],"to":[13],"support":[14],"writing":[15],"programs":[16,165],"that":[17,36,50,86,166],"run":[18],"in":[19,40],"both":[20],"forward":[21,70],"backward":[23,74],"directions.":[24],"Nevertheless,":[25],"there":[26],"is":[27,98,170],"little":[28],"study":[29],"on":[30,163],"the":[31,45,87,92,96,103,125,156],"bidirectionalization":[32],"of":[33,56,105,129,159],"object-oriented":[34,48,64,139,164],"languages":[35],"more":[38],"popular":[39],"practice.":[41],"This":[42],"paper":[43],"presents":[44],"first":[46],"language":[49],"supports":[51],"programmatic":[52],"direct":[54,160],"manipulation":[55,161],"objects.":[57],"Specifically,":[58],"we":[59,108],"carefully":[60],"extend":[61],"a":[62,68,111,142],"core":[63],"language,":[65],"has":[67],"standard":[69],"evaluation":[71,89],"semantics,":[72],"with":[73],"updating":[75],"semantics":[76,90],"for":[77,115,131,172],"class":[78],"inheritance":[79],"hierarchies":[80],"references.":[82],"We":[83,123],"formally":[84],"prove":[85],"satisfies":[91],"round-tripping":[93],"properties":[94],"if":[95],"output":[97],"altered":[99],"consistently.":[100],"To":[101],"validate":[102],"utility":[104],"our":[106],"approach,":[107],"developed":[110],"tool":[112],"called":[113],"BiOOP":[114,130],"generating":[116],"HTML":[117,132,168],"documents":[118],"through":[119],"GUI":[121],"design.":[122],"evaluate":[124],"expressiveness":[126],"effectiveness":[128],"webpage":[133],"development":[134],"by":[135],"reproducing":[136],"ten":[137],"classic":[138],"applications":[140],"from":[141,150],"Java":[143],"Swing":[144],"tutorial":[145],"one":[147],"large":[148],"project":[149],"GitHub.":[151],"The":[152],"experimental":[153],"results":[154],"show":[155],"response":[157],"time":[158],"produce":[167],"webpages":[169],"acceptable":[171],"developers.":[173]},"counts_by_year":[{"year":2025,"cited_by_count":4},{"year":2024,"cited_by_count":3},{"year":2023,"cited_by_count":2}],"updated_date":"2026-05-21T06:26:12.895304","created_date":"2025-10-10T00:00:00"}
