{"id":"https://openalex.org/W2603957037","doi":"https://doi.org/10.22152/programming-journal.org/2017/1/13","title":"Edit Transactions: Dynamically Scoped Change Sets for Controlled Updates in Live Programming","display_name":"Edit Transactions: Dynamically Scoped Change Sets for Controlled Updates in Live Programming","publication_year":2017,"publication_date":"2017-03-31","ids":{"openalex":"https://openalex.org/W2603957037","doi":"https://doi.org/10.22152/programming-journal.org/2017/1/13","mag":"2603957037"},"language":"en","primary_location":{"id":"doi:10.22152/programming-journal.org/2017/1/13","is_oa":true,"landing_page_url":"https://doi.org/10.22152/programming-journal.org/2017/1/13","pdf_url":"https://arxiv.org/pdf/1703.10862v1","source":{"id":"https://openalex.org/S4210199781","display_name":"The Art Science and Engineering of Programming","issn_l":"2473-7321","issn":["2473-7321"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"The Art, Science, and Engineering of Programming","raw_type":"journal-article"},"type":"article","indexed_in":["arxiv","crossref"],"open_access":{"is_oa":true,"oa_status":"hybrid","oa_url":"https://arxiv.org/pdf/1703.10862v1","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":null,"display_name":"Toni Mattis","orcid":null},"institutions":[{"id":"https://openalex.org/I143288331","display_name":"Hasso Plattner Institute","ror":"https://ror.org/058rn5r42","country_code":"DE","type":"facility","lineage":["https://openalex.org/I143288331","https://openalex.org/I176453806"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Toni Mattis","raw_affiliation_strings":["Hasso Plattner Institute, Germany"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Hasso Plattner Institute, Germany","institution_ids":["https://openalex.org/I143288331"]}]},{"author_position":"middle","author":{"id":null,"display_name":"Patrick Rein","orcid":null},"institutions":[{"id":"https://openalex.org/I143288331","display_name":"Hasso Plattner Institute","ror":"https://ror.org/058rn5r42","country_code":"DE","type":"facility","lineage":["https://openalex.org/I143288331","https://openalex.org/I176453806"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Patrick Rein","raw_affiliation_strings":["Hasso Plattner Institute, Germany"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Hasso Plattner Institute, Germany","institution_ids":["https://openalex.org/I143288331"]}]},{"author_position":"last","author":{"id":null,"display_name":"Robert Hirschfeld","orcid":null},"institutions":[{"id":"https://openalex.org/I143288331","display_name":"Hasso Plattner Institute","ror":"https://ror.org/058rn5r42","country_code":"DE","type":"facility","lineage":["https://openalex.org/I143288331","https://openalex.org/I176453806"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Robert Hirschfeld","raw_affiliation_strings":["Hasso Plattner Institute, Germany"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Hasso Plattner Institute, Germany","institution_ids":["https://openalex.org/I143288331"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I143288331"],"apc_list":null,"apc_paid":null,"fwci":0.6307,"has_fulltext":true,"cited_by_count":5,"citation_normalized_percentile":{"value":0.75991393,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":97},"biblio":{"volume":"1","issue":"2","first_page":null,"last_page":null},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.19679999351501465,"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.19679999351501465,"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.13359999656677246,"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.10679999738931656,"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/liveness","display_name":"Liveness","score":0.7184000015258789},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.6207000017166138},{"id":"https://openalex.org/keywords/sequence","display_name":"Sequence (biology)","score":0.4643000066280365},{"id":"https://openalex.org/keywords/immediacy","display_name":"Immediacy","score":0.4415000081062317},{"id":"https://openalex.org/keywords/quality","display_name":"Quality (philosophy)","score":0.4325999915599823},{"id":"https://openalex.org/keywords/heuristic","display_name":"Heuristic","score":0.3675999939441681},{"id":"https://openalex.org/keywords/sequence-diagram","display_name":"Sequence diagram","score":0.34150001406669617},{"id":"https://openalex.org/keywords/deadlock","display_name":"Deadlock","score":0.3118000030517578}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8345000147819519},{"id":"https://openalex.org/C15569618","wikidata":"https://www.wikidata.org/wiki/Q3561421","display_name":"Liveness","level":2,"score":0.7184000015258789},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.6207000017166138},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6067000031471252},{"id":"https://openalex.org/C2778112365","wikidata":"https://www.wikidata.org/wiki/Q3511065","display_name":"Sequence (biology)","level":2,"score":0.4643000066280365},{"id":"https://openalex.org/C2780340563","wikidata":"https://www.wikidata.org/wiki/Q2811064","display_name":"Immediacy","level":2,"score":0.4415000081062317},{"id":"https://openalex.org/C2779530757","wikidata":"https://www.wikidata.org/wiki/Q1207505","display_name":"Quality (philosophy)","level":2,"score":0.4325999915599823},{"id":"https://openalex.org/C173801870","wikidata":"https://www.wikidata.org/wiki/Q201413","display_name":"Heuristic","level":2,"score":0.3675999939441681},{"id":"https://openalex.org/C153185123","wikidata":"https://www.wikidata.org/wiki/Q1391624","display_name":"Sequence diagram","level":4,"score":0.34150001406669617},{"id":"https://openalex.org/C159023740","wikidata":"https://www.wikidata.org/wiki/Q623276","display_name":"Deadlock","level":2,"score":0.3118000030517578},{"id":"https://openalex.org/C2781238097","wikidata":"https://www.wikidata.org/wiki/Q175026","display_name":"Object (grammar)","level":2,"score":0.302700012922287},{"id":"https://openalex.org/C2778000800","wikidata":"https://www.wikidata.org/wiki/Q830043","display_name":"Handshake","level":3,"score":0.2833000123500824},{"id":"https://openalex.org/C162319229","wikidata":"https://www.wikidata.org/wiki/Q175263","display_name":"Data structure","level":2,"score":0.27970001101493835},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.27720001339912415},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.27630001306533813},{"id":"https://openalex.org/C147494362","wikidata":"https://www.wikidata.org/wiki/Q2078905","display_name":"Troubleshooting","level":2,"score":0.27630001306533813},{"id":"https://openalex.org/C107457646","wikidata":"https://www.wikidata.org/wiki/Q207434","display_name":"Human\u2013computer interaction","level":1,"score":0.2734000086784363},{"id":"https://openalex.org/C18762648","wikidata":"https://www.wikidata.org/wiki/Q42213","display_name":"Work (physics)","level":2,"score":0.27079999446868896},{"id":"https://openalex.org/C124304363","wikidata":"https://www.wikidata.org/wiki/Q673661","display_name":"Abstraction","level":2,"score":0.26809999346733093},{"id":"https://openalex.org/C151319957","wikidata":"https://www.wikidata.org/wiki/Q752739","display_name":"Asynchronous communication","level":2,"score":0.2623000144958496},{"id":"https://openalex.org/C44359876","wikidata":"https://www.wikidata.org/wiki/Q5338467","display_name":"Edit distance","level":2,"score":0.2563000023365021}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.22152/programming-journal.org/2017/1/13","is_oa":true,"landing_page_url":"https://doi.org/10.22152/programming-journal.org/2017/1/13","pdf_url":"https://arxiv.org/pdf/1703.10862v1","source":{"id":"https://openalex.org/S4210199781","display_name":"The Art Science and Engineering of Programming","issn_l":"2473-7321","issn":["2473-7321"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"The Art, Science, and Engineering of Programming","raw_type":"journal-article"},{"id":"pmh:oai:arXiv.org:1703.10862","is_oa":true,"landing_page_url":"http://arxiv.org/abs/1703.10862","pdf_url":"https://arxiv.org/pdf/1703.10862","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":"2331-8422","issn":["2331-8422"],"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"text"}],"best_oa_location":{"id":"doi:10.22152/programming-journal.org/2017/1/13","is_oa":true,"landing_page_url":"https://doi.org/10.22152/programming-journal.org/2017/1/13","pdf_url":"https://arxiv.org/pdf/1703.10862v1","source":{"id":"https://openalex.org/S4210199781","display_name":"The Art Science and Engineering of Programming","issn_l":"2473-7321","issn":["2473-7321"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"The Art, Science, and Engineering of Programming","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2603957037.pdf","grobid_xml":"https://content.openalex.org/works/W2603957037.grobid-xml"},"referenced_works_count":27,"referenced_works":["https://openalex.org/W1770006921","https://openalex.org/W1970576662","https://openalex.org/W1985375927","https://openalex.org/W2020708636","https://openalex.org/W2038903004","https://openalex.org/W2045723688","https://openalex.org/W2051994214","https://openalex.org/W2053729218","https://openalex.org/W2065448151","https://openalex.org/W2084944215","https://openalex.org/W2095839043","https://openalex.org/W2096910097","https://openalex.org/W2103211722","https://openalex.org/W2111369881","https://openalex.org/W2119116101","https://openalex.org/W2144114063","https://openalex.org/W2150275961","https://openalex.org/W2172147300","https://openalex.org/W2331893321","https://openalex.org/W2488511551","https://openalex.org/W2523270633","https://openalex.org/W2536724059","https://openalex.org/W2537653752","https://openalex.org/W4212902469","https://openalex.org/W4240292906","https://openalex.org/W4245743185","https://openalex.org/W4251718404"],"related_works":[],"abstract_inverted_index":{"Live":[0],"programming":[1],"environments":[2],"enable":[3],"programmers":[4,24],"to":[5,25,62],"edit":[6,48,80],"a":[7,43,64,71],"running":[8,96],"program":[9],"and":[10,31,50],"obtain":[11],"immediate":[12],"feedback":[13],"on":[14],"each":[15,47,78],"individual":[16,79],"change.":[17],"The":[18],"liveness":[19],"quality":[20],"is":[21],"valued":[22],"by":[23],"help":[26],"work":[27],"in":[28],"small":[29,36],"steps":[30],"continuously":[32],"add":[33],"or":[34],"correct":[35],"functionality":[37],"while":[38],"maintaining":[39],"the":[40,60,95],"impression":[41],"of":[42,67,89],"direct":[44],"connection":[45],"between":[46],"operation":[49],"its":[51],"manifestation":[52],"at":[53],"run-time.":[54],"Such":[55],"immediacy":[56],"may":[57],"conflict":[58],"with":[59],"desire":[61],"perform":[63],"combined":[65],"set":[66],"intermediate":[68],"steps,":[69],"like":[70],"refactoring,":[72],"without":[73],"instantly":[74],"taking":[75],"effect":[76],"after":[77],"operation.":[81],"This":[82],"becomes":[83],"important":[84],"when":[85],"an":[86],"incomplete":[87],"sequence":[88],"small-scale":[90],"changes":[91],"can":[92],"easily":[93],"break":[94],"program.":[97]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":1},{"year":2023,"cited_by_count":1},{"year":2021,"cited_by_count":1},{"year":2018,"cited_by_count":1}],"updated_date":"2026-08-05T07:39:15.569665","created_date":"2017-04-07T00:00:00"}
