{"id":"https://openalex.org/W4400582773","doi":"https://doi.org/10.1145/3643782","title":"Understanding the Impact of APIs Behavioral Breaking Changes on Client Applications","display_name":"Understanding the Impact of APIs Behavioral Breaking Changes on Client Applications","publication_year":2024,"publication_date":"2024-07-12","ids":{"openalex":"https://openalex.org/W4400582773","doi":"https://doi.org/10.1145/3643782"},"language":"en","primary_location":{"id":"doi:10.1145/3643782","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3643782","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3643782","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://dl.acm.org/doi/pdf/10.1145/3643782","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5043383315","display_name":"Dhanushka Jayasuriya","orcid":"https://orcid.org/0000-0001-6172-0472"},"institutions":[{"id":"https://openalex.org/I154130895","display_name":"University of Auckland","ror":"https://ror.org/03b94tp07","country_code":"NZ","type":"education","lineage":["https://openalex.org/I154130895"]}],"countries":["NZ"],"is_corresponding":true,"raw_author_name":"Dhanushka Jayasuriya","raw_affiliation_strings":["University of Auckland, Auckland, New Zealand"],"affiliations":[{"raw_affiliation_string":"University of Auckland, Auckland, New Zealand","institution_ids":["https://openalex.org/I154130895"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5068101658","display_name":"Valerio Terragni","orcid":"https://orcid.org/0000-0001-5885-9297"},"institutions":[{"id":"https://openalex.org/I154130895","display_name":"University of Auckland","ror":"https://ror.org/03b94tp07","country_code":"NZ","type":"education","lineage":["https://openalex.org/I154130895"]}],"countries":["NZ"],"is_corresponding":false,"raw_author_name":"Valerio Terragni","raw_affiliation_strings":["University of Auckland, Auckland, New Zealand"],"affiliations":[{"raw_affiliation_string":"University of Auckland, Auckland, New Zealand","institution_ids":["https://openalex.org/I154130895"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5075091948","display_name":"Jens Dietrich","orcid":"https://orcid.org/0000-0001-9019-6550"},"institutions":[{"id":"https://openalex.org/I41156924","display_name":"Victoria University of Wellington","ror":"https://ror.org/0040r6f76","country_code":"NZ","type":"education","lineage":["https://openalex.org/I41156924"]}],"countries":["NZ"],"is_corresponding":false,"raw_author_name":"Jens Dietrich","raw_affiliation_strings":["Victoria University of Wellington, Wellington, New Zealand"],"affiliations":[{"raw_affiliation_string":"Victoria University of Wellington, Wellington, New Zealand","institution_ids":["https://openalex.org/I41156924"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5039326697","display_name":"Kelly Blincoe","orcid":"https://orcid.org/0000-0003-4092-9706"},"institutions":[{"id":"https://openalex.org/I154130895","display_name":"University of Auckland","ror":"https://ror.org/03b94tp07","country_code":"NZ","type":"education","lineage":["https://openalex.org/I154130895"]}],"countries":["NZ"],"is_corresponding":false,"raw_author_name":"Kelly Blincoe","raw_affiliation_strings":["University of Auckland, Auckland, New Zealand"],"affiliations":[{"raw_affiliation_string":"University of Auckland, Auckland, New Zealand","institution_ids":["https://openalex.org/I154130895"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5043383315"],"corresponding_institution_ids":["https://openalex.org/I154130895"],"apc_list":null,"apc_paid":null,"fwci":6.3826,"has_fulltext":false,"cited_by_count":8,"citation_normalized_percentile":{"value":0.96521782,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":96,"max":98},"biblio":{"volume":"1","issue":"FSE","first_page":"1238","last_page":"1261"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9998000264167786,"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.9998000264167786,"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.9995999932289124,"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/T12423","display_name":"Software Reliability and Analysis Research","score":0.9995999932289124,"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.7557822465896606},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.6185551881790161},{"id":"https://openalex.org/keywords/dependency","display_name":"Dependency (UML)","score":0.4943573474884033},{"id":"https://openalex.org/keywords/software-versioning","display_name":"Software versioning","score":0.4765934646129608},{"id":"https://openalex.org/keywords/change-impact-analysis","display_name":"Change impact analysis","score":0.4461718499660492},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.33900097012519836},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.29678064584732056},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.19858062267303467}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7557822465896606},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.6185551881790161},{"id":"https://openalex.org/C19768560","wikidata":"https://www.wikidata.org/wiki/Q320727","display_name":"Dependency (UML)","level":2,"score":0.4943573474884033},{"id":"https://openalex.org/C198140048","wikidata":"https://www.wikidata.org/wiki/Q10859422","display_name":"Software versioning","level":3,"score":0.4765934646129608},{"id":"https://openalex.org/C164691408","wikidata":"https://www.wikidata.org/wiki/Q5071844","display_name":"Change impact analysis","level":3,"score":0.4461718499660492},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.33900097012519836},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.29678064584732056},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.19858062267303467}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3643782","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3643782","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3643782","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"},{"id":"pmh:oai:researchspace.auckland.ac.nz:2292/68307","is_oa":true,"landing_page_url":"https://hdl.handle.net/2292/68307","pdf_url":null,"source":{"id":"https://openalex.org/S7407055463","display_name":"ResearchSpace (University of Auckland)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I154130895","host_organization_name":"University of Auckland","host_organization_lineage":["https://openalex.org/I154130895"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"Conference Item"}],"best_oa_location":{"id":"doi:10.1145/3643782","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3643782","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3643782","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":{"pdf":true,"grobid_xml":false},"content_urls":{"pdf":"https://content.openalex.org/works/W4400582773.pdf"},"referenced_works_count":55,"referenced_works":["https://openalex.org/W184125818","https://openalex.org/W1971650562","https://openalex.org/W1988281920","https://openalex.org/W2015937909","https://openalex.org/W2037797835","https://openalex.org/W2041713059","https://openalex.org/W2078410218","https://openalex.org/W2081757705","https://openalex.org/W2084240154","https://openalex.org/W2095802649","https://openalex.org/W2140021378","https://openalex.org/W2337042987","https://openalex.org/W2600915151","https://openalex.org/W2734752324","https://openalex.org/W2765843494","https://openalex.org/W2783404025","https://openalex.org/W2784876765","https://openalex.org/W2796104318","https://openalex.org/W2883146311","https://openalex.org/W2889097348","https://openalex.org/W2889185980","https://openalex.org/W2898382837","https://openalex.org/W2898651898","https://openalex.org/W2922836104","https://openalex.org/W2945486631","https://openalex.org/W2953482240","https://openalex.org/W2964232059","https://openalex.org/W2965300162","https://openalex.org/W2967160941","https://openalex.org/W2990868959","https://openalex.org/W2998287930","https://openalex.org/W3087188903","https://openalex.org/W3088691441","https://openalex.org/W3089614391","https://openalex.org/W3090050283","https://openalex.org/W3094949573","https://openalex.org/W3099458900","https://openalex.org/W3102799430","https://openalex.org/W3109716606","https://openalex.org/W3109947658","https://openalex.org/W3121596715","https://openalex.org/W3127006109","https://openalex.org/W3128866028","https://openalex.org/W3133764566","https://openalex.org/W3162867182","https://openalex.org/W3184420437","https://openalex.org/W3195348753","https://openalex.org/W3205678849","https://openalex.org/W4233144757","https://openalex.org/W4254188649","https://openalex.org/W4313563521","https://openalex.org/W4317209725","https://openalex.org/W4318831784","https://openalex.org/W4384155578","https://openalex.org/W6967719946"],"related_works":["https://openalex.org/W1503327463","https://openalex.org/W2067317451","https://openalex.org/W2197476572","https://openalex.org/W3196043647","https://openalex.org/W1559774818","https://openalex.org/W2033127342","https://openalex.org/W2044501837","https://openalex.org/W4367857396","https://openalex.org/W2105761951","https://openalex.org/W2025154253"],"abstract_inverted_index":{"Libraries":[0],"play":[1],"a":[2,108,154,206,230],"significant":[3],"role":[4],"in":[5,64],"software":[6,62],"development":[7,17],"as":[8,242],"they":[9,22],"provide":[10],"reusable":[11],"functionality,":[12,30],"which":[13,162,238],"helps":[14],"expedite":[15],"the":[16,43,55,65,68,133,143,177,212,219,254,261],"process.":[18],"As":[19],"libraries":[20,50],"evolve,":[21],"release":[23],"new":[24,29],"versions":[25],"with":[26],"optimisations":[27],"like":[28],"bug":[31],"fixes,":[32],"and":[33,81,100,121,175,245],"patches":[34],"for":[35],"known":[36],"security":[37],"vulnerabilities.":[38],"To":[39],"obtain":[40],"these":[41,49,186,221,236],"optimisations,":[42],"client":[44,104,149,178,194,227],"applications":[45],"that":[46,183,192,199,253],"depend":[47],"on":[48,92,103,124,139,148,226],"must":[51],"update":[52,69],"to":[53,131,235,265],"use":[54],"latest":[56],"version.":[57],"However,":[58],"this":[59],"can":[60,76],"cause":[61],"failures":[63],"clients":[66,140],"if":[67],"includes":[70],"breaking":[71,74,84,94,115,136,190,201,223],"changes.":[72,85],"These":[73],"changes":[75,95,116,137,191,202,224],"be":[77],"divided":[78],"into":[79],"syntactic":[80,93],"semantic":[82,213],"(behavioral)":[83],"While":[86],"there":[87,106],"has":[88],"been":[89],"considerable":[90],"research":[91,112],"introduced":[96,117,204],"between":[97],"library":[98,119,255],"updates":[99,120,147,187],"their":[101,122],"impact":[102,134,144],"projects,":[105],"is":[107],"notable":[109],"lack":[110],"of":[111,145,156,185,232],"regarding":[113],"behavioral":[114,135,189,222],"during":[118,205],"impacts":[123],"clients.":[125],"We":[126,152,170,181,216],"conducted":[127],"an":[128],"empirical":[129],"analysis":[130],"identify":[132],"have":[138,225],"by":[141],"examining":[142],"dependency":[146,209],"test":[150,179],"suites.":[151,180],"examined":[153],"set":[155],"java":[157],"projects":[158],"built":[159],"using":[160],"Maven,":[161],"included":[163],"30,548":[164],"dependencies":[165,174],"under":[166],"8,086":[167],"Maven":[168],"artifacts.":[169],"automatically":[171],"updated":[172],"out-of-date":[173],"ran":[176],"found":[182],"2.30%":[184],"had":[188],"impacted":[193],"tests.":[195],"Our":[196,249],"results":[197,250],"show":[198],"most":[200],"were":[203],"non-":[207],"Major":[208],"update,":[210],"violating":[211],"versioning":[214],"scheme.":[215],"further":[217,251],"analyzed":[218],"effects":[220,233],"tests.We":[228],"present":[229],"taxonomy":[231],"related":[234],"changes,":[237],"we":[239],"broadly":[240],"categorize":[241],"Test":[243,246],"Failures":[244],"Errors":[247],".":[248],"indicate":[252],"developers":[256],"did":[257],"not":[258],"adequately":[259],"document":[260],"exceptions":[262],"thrown":[263],"due":[264],"precondition":[266],"violations.":[267]},"counts_by_year":[{"year":2025,"cited_by_count":5},{"year":2024,"cited_by_count":3}],"updated_date":"2026-03-18T14:38:29.013473","created_date":"2025-10-10T00:00:00"}
