{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,7]],"date-time":"2026-03-07T14:17:19Z","timestamp":1772893039629,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":84,"publisher":"ACM","license":[{"start":{"date-parts":[[2020,11,8]],"date-time":"2020-11-08T00:00:00Z","timestamp":1604793600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"National Natural Science Foundation of China","award":["61802067"],"award-info":[{"award-number":["61802067"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2020,11,8]]},"DOI":"10.1145\/3368089.3409689","type":"proceedings-article","created":{"date-parts":[[2020,12,11]],"date-time":"2020-12-11T00:43:06Z","timestamp":1607647386000},"page":"518-529","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":26,"title":["Interactive, effort-aware library version harmonization"],"prefix":"10.1145","author":[{"given":"Kaifeng","family":"Huang","sequence":"first","affiliation":[{"name":"Fudan University, China"}]},{"given":"Bihuan","family":"Chen","sequence":"additional","affiliation":[{"name":"Fudan University, China"}]},{"given":"Bowen","family":"Shi","sequence":"additional","affiliation":[{"name":"Fudan University, China"}]},{"given":"Ying","family":"Wang","sequence":"additional","affiliation":[{"name":"Fudan University, China"}]},{"given":"Congying","family":"Xu","sequence":"additional","affiliation":[{"name":"Fudan University, China"}]},{"given":"Xin","family":"Peng","sequence":"additional","affiliation":[{"name":"Fudan University, China"}]}],"member":"320","published-online":{"date-parts":[[2020,11,8]]},"reference":[{"key":"e_1_3_2_2_1_1","unstructured":"[n.d.]. HADOOP-6800. Retrieved March 01 2020 from https:\/\/issues.apache.org\/ jira\/browse\/HADOOP-6800  [n.d.]. HADOOP-6800. Retrieved March 01 2020 from https:\/\/issues.apache.org\/ jira\/browse\/HADOOP-6800"},{"key":"e_1_3_2_2_2_1","volume-title":"Retrieved","year":"2020"},{"key":"e_1_3_2_2_3_1","volume-title":"Retrieved","year":"2020"},{"key":"e_1_3_2_2_4_1","volume-title":"Retrieved","year":"2020"},{"key":"e_1_3_2_2_5_1","unstructured":"[n.d.]. LibHarmo. Retrieved March 01 2020 from https:\/\/libharmo.github.io  [n.d.]. LibHarmo. Retrieved March 01 2020 from https:\/\/libharmo.github.io"},{"key":"e_1_3_2_2_6_1","first-page":"385","article-title":"Why do developers use trivial packages? an empirical case study on npm","author":"Abdalkareem Rabe","year":"2017","journal-title":"FSE."},{"key":"e_1_3_2_2_7_1","doi-asserted-by":"crossref","first-page":"265","DOI":"10.1145\/1094811.1094832","article-title":"Refactoring Support for Class Library Migration","author":"Balaban Ittai","year":"2005","journal-title":"OOPSLA."},{"key":"e_1_3_2_2_8_1","first-page":"435","article-title":"Understanding API usage to support informed decision making in software maintenance","author":"Bauer Veronika","year":"2012","journal-title":"CSMR."},{"key":"e_1_3_2_2_9_1","first-page":"483","article-title":"A structured approach to assess third-party library usage","author":"Bauer Veronika","year":"2012","journal-title":"ICSM."},{"key":"e_1_3_2_2_10_1","first-page":"280","article-title":"The evolution of project inter-dependencies in a software ecosystem: The case of apache","author":"Bavota Gabriele","year":"2013","journal-title":"ICSM."},{"key":"e_1_3_2_2_11_1","volume-title":"Rocco Oliveto, and Sebastiano Panichella.","author":"Bavota Gabriele","year":"2015"},{"key":"e_1_3_2_2_12_1","first-page":"404","article-title":"Gentoo package dependencies over time","author":"Bloemen Remco","year":"2014","journal-title":"MSR."},{"key":"e_1_3_2_2_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/2950290.2950325"},{"key":"e_1_3_2_2_14_1","first-page":"507","article-title":"APIDif: Detecting API breaking changes","author":"Brito Aline","year":"2018","journal-title":"SANER."},{"key":"e_1_3_2_2_15_1","first-page":"255","article-title":"Why and how Java developers break APIs","author":"Brito Aline","year":"2018","journal-title":"SANER."},{"key":"e_1_3_2_2_16_1","first-page":"516","article-title":"Tracking known security vulnerabilities in proprietary software systems","author":"Cadariu Mircea","year":"2015","journal-title":"SANER."},{"key":"e_1_3_2_2_17_1","first-page":"359","article-title":"Semi-automatic Update of Applications in Response to Library Changes","author":"Chow Kingsum","year":"1996","journal-title":"ICSM."},{"key":"e_1_3_2_2_18_1","doi-asserted-by":"crossref","unstructured":"Bradley E Cossette and Robert J Walker. 2012. Seeking the ground truth: a retroactive study on the evolution and migration of software libraries. In FSE. 55.  Bradley E Cossette and Robert J Walker. 2012. Seeking the ground truth: a retroactive study on the evolution and migration of software libraries. In FSE. 55.","DOI":"10.1145\/2393596.2393661"},{"key":"e_1_3_2_2_19_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2015.140"},{"key":"e_1_3_2_2_20_1","first-page":"599","article-title":"SemDif: Analysis and recommendation support for API evolution","author":"Dagenais Barthelemy","year":"2009","journal-title":"ICSE."},{"key":"e_1_3_2_2_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/2000799.2000805"},{"key":"e_1_3_2_2_22_1","first-page":"152","article-title":"Multi-dimensional exploration of api usage","author":"Roover Coen De","year":"2013","journal-title":"ICPC."},{"key":"e_1_3_2_2_23_1","first-page":"404","article-title":"On the Evolution of Technical Lag in the npm Package Dependency Network","author":"Decan Alexandre","year":"2018","journal-title":"ICSME."},{"key":"e_1_3_2_2_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/3196398.3196401"},{"key":"e_1_3_2_2_25_1","doi-asserted-by":"crossref","unstructured":"Alexandre Decan Tom Mens and Philippe Grosjean. 2019. An empirical comparison of dependency network evolution in seven software packaging ecosystems. Empirical Software Engineering 24 1 ( 2019 ) 381-416.  Alexandre Decan Tom Mens and Philippe Grosjean. 2019. An empirical comparison of dependency network evolution in seven software packaging ecosystems. Empirical Software Engineering 24 1 ( 2019 ) 381-416.","DOI":"10.1007\/s10664-017-9589-y"},{"key":"e_1_3_2_2_26_1","first-page":"2187","article-title":"Keep Me Updated","author":"Derr Erik","year":"2017","journal-title":"In CCS."},{"key":"e_1_3_2_2_27_1","doi-asserted-by":"publisher","DOI":"10.1002\/smr.328"},{"key":"e_1_3_2_2_28_1","first-page":"204","article-title":"Automated API-usage update for Android apps","author":"Fazzini Mattia","year":"2019","journal-title":"ISSTA."},{"key":"e_1_3_2_2_29_1","first-page":"349","article-title":"Automating regression verification","author":"Felsing Dennis","year":"2014","journal-title":"ASE."},{"key":"e_1_3_2_2_30_1","doi-asserted-by":"crossref","unstructured":"Benny Godlin and Ofer Strichman. 2013. Regression verification: proving the equivalence of similar programs. Software Testing Verification and Reliability 23 3 ( 2013 ) 241-258.  Benny Godlin and Ofer Strichman. 2013. Regression verification: proving the equivalence of similar programs. Software Testing Verification and Reliability 23 3 ( 2013 ) 241-258.","DOI":"10.1002\/stvr.1472"},{"key":"e_1_3_2_2_31_1","first-page":"112","article-title":"Evaluating Regression Test Selection Opportunities in a Very Large Open-Source Ecosystem","author":"Gyori Alex","year":"2018","journal-title":"ISSRE."},{"key":"e_1_3_2_2_32_1","first-page":"274","article-title":"CatchUp! Capturing and replaying refactorings to support API evolution","author":"Henkel Johannes","year":"2005","journal-title":"ICSE."},{"key":"e_1_3_2_2_33_1","first-page":"251","article-title":"How do developers react to API evolution? The Pharo ecosystem case","author":"Hora Andr\u00e9","year":"2015","journal-title":"ICSME."},{"key":"e_1_3_2_2_34_1","first-page":"321","article-title":"apiwave: Keeping track of API popularity and migration","author":"Hora Andre","year":"2015","journal-title":"ICSME."},{"key":"e_1_3_2_2_35_1","volume-title":"Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation (Adobe Reader). Pearson Education.","author":"Farley David","year":"2010"},{"key":"e_1_3_2_2_36_1","volume-title":"Linux Annoyances for Geeks: Getting the Most Flexible System in the World Just the Way You Want It. O' Reilly Media","author":"Jang Michael"},{"key":"e_1_3_2_2_37_1","doi-asserted-by":"crossref","unstructured":"Kamil Jezek Jens Dietrich and Premek Brada. 2015. How Java APIs break-an empirical study. Information and Software Technology 65 ( 2015 ) 129-146.  Kamil Jezek Jens Dietrich and Premek Brada. 2015. How Java APIs break-an empirical study. Information and Software Technology 65 ( 2015 ) 129-146.","DOI":"10.1016\/j.infsof.2015.02.014"},{"key":"e_1_3_2_2_39_1","first-page":"102","article-title":"Structure and evolution of package dependency networks","author":"Kikas Riivo","year":"2017","journal-title":"MSR."},{"key":"e_1_3_2_2_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/1985793.1985815"},{"key":"e_1_3_2_2_41_1","first-page":"520","article-title":"Trusting a library: A study of the latency to adopt the latest maven release","author":"Kula Raula Gaikovina","year":"2015","journal-title":"SANER."},{"key":"e_1_3_2_2_42_1","first-page":"407","article-title":"An exploratory study on library aging by monitoring client usage in a software ecosystem","author":"Kula Raula Gaikovina","year":"2017","journal-title":"SANER."},{"key":"e_1_3_2_2_43_1","doi-asserted-by":"crossref","unstructured":"Raula Gaikovina Kula Daniel M German Ali Ouni Takashi Ishio and Katsuro Inoue. 2018. Do developers update their library dependencies? Empirical Software Engineering 23 1 ( 2018 ) 384-417.  Raula Gaikovina Kula Daniel M German Ali Ouni Takashi Ishio and Katsuro Inoue. 2018. Do developers update their library dependencies? Empirical Software Engineering 23 1 ( 2018 ) 384-417.","DOI":"10.1007\/s10664-017-9521-5"},{"key":"e_1_3_2_2_44_1","first-page":"186","volume-title":"C ( 2018 )","author":"Kula Raula Gaikovina"},{"key":"e_1_3_2_2_45_1","first-page":"712","article-title":"Symdif: A language-agnostic semantic dif tool for imperative programs","author":"Lahiri Shuvendu K","year":"2012","journal-title":"CAV."},{"key":"e_1_3_2_2_46_1","first-page":"1317","article-title":"Large-scale, AST-based API-usage analysis of open-source Java projects","author":"L\u00e4mmel Ralf","year":"2011","journal-title":"SAC."},{"key":"e_1_3_2_2_47_1","doi-asserted-by":"crossref","unstructured":"Tobias Lauinger Abdelberi Chaabane Sajjad Arshad William Robertson Christo Wilson and Engin Kirda. 2017. Thou shalt not depend on me: Analysing the use of outdated javascript libraries on the web. In NDSS.  Tobias Lauinger Abdelberi Chaabane Sajjad Arshad William Robertson Christo Wilson and Engin Kirda. 2017. Thou shalt not depend on me: Analysing the use of outdated javascript libraries on the web. In NDSS.","DOI":"10.14722\/ndss.2017.23414"},{"key":"e_1_3_2_2_48_1","first-page":"403","article-title":"An investigation into the use of common libraries in android apps","author":"Li Li","year":"2016","journal-title":"SANER."},{"key":"e_1_3_2_2_49_1","volume-title":"Rocco Oliveto, and Denys Poshyvanyk.","author":"Linares-V\u00e1squez Mario","year":"2013"},{"key":"e_1_3_2_2_50_1","first-page":"287","article-title":"Predicting Problems Caused by Component Upgrades","author":"McCamant Stephen","year":"2003","journal-title":"ESEC\/FSE."},{"key":"e_1_3_2_2_51_1","first-page":"440","article-title":"Early identification of incompatibilities in multi-component upgrades","author":"McCamant Stephen","year":"2004","journal-title":"ECOOP."},{"key":"e_1_3_2_2_52_1","first-page":"70","article-title":"An Empirical Study of API Stability and Adoption in the Android Ecosystem","author":"McDonnell Tyler","year":"2013","journal-title":"ICSM."},{"key":"e_1_3_2_2_53_1","unstructured":"Gianluca Mezzetti Anders M\u00f8ller and Martin Toldam Torp. 2018. Type regression testing to detect breaking changes in Node. js libraries. In ECOOP.  Gianluca Mezzetti Anders M\u00f8ller and Martin Toldam Torp. 2018. Type regression testing to detect breaking changes in Node. js libraries. In ECOOP."},{"key":"e_1_3_2_2_54_1","doi-asserted-by":"publisher","DOI":"10.1145\/1595808.1595821"},{"key":"e_1_3_2_2_55_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-15585-7_17"},{"key":"e_1_3_2_2_56_1","first-page":"84","article-title":"Can automated pull requests encourage software developers to upgrade out-of-date dependencies?","author":"Mirhosseini Samim","year":"2017","journal-title":"ASE."},{"key":"e_1_3_2_2_57_1","doi-asserted-by":"crossref","unstructured":"Anders M\u00f8ller and Martin Toldam Torp. 2019. Model-based testing of breaking changes in Node. js libraries. ( 2019 ).  Anders M\u00f8ller and Martin Toldam Torp. 2019. Model-based testing of breaking changes in Node. js libraries. ( 2019 ).","DOI":"10.1145\/3338906.3338940"},{"key":"e_1_3_2_2_58_1","first-page":"441","article-title":"Client-specific Equivalence Checking","author":"Mora Federico","year":"2018","journal-title":"ASE."},{"key":"e_1_3_2_2_59_1","first-page":"302","article-title":"A Graph-based Approach to API Usage Adaptation","author":"Nguyen Hoan Anh","year":"2010","journal-title":"OOPSLA."},{"key":"e_1_3_2_2_60_1","volume-title":"Retrieved","author":"Paraschiv Eugen","year":"2018"},{"key":"e_1_3_2_2_61_1","first-page":"741","article-title":"ConflictJS: finding and understanding conflicts between JavaScript libraries","author":"Patra Jibesh","year":"2018","journal-title":"ICSE."},{"key":"e_1_3_2_2_62_1","first-page":"411","article-title":"Impact assessment for vulnerabilities in open-source software libraries","author":"Plate Henrik","year":"2015","journal-title":"ICSME."},{"key":"e_1_3_2_2_63_1","first-page":"449","article-title":"Beyond Metadata: Code-Centric and Usage-Based Analysis of Known Vulnerabilities in OpenSource Software","author":"Ponta Serena Elisa","year":"2018","journal-title":"ICSME."},{"key":"e_1_3_2_2_64_1","doi-asserted-by":"crossref","unstructured":"Dong Qiu Bixin Li and Hareton Leung. 2016. Understanding the API usage in Java. Information and software technology 73 ( 2016 ) 81-100.  Dong Qiu Bixin Li and Hareton Leung. 2016. Understanding the API usage in Java. Information and software technology 73 ( 2016 ) 81-100.","DOI":"10.1016\/j.infsof.2016.01.011"},{"key":"e_1_3_2_2_65_1","first-page":"378","article-title":"Measuring software library stability through historical version analysis","author":"Raemaekers Steven","year":"2012","journal-title":"ICSM."},{"key":"e_1_3_2_2_66_1","doi-asserted-by":"crossref","unstructured":"Steven Raemaekers Arie van Deursen and Joost Visser. 2017. Semantic versioning and impact of breaking changes in the Maven repository. Journal of Systems and Software 129 ( 2017 ) 140-158.  Steven Raemaekers Arie van Deursen and Joost Visser. 2017. Semantic versioning and impact of breaking changes in the Maven repository. Journal of Systems and Software 129 ( 2017 ) 140-158.","DOI":"10.1016\/j.jss.2016.04.008"},{"key":"e_1_3_2_2_67_1","first-page":"1","article-title":"How do developers react to API deprecation?: the case of a smalltalk ecosystem","volume":"56","author":"Robbes Romain","year":"2012","journal-title":"FSE."},{"key":"e_1_3_2_2_68_1","first-page":"400","article-title":"On the reaction to deprecation of 25,357 clients of 4+ 1 popular Java APIs","author":"Sawant Anand Ashok","year":"2016","journal-title":"ICSME."},{"key":"e_1_3_2_2_69_1","first-page":"471","article-title":"Mining framework usage changes from instantiation code","author":"Sch\u00e4fer Thorsten","year":"2008","journal-title":"ICSE."},{"key":"e_1_3_2_2_70_1","volume-title":"Wagner","author":"G\u00fcnter","year":"2004"},{"key":"e_1_3_2_2_71_1","unstructured":"Nicholas Smith Danny van Bruggen and Federico Tomassetti. 2017. JavaParser: Visited. Leanpub oct. de ( 2017 ).  Nicholas Smith Danny van Bruggen and Federico Tomassetti. 2017. JavaParser: Visited. Leanpub oct. de ( 2017 )."},{"key":"e_1_3_2_2_72_1","doi-asserted-by":"publisher","DOI":"10.1145\/1810295.1810461"},{"key":"e_1_3_2_2_73_1","first-page":"405","article-title":"Modular demanddriven analysis of semantic diference for program versions","author":"Trostanetski Anna","year":"2017","journal-title":"SAS."},{"key":"e_1_3_2_2_74_1","volume-title":"Soot: A Java bytecode optimization framework. In CASCON. 13-.","author":"Vall\u00e9e-Rai Raja","year":"1999"},{"key":"e_1_3_2_2_75_1","doi-asserted-by":"crossref","unstructured":"Ying Wang Bihuan Chen Kaifeng Huang Bowen Shi Congying Xu Xin Peng Yijian Wu and Yang Liu. 2020. An Empirical Study of Usages Updates and Risks of Third-Party Libraries in Java Projects. In ICSME.  Ying Wang Bihuan Chen Kaifeng Huang Bowen Shi Congying Xu Xin Peng Yijian Wu and Yang Liu. 2020. An Empirical Study of Usages Updates and Risks of Third-Party Libraries in Java Projects. In ICSME.","DOI":"10.1109\/ICSME46990.2020.00014"},{"key":"e_1_3_2_2_76_1","first-page":"319","article-title":"Do the Dependency Conflicts in My Project Matter?","author":"Wang Ying","year":"2018","journal-title":"ESEC\/FSE."},{"key":"e_1_3_2_2_77_1","first-page":"572","article-title":"Could I Have a Stack Trace to Examine the Dependency Conflict Issue","author":"Wang Ying","year":"2019","journal-title":"ICSE."},{"key":"e_1_3_2_2_78_1","doi-asserted-by":"publisher","DOI":"10.1145\/2901739.2901743"},{"key":"e_1_3_2_2_79_1","first-page":"325","article-title":"Aura: a hybrid approach to identify framework evolution","author":"Wu Wei","year":"2010","journal-title":"ICSE."},{"key":"e_1_3_2_2_80_1","doi-asserted-by":"crossref","unstructured":"Wei Wu Foutse Khomh Bram Adams Yann-Ga\u00ebl Gu\u00e9h\u00e9neuc and Giuliano Antoniol. 2016. An exploratory study of api changes and usages based on apache and eclipse ecosystems. Empirical Software Engineering 21 6 ( 2016 ) 2366-2412.  Wei Wu Foutse Khomh Bram Adams Yann-Ga\u00ebl Gu\u00e9h\u00e9neuc and Giuliano Antoniol. 2016. An exploratory study of api changes and usages based on apache and eclipse ecosystems. Empirical Software Engineering 21 6 ( 2016 ) 2366-2412.","DOI":"10.1007\/s10664-015-9411-7"},{"key":"e_1_3_2_2_81_1","doi-asserted-by":"crossref","unstructured":"Wei Wu Adrien Serveaux Yann-Ga\u00ebl Gu\u00e9h\u00e9neuc and Giuliano Antoniol. 2015. The impact of imperfect change rules on framework api evolution identification: an empirical study. Empirical Software Engineering 20 4 ( 2015 ) 1126-1158.  Wei Wu Adrien Serveaux Yann-Ga\u00ebl Gu\u00e9h\u00e9neuc and Giuliano Antoniol. 2015. The impact of imperfect change rules on framework api evolution identification: an empirical study. Empirical Software Engineering 20 4 ( 2015 ) 1126-1158.","DOI":"10.1007\/s10664-014-9317-9"},{"key":"e_1_3_2_2_82_1","first-page":"138","article-title":"Historical and impact analysis of API breaking changes: A large-scale study","author":"Xavier Laerte","year":"2017","journal-title":"SANER."},{"key":"e_1_3_2_2_83_1","first-page":"392","article-title":"Why do we break APIs? first answers from developers","author":"Xavier Laerte","year":"2017","journal-title":"SANER."},{"key":"e_1_3_2_2_84_1","doi-asserted-by":"crossref","DOI":"10.1109\/TSE.2007.70747","article-title":"API-evolution support with DifCatchUp","volume":"33","author":"Xing Zhenchang","year":"2007","journal-title":"IEEE Transactions on Software Engineering"},{"key":"e_1_3_2_2_85_1","unstructured":"Markus Zimmermann Cristian-Alexandru Staicu Cam Tenny and Michael Pradel. 2019. Small World with High Risks: A Study of Security Threats in the npm Ecosystem. In USENIX Security.  Markus Zimmermann Cristian-Alexandru Staicu Cam Tenny and Michael Pradel. 2019. Small World with High Risks: A Study of Security Threats in the npm Ecosystem. In USENIX Security."}],"event":{"name":"ESEC\/FSE '20: 28th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering","location":"Virtual Event USA","acronym":"ESEC\/FSE '20","sponsor":["SIGSOFT ACM Special Interest Group on Software Engineering"]},"container-title":["Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3368089.3409689","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3368089.3409689","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T23:44:40Z","timestamp":1750203880000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3368089.3409689"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,11,8]]},"references-count":84,"alternative-id":["10.1145\/3368089.3409689","10.1145\/3368089"],"URL":"https:\/\/doi.org\/10.1145\/3368089.3409689","relation":{},"subject":[],"published":{"date-parts":[[2020,11,8]]},"assertion":[{"value":"2020-11-08","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}