{"id":"https://openalex.org/W4411449785","doi":"https://doi.org/10.1145/3715760","title":"ChangeGuard: Validating Code Changes via Pairwise Learning-Guided Execution","display_name":"ChangeGuard: Validating Code Changes via Pairwise Learning-Guided Execution","publication_year":2025,"publication_date":"2025-06-19","ids":{"openalex":"https://openalex.org/W4411449785","doi":"https://doi.org/10.1145/3715760"},"language":"en","primary_location":{"id":"doi:10.1145/3715760","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3715760","pdf_url":null,"source":{"id":"https://openalex.org/S4404663975","display_name":"Proceedings of the ACM on software engineering.","issn_l":"2994-970X","issn":["2994-970X"],"is_oa":false,"is_in_doaj":false,"is_core":false,"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 Software Engineering","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"hybrid","oa_url":"https://doi.org/10.1145/3715760","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5114534551","display_name":"Lars Gr\u00f6ninger","orcid":null},"institutions":[{"id":"https://openalex.org/I100066346","display_name":"University of Stuttgart","ror":"https://ror.org/04vnq7t77","country_code":"DE","type":"education","lineage":["https://openalex.org/I100066346"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Lars Gr\u00f6ninger","raw_affiliation_strings":["University of Stuttgart, Stuttgart, Germany"],"raw_orcid":"https://orcid.org/0009-0004-2384-3163","affiliations":[{"raw_affiliation_string":"University of Stuttgart, Stuttgart, Germany","institution_ids":["https://openalex.org/I100066346"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5107245746","display_name":"Beatriz Souza","orcid":"https://orcid.org/0000-0001-7978-719X"},"institutions":[{"id":"https://openalex.org/I100066346","display_name":"University of Stuttgart","ror":"https://ror.org/04vnq7t77","country_code":"DE","type":"education","lineage":["https://openalex.org/I100066346"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Beatriz Souza","raw_affiliation_strings":["University of Stuttgart, Stuttgart, Germany"],"raw_orcid":"https://orcid.org/0000-0001-7978-719X","affiliations":[{"raw_affiliation_string":"University of Stuttgart, Stuttgart, Germany","institution_ids":["https://openalex.org/I100066346"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5013438083","display_name":"Michael Pradel","orcid":"https://orcid.org/0000-0003-1623-498X"},"institutions":[{"id":"https://openalex.org/I100066346","display_name":"University of Stuttgart","ror":"https://ror.org/04vnq7t77","country_code":"DE","type":"education","lineage":["https://openalex.org/I100066346"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Michael Pradel","raw_affiliation_strings":["University of Stuttgart, Stuttgart, Germany"],"raw_orcid":"https://orcid.org/0000-0003-1623-498X","affiliations":[{"raw_affiliation_string":"University of Stuttgart, Stuttgart, Germany","institution_ids":["https://openalex.org/I100066346"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I100066346"],"apc_list":null,"apc_paid":null,"fwci":8.1067,"has_fulltext":false,"cited_by_count":4,"citation_normalized_percentile":{"value":0.97185637,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":94,"max":97},"biblio":{"volume":"2","issue":"FSE","first_page":"936","last_page":"956"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":1.0,"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":1.0,"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/T12423","display_name":"Software Reliability and Analysis Research","score":0.9977999925613403,"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/T10430","display_name":"Software Engineering Techniques and Practices","score":0.996399998664856,"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.820591926574707},{"id":"https://openalex.org/keywords/code-refactoring","display_name":"Code refactoring","score":0.7749955654144287},{"id":"https://openalex.org/keywords/kpi-driven-code-analysis","display_name":"KPI-driven code analysis","score":0.6434021592140198},{"id":"https://openalex.org/keywords/python","display_name":"Python (programming language)","score":0.5919826030731201},{"id":"https://openalex.org/keywords/code-review","display_name":"Code review","score":0.5830104351043701},{"id":"https://openalex.org/keywords/source-code","display_name":"Source code","score":0.5724735260009766},{"id":"https://openalex.org/keywords/precision-and-recall","display_name":"Precision and recall","score":0.5354530811309814},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.4958854615688324},{"id":"https://openalex.org/keywords/pairwise-comparison","display_name":"Pairwise comparison","score":0.48831698298454285},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.47441667318344116},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.4550929069519043},{"id":"https://openalex.org/keywords/machine-learning","display_name":"Machine learning","score":0.4404662251472473},{"id":"https://openalex.org/keywords/software-quality","display_name":"Software quality","score":0.4390820562839508},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.37271833419799805},{"id":"https://openalex.org/keywords/software-development","display_name":"Software development","score":0.3059627413749695},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.26929670572280884}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.820591926574707},{"id":"https://openalex.org/C152752567","wikidata":"https://www.wikidata.org/wiki/Q116877","display_name":"Code refactoring","level":3,"score":0.7749955654144287},{"id":"https://openalex.org/C121957198","wikidata":"https://www.wikidata.org/wiki/Q14365593","display_name":"KPI-driven code analysis","level":5,"score":0.6434021592140198},{"id":"https://openalex.org/C519991488","wikidata":"https://www.wikidata.org/wiki/Q28865","display_name":"Python (programming language)","level":2,"score":0.5919826030731201},{"id":"https://openalex.org/C150292731","wikidata":"https://www.wikidata.org/wiki/Q1342704","display_name":"Code review","level":5,"score":0.5830104351043701},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.5724735260009766},{"id":"https://openalex.org/C81669768","wikidata":"https://www.wikidata.org/wiki/Q2359161","display_name":"Precision and recall","level":2,"score":0.5354530811309814},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.4958854615688324},{"id":"https://openalex.org/C184898388","wikidata":"https://www.wikidata.org/wiki/Q1435712","display_name":"Pairwise comparison","level":2,"score":0.48831698298454285},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.47441667318344116},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.4550929069519043},{"id":"https://openalex.org/C119857082","wikidata":"https://www.wikidata.org/wiki/Q2539","display_name":"Machine learning","level":1,"score":0.4404662251472473},{"id":"https://openalex.org/C117447612","wikidata":"https://www.wikidata.org/wiki/Q1412670","display_name":"Software quality","level":4,"score":0.4390820562839508},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.37271833419799805},{"id":"https://openalex.org/C529173508","wikidata":"https://www.wikidata.org/wiki/Q638608","display_name":"Software development","level":3,"score":0.3059627413749695},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.26929670572280884}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3715760","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3715760","pdf_url":null,"source":{"id":"https://openalex.org/S4404663975","display_name":"Proceedings of the ACM on software engineering.","issn_l":"2994-970X","issn":["2994-970X"],"is_oa":false,"is_in_doaj":false,"is_core":false,"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 Software Engineering","raw_type":"journal-article"}],"best_oa_location":{"id":"doi:10.1145/3715760","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3715760","pdf_url":null,"source":{"id":"https://openalex.org/S4404663975","display_name":"Proceedings of the ACM on software engineering.","issn_l":"2994-970X","issn":["2994-970X"],"is_oa":false,"is_in_doaj":false,"is_core":false,"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 Software Engineering","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":32,"referenced_works":["https://openalex.org/W1592791328","https://openalex.org/W1593203335","https://openalex.org/W1655956671","https://openalex.org/W2007705030","https://openalex.org/W2041190309","https://openalex.org/W2082183626","https://openalex.org/W2087305857","https://openalex.org/W2096491586","https://openalex.org/W2105983962","https://openalex.org/W2113157806","https://openalex.org/W2125260159","https://openalex.org/W2136099030","https://openalex.org/W2147386665","https://openalex.org/W2153887189","https://openalex.org/W2605547445","https://openalex.org/W2795027827","https://openalex.org/W2912203066","https://openalex.org/W2955991060","https://openalex.org/W3001664244","https://openalex.org/W3011013751","https://openalex.org/W3040728396","https://openalex.org/W3045595218","https://openalex.org/W3104449953","https://openalex.org/W3105867435","https://openalex.org/W4226489196","https://openalex.org/W4248491408","https://openalex.org/W4306407754","https://openalex.org/W4308641593","https://openalex.org/W4312691533","https://openalex.org/W4313203541","https://openalex.org/W4384304865","https://openalex.org/W4389162118"],"related_works":["https://openalex.org/W2904997879","https://openalex.org/W4287330506","https://openalex.org/W2946499381","https://openalex.org/W4312695097","https://openalex.org/W2768849824","https://openalex.org/W3163579316","https://openalex.org/W4221143518","https://openalex.org/W2795746234","https://openalex.org/W4312556806","https://openalex.org/W2999298589"],"abstract_inverted_index":{"Code":[0],"changes":[1,13,114,126,142,159,200],"are":[2,14],"an":[3,57],"integral":[4],"part":[5],"of":[6,68,80,88,96,109,124,146,151,172,180,187,211],"the":[7,18,37,43,65,77,92,97,137,168,173,177,203,209],"software":[8],"development":[9,204],"process.":[10],"Many":[11],"code":[12,19,34,44,113,125,131,141,163,182,213],"meant":[15],"to":[16,63,106,121],"improve":[17,91],"without":[20],"changing":[21],"its":[22],"functional":[23],"behavior,":[24],"e.g.,":[25],"refactorings":[26],"and":[27,84,94,120,148,153,206],"performance":[28],"improvements.":[29],"Unfortunately,":[30],"validating":[31],"whether":[32],"a":[33,50,69,86,107,144,149,185],"change":[35,45],"preserves":[36],"behavior":[38,67],"is":[39,46,74],"non-trivial,":[40],"particularly":[41],"when":[42],"performed":[47],"deep":[48],"inside":[49],"complex":[51],"project.":[52],"This":[53],"paper":[54],"presents":[55],"ChangeGuard,":[56],"approach":[58,73,138,193],"that":[59,90,136,154],"uses":[60],"learning-guided":[61,82,99],"execution":[62,83,100],"compare":[64],"runtime":[66],"modified":[70],"function.":[71],"The":[72],"enabled":[75],"by":[76,85,128,161],"novel":[78],"concept":[79],"pairwise":[81],"set":[87],"techniques":[89],"robustness":[93],"coverage":[95],"state-of-the-art":[98],"technique.":[101],"Our":[102,133],"evaluation":[103],"applies":[104],"ChangeGuard":[105],"dataset":[108],"224":[110],"manually":[111],"annotated":[112],"from":[115],"popular":[116],"Python":[117],"open-source":[118],"projects":[119,175],"three":[122],"datasets":[123],"obtained":[127],"applying":[129],"automated":[130,212],"transformations.":[132,214],"results":[134],"show":[135],"identifies":[139],"semantics-changing":[140,181],"with":[143,184],"precision":[145],"77.1%":[147],"recall":[150,186],"69.5%,":[152],"it":[155],"detects":[156],"unexpected":[157],"behavioral":[158,199],"introduced":[160],"automatic":[162],"refactoring":[164],"tools.":[165],"In":[166],"contrast,":[167],"existing":[169],"regression":[170],"tests":[171],"analyzed":[174],"miss":[176],"vast":[178],"majority":[179],"changes,":[183],"only":[188],"7.6%.":[189],"We":[190],"envision":[191],"our":[192],"being":[194],"useful":[195],"for":[196,207],"detecting":[197],"unintended":[198],"early":[201],"in":[202],"process":[205],"improving":[208],"quality":[210]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":3}],"updated_date":"2026-05-21T06:26:12.895304","created_date":"2025-10-10T00:00:00"}
