{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,3]],"date-time":"2026-06-03T07:50:37Z","timestamp":1780473037425,"version":"3.54.1"},"publisher-location":"New York, NY, USA","reference-count":86,"publisher":"ACM","license":[{"start":{"date-parts":[[2021,8,18]],"date-time":"2021-08-18T00:00:00Z","timestamp":1629244800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2021,8,20]]},"DOI":"10.1145\/3468264.3468571","type":"proceedings-article","created":{"date-parts":[[2021,8,19]],"date-time":"2021-08-19T01:40:37Z","timestamp":1629337237000},"page":"478-490","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":40,"title":["A large-scale empirical study on Java library migrations: prevalence, trends, and rationales"],"prefix":"10.1145","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-8311-6559","authenticated-orcid":false,"given":"Hao","family":"He","sequence":"first","affiliation":[{"name":"Peking University, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Runzhi","family":"He","sequence":"additional","affiliation":[{"name":"Peking University, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Haiqiao","family":"Gu","sequence":"additional","affiliation":[{"name":"Tsinghua University, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Minghui","family":"Zhou","sequence":"additional","affiliation":[{"name":"Peking University, China"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2021,8,18]]},"reference":[{"key":"e_1_3_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1109\/SANER50967.2021.00048"},{"key":"e_1_3_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-64694-3_15"},{"key":"e_1_3_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.asoc.2020.106140"},{"key":"e_1_3_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICPC.2019.00053"},{"key":"e_1_3_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSM.2010.5610429"},{"key":"e_1_3_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-12107-4_5"},{"key":"e_1_3_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-014-9325-9"},{"key":"e_1_3_2_1_8_1","unstructured":"C\u00e9dric Beust. 2019. TestNG - Welcome. https:\/\/testng.org\/  C\u00e9dric Beust. 2019. TestNG - Welcome. https:\/\/testng.org\/"},{"key":"e_1_3_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1109\/MSR.2009.5069475"},{"key":"e_1_3_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1088\/1742-5468\/2008\/10\/p10008"},{"key":"e_1_3_2_1_11_1","doi-asserted-by":"crossref","unstructured":"Virginia Braun and Victoria Clarke. 2012. Thematic analysis..  Virginia Braun and Victoria Clarke. 2012. Thematic analysis..","DOI":"10.1037\/13620-004"},{"key":"e_1_3_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/2970276.2970290"},{"key":"e_1_3_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2019.2896123"},{"key":"e_1_3_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/3106237.3106246"},{"key":"e_1_3_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2019.2952130"},{"key":"e_1_3_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2021.3055123"},{"key":"e_1_3_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/3324884.3416618"},{"key":"e_1_3_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1109\/SCAM.2014.14"},{"key":"e_1_3_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2015.140"},{"key":"e_1_3_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/3347446"},{"key":"e_1_3_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1109\/ESEM.2011.36"},{"key":"e_1_3_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/3273934.3273937"},{"key":"e_1_3_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSME.2018.00050"},{"key":"e_1_3_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/3196398.3196401"},{"key":"e_1_3_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-017-9589-y"},{"key":"e_1_3_2_1_26_1","unstructured":"Vaclav Dedik. 2015. Replace org.json with jackson. https:\/\/github.com\/release-engineering\/pom-manipulation-ext\/commit\/d7d4a0305e6b681e97e79b0510ca0b7570f2ed00  Vaclav Dedik. 2015. Replace org.json with jackson. https:\/\/github.com\/release-engineering\/pom-manipulation-ext\/commit\/d7d4a0305e6b681e97e79b0510ca0b7570f2ed00"},{"key":"e_1_3_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1109\/MSR.2019.00061"},{"key":"e_1_3_2_1_28_1","unstructured":"FasterXML LLC.. 2019. FasterXML\/jackson: Main Portal page for the Jackson Project. https:\/\/github.com\/FasterXML\/jackson  FasterXML LLC.. 2019. FasterXML\/jackson: Main Portal page for the Jackson Project. https:\/\/github.com\/FasterXML\/jackson"},{"key":"e_1_3_2_1_29_1","unstructured":"Python Software Foundation. 2021. PyPI: the Python package index. https:\/\/pypi.org\/  Python Software Foundation. 2021. PyPI: the Python package index. https:\/\/pypi.org\/"},{"key":"e_1_3_2_1_30_1","unstructured":"The Apache Software Foundation. 2021. Apache Maven Project. https:\/\/maven.apache.org\/  The Apache Software Foundation. 2021. Apache Maven Project. https:\/\/maven.apache.org\/"},{"key":"e_1_3_2_1_31_1","unstructured":"GitHub Inc.. 2021. Autolinked references and URLs. https:\/\/docs.github.com\/en\/github\/writing-on-github\/autolinked-references-and-urls  GitHub Inc.. 2021. Autolinked references and URLs. https:\/\/docs.github.com\/en\/github\/writing-on-github\/autolinked-references-and-urls"},{"key":"e_1_3_2_1_32_1","unstructured":"GitHub Inc.. 2021. GitHub Advisory Database. https:\/\/github.com\/advisories  GitHub Inc.. 2021. GitHub Advisory Database. https:\/\/github.com\/advisories"},{"key":"e_1_3_2_1_33_1","unstructured":"Google Inc.. 2019. google\/gson: A Java serialization\/deserialization library to convert Java Objects into JSON and back. https:\/\/github.com\/google\/gson  Google Inc.. 2019. google\/gson: A Java serialization\/deserialization library to convert Java Objects into JSON and back. https:\/\/github.com\/google\/gson"},{"key":"e_1_3_2_1_34_1","unstructured":"Gradle Inc. 2021. Gradle Build Tool. https:\/\/gradle.org\/  Gradle Inc. 2021. Gradle Build Tool. https:\/\/gradle.org\/"},{"key":"e_1_3_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE-Companion52605.2021.00023"},{"key":"e_1_3_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1109\/SANER50967.2021.00016"},{"key":"e_1_3_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/2901739.2901769"},{"key":"e_1_3_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.5281\/zenodo.3626071"},{"key":"e_1_3_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2019.00060"},{"key":"e_1_3_2_1_40_1","unstructured":"Klaus Krippendorff. 2011. Computing Krippendorff\u2019s alpha-reliability.  Klaus Krippendorff. 2011. Computing Krippendorff\u2019s alpha-reliability."},{"key":"e_1_3_2_1_41_1","volume-title":"Content analysis: An introduction to its methodology","author":"Krippendorff Klaus","unstructured":"Klaus Krippendorff . 2018. Content analysis: An introduction to its methodology . Sage publications. Klaus Krippendorff. 2018. Content analysis: An introduction to its methodology. Sage publications."},{"key":"e_1_3_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1109\/SANER.2015.7081869"},{"key":"e_1_3_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-017-9521-5"},{"key":"e_1_3_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/3368089.3409705"},{"key":"e_1_3_2_1_45_1","unstructured":"Snyk Limited. 2021. Snyk | Developer security | Develop fast. Stay secure.. https:\/\/snyk.io\/  Snyk Limited. 2021. Snyk | Developer security | Develop fast. Stay secure.. https:\/\/snyk.io\/"},{"key":"e_1_3_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1109\/MSR.2019.00031"},{"key":"e_1_3_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2020.2993758"},{"key":"e_1_3_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2017.8115621"},{"key":"e_1_3_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-007-9040-x"},{"key":"e_1_3_2_1_50_1","unstructured":"MvnRepository. 2021. Maven Central Repository. https:\/\/mvnrepository.com\/repos\/central  MvnRepository. 2021. Maven Central Repository. https:\/\/mvnrepository.com\/repos\/central"},{"key":"e_1_3_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2019.110460"},{"key":"e_1_3_2_1_52_1","unstructured":"npm Inc.. 2021. npm | Build amazing things. https:\/\/www.npmjs.com\/  npm Inc.. 2021. npm | Build amazing things. https:\/\/www.npmjs.com\/"},{"key":"e_1_3_2_1_53_1","unstructured":"Ola Johansson and Markus Olausson. 2021. AlternativeTo: Crowd-Sourced Software Recommendation. https:\/\/alternativeto.net\/  Ola Johansson and Markus Olausson. 2021. AlternativeTo: Crowd-Sourced Software Recommendation. https:\/\/alternativeto.net\/"},{"key":"e_1_3_2_1_54_1","unstructured":"Oracle. 2021. JAR File Specification. https:\/\/docs.oracle.com\/javase\/8\/docs\/technotes\/guides\/jar\/jar.html  Oracle. 2021. JAR File Specification. https:\/\/docs.oracle.com\/javase\/8\/docs\/technotes\/guides\/jar\/jar.html"},{"key":"e_1_3_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-018-9613-x"},{"key":"e_1_3_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1145\/3239235.3268920"},{"key":"e_1_3_2_1_57_1","unstructured":"Rebecca Passonneau. 2006. Measuring agreement on set-valued items (MASI) for semantic and pragmatic annotation.  Rebecca Passonneau. 2006. Measuring agreement on set-valued items (MASI) for semantic and pragmatic annotation."},{"key":"e_1_3_2_1_58_1","unstructured":"QOS.ch. 2019. Logback Project. http:\/\/logback.qos.ch\/  QOS.ch. 2019. Logback Project. http:\/\/logback.qos.ch\/"},{"key":"e_1_3_2_1_59_1","unstructured":"QOS.ch. 2019. SLF4J: Simple Logging Facade for Java. http:\/\/www.slf4j.org\/  QOS.ch. 2019. SLF4J: Simple Logging Facade for Java. http:\/\/www.slf4j.org\/"},{"key":"e_1_3_2_1_60_1","doi-asserted-by":"publisher","DOI":"10.1109\/INFVIS.2005.1532152"},{"key":"e_1_3_2_1_61_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2018.08.032"},{"key":"e_1_3_2_1_62_1","doi-asserted-by":"publisher","DOI":"10.1145\/2950290.2950305"},{"key":"e_1_3_2_1_63_1","volume-title":"Ecosystem Report","year":"2020","unstructured":"Snyk. 2020. JVM Ecosystem Report 2020 . https:\/\/snyk.io\/wp-content\/uploads\/jvm_2020.pdf Snyk. 2020. JVM Ecosystem Report 2020. https:\/\/snyk.io\/wp-content\/uploads\/jvm_2020.pdf"},{"key":"e_1_3_2_1_64_1","unstructured":"WhiteSource Software. 2021. WhiteSource: Open Source Security and License Management Solution. https:\/\/www.whitesourcesoftware.com\/  WhiteSource Software. 2021. WhiteSource: Open Source Security and License Management Solution. https:\/\/www.whitesourcesoftware.com\/"},{"key":"e_1_3_2_1_65_1","doi-asserted-by":"publisher","DOI":"10.1109\/MSR.2019.00059"},{"key":"e_1_3_2_1_66_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-020-09914-8"},{"key":"e_1_3_2_1_67_1","unstructured":"StackOverflow Users. 2020. Can I squash a merge commit with one of its predecessors? https:\/\/stackoverflow.com\/questions\/61906251\/can-i-squash-a-merge-commit-with-one-of-its-predecessors  StackOverflow Users. 2020. Can I squash a merge commit with one of its predecessors? https:\/\/stackoverflow.com\/questions\/61906251\/can-i-squash-a-merge-commit-with-one-of-its-predecessors"},{"key":"e_1_3_2_1_68_1","doi-asserted-by":"publisher","DOI":"10.1145\/3359210"},{"key":"e_1_3_2_1_69_1","doi-asserted-by":"publisher","DOI":"10.1109\/WCRE.2012.38"},{"key":"e_1_3_2_1_70_1","doi-asserted-by":"publisher","DOI":"10.1109\/WCRE.2013.6671294"},{"key":"e_1_3_2_1_71_1","doi-asserted-by":"publisher","DOI":"10.1002\/smr.1660"},{"key":"e_1_3_2_1_72_1","unstructured":"The Apache Software Foundation. 2012. Apache Log4j 1.2. https:\/\/logging.apache.org\/log4j\/1.2\/  The Apache Software Foundation. 2012. Apache Log4j 1.2. https:\/\/logging.apache.org\/log4j\/1.2\/"},{"key":"e_1_3_2_1_73_1","unstructured":"The Apache Software Foundation. 2014. Apache Commons Logging - Overview. https:\/\/commons.apache.org\/proper\/commons-logging\/  The Apache Software Foundation. 2014. Apache Commons Logging - Overview. https:\/\/commons.apache.org\/proper\/commons-logging\/"},{"key":"e_1_3_2_1_74_1","unstructured":"The Apache Software Foundation. 2020. Log4j - Apache Log4j 2. https:\/\/logging.apache.org\/log4j\/2.x\/  The Apache Software Foundation. 2020. Log4j - Apache Log4j 2. https:\/\/logging.apache.org\/log4j\/2.x\/"},{"key":"e_1_3_2_1_75_1","unstructured":"The JUnit Team. 2020. JUnit - About. https:\/\/junit.org\/junit4\/  The JUnit Team. 2020. JUnit - About. https:\/\/junit.org\/junit4\/"},{"key":"e_1_3_2_1_76_1","doi-asserted-by":"publisher","DOI":"10.1109\/WCRE.2013.6671293"},{"key":"e_1_3_2_1_77_1","doi-asserted-by":"publisher","DOI":"10.1145\/3236024.3236062"},{"key":"e_1_3_2_1_78_1","doi-asserted-by":"publisher","DOI":"10.1145\/3368089.3409711"},{"key":"e_1_3_2_1_79_1","doi-asserted-by":"publisher","DOI":"10.1109\/SANER.2019.8667989"},{"key":"e_1_3_2_1_80_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSME46990.2020.00014"},{"key":"e_1_3_2_1_81_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-019-09771-0"},{"key":"e_1_3_2_1_82_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICPC.2019.00052"},{"key":"e_1_3_2_1_83_1","doi-asserted-by":"publisher","DOI":"10.1145\/3324884.3416640"},{"key":"e_1_3_2_1_84_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-90421-4_6"},{"key":"e_1_3_2_1_85_1","doi-asserted-by":"publisher","DOI":"10.1145\/1806799.1806831"},{"key":"e_1_3_2_1_86_1","volume-title":"28th USENIX Security Symposium, USENIX Security 2019","author":"Zimmermann Markus","year":"2019","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 28th USENIX Security Symposium, USENIX Security 2019 , Santa Clara, CA, USA , August 14-16, 2019. USENIX Association, 995\u20131010. 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 28th USENIX Security Symposium, USENIX Security 2019, Santa Clara, CA, USA, August 14-16, 2019. USENIX Association, 995\u20131010."}],"event":{"name":"ESEC\/FSE '21: 29th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering","location":"Athens Greece","acronym":"ESEC\/FSE '21","sponsor":["SIGSOFT ACM Special Interest Group on Software Engineering"]},"container-title":["Proceedings of the 29th 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\/3468264.3468571","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3468264.3468571","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T21:24:51Z","timestamp":1750195491000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3468264.3468571"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021,8,18]]},"references-count":86,"alternative-id":["10.1145\/3468264.3468571","10.1145\/3468264"],"URL":"https:\/\/doi.org\/10.1145\/3468264.3468571","relation":{},"subject":[],"published":{"date-parts":[[2021,8,18]]},"assertion":[{"value":"2021-08-18","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}