{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,19]],"date-time":"2026-02-19T03:37:17Z","timestamp":1771472237951,"version":"3.50.1"},"reference-count":63,"publisher":"Springer Science and Business Media LLC","issue":"4","license":[{"start":{"date-parts":[[2017,10,13]],"date-time":"2017-10-13T00:00:00Z","timestamp":1507852800000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/creativecommons.org\/licenses\/by\/4.0"}],"funder":[{"name":"NWO","award":["612.001.451"],"award-info":[{"award-number":["612.001.451"]}]}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Empir Software Eng"],"published-print":{"date-parts":[[2018,8]]},"DOI":"10.1007\/s10664-017-9554-9","type":"journal-article","created":{"date-parts":[[2017,10,13]],"date-time":"2017-10-13T02:48:33Z","timestamp":1507862913000},"page":"2158-2197","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":40,"title":["On the reaction to deprecation of clients of 4 + 1 popular Java APIs and the JDK"],"prefix":"10.1007","volume":"23","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-5816-8020","authenticated-orcid":false,"given":"Anand Ashok","family":"Sawant","sequence":"first","affiliation":[]},{"given":"Romain","family":"Robbes","sequence":"additional","affiliation":[]},{"given":"Alberto","family":"Bacchelli","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2017,10,13]]},"reference":[{"key":"9554_CR1","unstructured":"Asm bytecode manipulator. http:\/\/asm.ow2.org\/ . Accessed on 7 April 2016"},{"issue":"4","key":"9554_CR2","doi-asserted-by":"crossref","first-page":"384","DOI":"10.1109\/TSE.2014.2367027","volume":"41","author":"G Bavota","year":"2015","unstructured":"Bavota G, Linares-Vasquez M, Bernal-Cardenas CE, Penta MD, Oliveto R, Poshyvanyk D (2015) The impact of api change-and fault-proneness on the user ratings of android apps. IEEE Trans Softw Eng (TSE) 41(4):384\u2013407","journal-title":"IEEE Trans Softw Eng (TSE)"},{"key":"9554_CR3","doi-asserted-by":"crossref","unstructured":"Begel A, Zimmermann T (2014) Analyze this! 145 questions for data scientists in software engineering. In: Proceedings of the 36th ACM\/IEEE international conference on software engineering, ICSE \u201914. ACM, pp 12\u201323","DOI":"10.1145\/2568225.2568233"},{"key":"9554_CR4","unstructured":"Black A, Ducasse S, Nierstrasz O, Pollet D, Cassou D, Denker M (2009) Pharo by example. Square Bracket Associates"},{"key":"9554_CR5","doi-asserted-by":"crossref","unstructured":"Bogart C, K\u00e4stner C, Herbsleb JD, Thung F (2016) How to break an API: cost negotiation and community values in three software ecosystems. In: Proceedings of the 24th ACM SIGSOFT international symposium on foundations of software engineering (FSE), pp 109\u2013120","DOI":"10.1145\/2950290.2950325"},{"key":"9554_CR6","doi-asserted-by":"crossref","unstructured":"Brito G, Hora A, Valente MT, Robbes R (2016) Do developers deprecate apis with replacement messages? a large-scale analysis on java systems. In: 23nd IEEE international conference on software analysis, evolution, and reengineering, SANER 2016, Osaka, Japan, March 14\u201318, 2016, p to appear","DOI":"10.1109\/SANER.2016.99"},{"key":"9554_CR7","unstructured":"Brooks FP (1975) No silver bullet. Software state-of-the-art, pp 14\u201329"},{"key":"9554_CR8","doi-asserted-by":"crossref","unstructured":"Businge J, Serebrenik A, van den Brand MG (2013a) Eclipse api usage: the good and the bad. Softw Qual J 23(1):107\u2013141","DOI":"10.1007\/s11219-013-9221-3"},{"key":"9554_CR9","doi-asserted-by":"crossref","unstructured":"Businge J, Serebrenik A, van den Brand M (2013b) Analyzing the eclipse API usage: putting the developer in the loop. In: Proceedings of the 17th european conference on software maintenance and reengineering, CSMR, pp 37\u201346","DOI":"10.1109\/CSMR.2013.14"},{"key":"9554_CR10","doi-asserted-by":"crossref","unstructured":"Chacon S (2009) Pro git. Apress","DOI":"10.1007\/978-1-4302-1834-0"},{"key":"9554_CR11","doi-asserted-by":"crossref","unstructured":"Chow K, Notkin D (1996) Semi-automatic update of applications in response to library changes. In: Proceedings of international conference on software maintenance (ICSM), pp 359\u2013368","DOI":"10.1109\/ICSM.1996.565039"},{"key":"9554_CR12","doi-asserted-by":"crossref","unstructured":"Cossette BE, Walker RJ (2012) Seeking the ground truth: a retroactive study on the evolution and migration of software libraries. In: Proceedings of 20th international symposium on the foundations of software engineering (FSE). ACM, p 55","DOI":"10.1145\/2393596.2393661"},{"issue":"10","key":"9554_CR13","doi-asserted-by":"crossref","first-page":"313","DOI":"10.1145\/1449955.1449790","volume":"43","author":"B Dagenais","year":"2008","unstructured":"Dagenais B, Hendren L (2008) Enabling static analysis for partial java programs. ACM Sigplan Notices 43(10):313\u2013328","journal-title":"ACM Sigplan Notices"},{"key":"9554_CR14","doi-asserted-by":"crossref","unstructured":"Dagenais B, Robillard MP (2008) Recommending adaptive changes for framework evolution. In: Proceedings of 30th international conference on software engineering (ICSE), pp 481\u2013490","DOI":"10.1145\/1368088.1368154"},{"key":"9554_CR15","doi-asserted-by":"crossref","unstructured":"Decan A, Mens T, Claes M, Grosjean P (2016) When github meets CRAN: an analysis of inter-repository package dependency problems. In: Proceedings of the 23rd IEEE international conference on software analysis, evolution, and reengineering (SANER), pp 493\u2013504","DOI":"10.1109\/SANER.2016.12"},{"key":"9554_CR16","doi-asserted-by":"crossref","unstructured":"Decan A, Mens T, Claes M (2017) An empirical comparison of dependency issues in OSS packaging ecosystems. In: Proceedings of the 24th IEEE international conference on software analysis, evolution and reengineering (SANER), pp 2\u201312","DOI":"10.1109\/SANER.2017.7884604"},{"key":"9554_CR17","doi-asserted-by":"crossref","unstructured":"Dig D, Johnson RE (2005) The role of refactorings in api evolution. In: ICSM 2005: proceedings Of the 21st international conference on software maintenance, pp 389\u2013398","DOI":"10.1109\/ICSM.2005.90"},{"issue":"2","key":"9554_CR18","doi-asserted-by":"crossref","first-page":"83","DOI":"10.1002\/smr.328","volume":"18","author":"D Dig","year":"2006","unstructured":"Dig D, Johnson R (2006) How do apis evolve? A story of refactoring. J Softw Maint Evol Res Pract 18(2):83\u2013107","journal-title":"J Softw Maint Evol Res Pract"},{"key":"9554_CR19","doi-asserted-by":"crossref","unstructured":"Dig D, Manzoor K, Johnson R, Nguyen TN (2007) Refactoring-aware configuration management for object-oriented programs. In: 29th international conference on software engineering, pp 427\u2013436","DOI":"10.1109\/ICSE.2007.71"},{"key":"9554_CR20","unstructured":"Easymock api repository. https:\/\/github.com\/easymock\/easymock . Accessed on 7 April 2016"},{"key":"9554_CR21","doi-asserted-by":"crossref","unstructured":"Espinha T, Zaidman A, Gross H-G (2015) Web api fragility: how robust is your mobile application?. In: Proceedings of the 2nd international conference on mobile software engineering and systems (MOBILESoft). IEEE, pp 12\u201321","DOI":"10.1109\/MobileSoft.2015.9"},{"key":"9554_CR22","doi-asserted-by":"crossref","unstructured":"Fraser SD, Brooks Jr FP, Fowler M, Lopez R, Namioka A, Northrop L, Parnas DL, Thomas D (2007) No silver bullet reloaded: retrospective on essence and accidents of software engineering. In: Proceedings of 22nd ACM SIGPLAN conference on object-oriented programming systems and applications (OOPSLA). ACM, pp 1026\u20131030","DOI":"10.1145\/1297846.1297973"},{"key":"9554_CR23","doi-asserted-by":"crossref","unstructured":"Gousios G (2013) The ghtorrent dataset and tool suite. In: Proceedings of the 10th working conference on mining software repositories, MSR 2013, pp 233\u2013236","DOI":"10.1109\/MSR.2013.6624034"},{"key":"9554_CR24","doi-asserted-by":"crossref","unstructured":"Gousios G, Vasilescu B, Serebrenik A, Zaidman A (2014) Lean GHTorrent: Github data on demand. In: Proceedings of the 11th working conference on mining software repositories, pp 384\u2013387","DOI":"10.1145\/2597073.2597126"},{"key":"9554_CR25","unstructured":"Guava api repository. https:\/\/github.com\/google\/guava . Accessed on 7 April 2016"},{"key":"9554_CR26","unstructured":"Guice api repository. https:\/\/github.com\/google\/guice . Accessed on 7 April 2016"},{"key":"9554_CR27","doi-asserted-by":"crossref","unstructured":"Henkel J, Diwan A (2005) Catchup!: capturing and replaying refactorings to support API evolution. In: Proceedings of 27th international conference on software engineering (ICSE), pp 274\u2013283","DOI":"10.1145\/1062455.1062512"},{"key":"9554_CR28","unstructured":"Hibernate api repository. https:\/\/github.com\/hibernate\/hibernate-orm . Accessed on 7 April 2016"},{"key":"9554_CR29","unstructured":"http:\/\/www.github.com . Last Accessed February 2017"},{"key":"9554_CR30","unstructured":"http:\/\/www.oracle.com\/technetwork\/java\/javase\/compatibility-417013.html#incompatibilities . Last Accessed February 2017"},{"key":"9554_CR31","doi-asserted-by":"crossref","unstructured":"Holmes R, Walker RJ (2010) Customized awareness: recommending relevant external change events. In: Proceedings of the 32nd ACM\/IEEE international conference on software engineering, vol 1. ACM, pp 465\u2013474","DOI":"10.1145\/1806799.1806867"},{"key":"9554_CR32","doi-asserted-by":"crossref","unstructured":"Hora A, Robbes R, Anquetil N, Etien A, Ducasse S, Valente MT (2015) How do developers react to api evolution? The pharo ecosystem case. In: IEEE international conference on software maintenance and evolution (ICSME), 2015. IEEE, pp 251\u2013260","DOI":"10.1109\/ICSM.2015.7332471"},{"key":"9554_CR33","doi-asserted-by":"crossref","unstructured":"Hora AC, Valente MT, Robbes R, Anquetil N (2016) When should internal interfaces be promoted to public?. In: Proceedings of the 24th ACM SIGSOFT international symposium on foundations of software engineering (FSE), pp 278\u2013289","DOI":"10.1145\/2950290.2950306"},{"key":"9554_CR34","doi-asserted-by":"crossref","unstructured":"Hou D, Pletcher DM (2010) Towards a better code completion system by api grouping, filtering, and popularity-based ranking. In: Proceedings of the 2nd international workshop on recommendation systems for software engineering, RSSE \u201910. ACM, pp 26\u201330","DOI":"10.1145\/1808920.1808926"},{"key":"9554_CR35","doi-asserted-by":"crossref","unstructured":"Hou D, Pletcher DM (2011) An evaluation of the strategies of sorting, filtering, and grouping API methods for code completion. In: IEEE 27th international conference on software maintenance, ICSM 2011, Williamsburg, VA, USA, September 25\u201330, 2011, pp 233\u2013242","DOI":"10.1109\/ICSM.2011.6080790"},{"key":"9554_CR36","doi-asserted-by":"crossref","unstructured":"Hou D, Yao X (2011) Exploring the intent behind API evolution: a case study. In: Proceedings of the 18th working conference on reverse engineering (WCRE), pp 131\u2013140","DOI":"10.1109\/WCRE.2011.24"},{"key":"9554_CR37","doi-asserted-by":"crossref","unstructured":"Ingalls D, Kaehler T, Maloney J, Wallace S, Kay A (1997) Back to the future: the story of squeak, a practical smalltalk written in itself. In: Proceedings of the 12th ACM SIGPLAN conference on object-oriented programming (OOPSLA) 1997, pp 318\u2013326","DOI":"10.1145\/263698.263754"},{"issue":"2","key":"9554_CR38","first-page":"22","volume":"1","author":"RE Johnson","year":"1988","unstructured":"Johnson RE, Foote B (1988) Designing reusable classes. Journal of Object-Oriented Programming 1(2):22\u201335","journal-title":"Journal of Object-Oriented Programming"},{"issue":"3","key":"9554_CR39","doi-asserted-by":"crossref","first-page":"295","DOI":"10.1007\/s10664-010-9141-9","volume":"16","author":"NJ Juzgado","year":"2011","unstructured":"Juzgado NJ, Vegas S (2011) The role of non-exact replications in software engineering experiments. Empir Softw Eng 16(3):295\u2013324","journal-title":"Empir Softw Eng"},{"key":"9554_CR40","doi-asserted-by":"crossref","unstructured":"Kalliamvakou E, Gousios G, Blincoe K, Singer L, German DM, Damian D (2014) The promises and perils of mining github. In: Proceedings of the 11th working conference on mining software repositories. ACM, pp 92\u2013101","DOI":"10.1145\/2597073.2597074"},{"key":"9554_CR41","doi-asserted-by":"crossref","unstructured":"L\u00e4mmel R, Pek E, Starek J (2011) Large-scale, ast-based api-usage analysis of open-source java projects. In: Proceedings of ACM symposium on applied computing (SAC), p 1317","DOI":"10.1145\/1982185.1982471"},{"key":"9554_CR42","unstructured":"Lienhard A, Renggli L (2005) SqueakSource-Smart Monticello Repository. European Smalltalk User Group Innovation Technology Award, August"},{"key":"9554_CR43","doi-asserted-by":"crossref","unstructured":"Linares-V\u00e1squez M, Bavota G, Di Penta M, Oliveto R, Poshyvanyk D (2014) How do api changes trigger stack overflow discussions? a study on the android sdk. In: Proceedings of 22nd international conference on program comprehension (ICPC). ACM, pp 83\u201394","DOI":"10.1145\/2597008.2597155"},{"issue":"2","key":"9554_CR44","doi-asserted-by":"crossref","first-page":"129","DOI":"10.1109\/TIT.1982.1056489","volume":"28","author":"S Lloyd","year":"1982","unstructured":"Lloyd S (1982) Least squares quantization in pcm. IEEE Trans Inf Theory 28 (2):129\u2013137","journal-title":"IEEE Trans Inf Theory"},{"key":"9554_CR45","doi-asserted-by":"crossref","unstructured":"Lungu M, Robbes R, Lanza M (2010) Recovering inter-project dependencies in software ecosystems. In: ASE\u201910: proceedings of the 25th IEEE\/ACM international conference on automated software engineering, ASE \u201910, pp 309\u2013312","DOI":"10.1145\/1858996.1859058"},{"key":"9554_CR46","doi-asserted-by":"crossref","unstructured":"McDonnell T, Ray B, Kim M (2013) An empirical study of API stability and adoption in the android ecosystem. In: Proceedings of 29th IEEE international conference on software maintenance (ICSM). IEEE, pp 70\u201379","DOI":"10.1109\/ICSM.2013.18"},{"key":"9554_CR47","doi-asserted-by":"crossref","unstructured":"Mileva YM, Dallmeier V, Zeller A (2010) Mining api popularity. In: Testing\u2013practice and research techniques. Springer, pp 173\u2013180","DOI":"10.1007\/978-3-642-15585-7_17"},{"key":"9554_CR48","doi-asserted-by":"crossref","unstructured":"Mooi E, Sarstedt M (2010) Cluster analysis. Springer","DOI":"10.1007\/978-3-642-12541-6_9"},{"key":"9554_CR49","doi-asserted-by":"crossref","unstructured":"Nagappan M, Zimmermann T, Bird C (2013) Diversity in software engineering research. In: Proceedings of the 2013 9th joint meeting on foundations of software engineering. ACM, pp 466\u2013476","DOI":"10.1145\/2491411.2491415"},{"key":"9554_CR50","doi-asserted-by":"crossref","unstructured":"Nguyen HA, Nguyen TT, Wilson G. Jr., Nguyen AT, Kim M, Nguyen TN (2010) A graph-based approach to api usage adaptation. In: Proceedings of ACM international conference on object oriented programming systems languages and applications, pp 302\u2013321","DOI":"10.1145\/1869459.1869486"},{"key":"9554_CR51","unstructured":"PYPL popularity of programming language. http:\/\/pypl.github.io . Accessed on 19 Feb 2017"},{"key":"9554_CR52","doi-asserted-by":"crossref","unstructured":"Raemaekers S, van Deursen A, Visser J (2012) Measuring software library stability through historical version analysis. In: 28th IEEE international conference on software maintenance (ICSM). IEEE, pp 378\u2013387","DOI":"10.1109\/ICSM.2012.6405296"},{"key":"9554_CR53","doi-asserted-by":"crossref","unstructured":"Raemaekers S, van Deursen A, Visser J (2014) Semantic versioning versus breaking changes: a study of the maven repository. In: IEEE 14th international working conference on source code analysis and manipulation (SCAM), 2014. IEEE, pp 215\u2013224","DOI":"10.1109\/SCAM.2014.30"},{"key":"9554_CR54","doi-asserted-by":"crossref","unstructured":"Robbes R, Lungu M, R\u00f6thlisberger D (2012) How do developers react to api deprecation?: the case of a smalltalk ecosystem. In: Proceedings of 20th international symposium on the foundations of software engineering (FSE). ACM, p 56","DOI":"10.1145\/2393596.2393662"},{"key":"9554_CR55","doi-asserted-by":"crossref","unstructured":"Sawant AA, Bacchelli A (2015) A dataset for api usage. In: Proceedings of 12th IEEE working conference on mining software repositories (MSR). IEEE, pp 506\u2013509","DOI":"10.1109\/MSR.2015.75"},{"issue":"3","key":"9554_CR56","doi-asserted-by":"crossref","first-page":"1348","DOI":"10.1007\/s10664-016-9444-6","volume":"22","author":"AA Sawant","year":"2016","unstructured":"Sawant AA, Bacchelli A (2016) Fine-grape: fine-grained api usage extractor \u2013 an approach and dataset to investigate api usage. Empir Softw Eng 22(3):1348\u20131371","journal-title":"Empir Softw Eng"},{"key":"9554_CR57","doi-asserted-by":"crossref","unstructured":"Sch\u00e4fer T, Jonas J, Mezini M (2008) Mining framework usage changes from instantiation code. In: Proceedings of 30th international conference on software engineering (ICSE), pp 471\u2013480","DOI":"10.1145\/1368088.1368153"},{"key":"9554_CR58","unstructured":"Spring api repository. https:\/\/github.com\/spring-projects\/spring-framework . Accessed on 7 April 2016"},{"key":"9554_CR59","unstructured":"Tiobe index. http:\/\/www.tiobe.com\/tiobe_index . Accessed on 19 Feb 2017"},{"key":"9554_CR60","doi-asserted-by":"crossref","unstructured":"Wang S, Keivanloo I, Zou Y (2014) How do developers react to restful api evolution? Service-Oriented Computing pp 245\u2013259","DOI":"10.1007\/978-3-662-45391-9_17"},{"key":"9554_CR61","doi-asserted-by":"crossref","unstructured":"Wu W, Gu\u00e9h\u00e9neuc Y-G, Antoniol G, Kim M (2010) Aura: a hybrid approach to identify framework evolution. In: Proceedings of the 32nd ACM\/IEEE international conference on software engineering, vol 1. ACM, pp 325\u2013334","DOI":"10.1145\/1806799.1806848"},{"key":"9554_CR62","doi-asserted-by":"crossref","unstructured":"Xavier L, Brito A, Hora AC, Valente MT (2017) Historical and impact analysis of API breaking changes: a large-scale study. In: Proceedings of the 24th IEEE international conference on software analysis, evolution and reengineering, (SANER), pp 138\u2013147","DOI":"10.1109\/SANER.2017.7884616"},{"key":"9554_CR63","doi-asserted-by":"crossref","unstructured":"Xie T, Pei J (2006) Mapo: mining api usages from open source repositories. In: Proceedings of the 2006 international workshop on mining software repositories (MSR). ACM, pp 54\u201357","DOI":"10.1145\/1137983.1137997"}],"container-title":["Empirical Software Engineering"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/article\/10.1007\/s10664-017-9554-9\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-017-9554-9.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-017-9554-9.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,10,4]],"date-time":"2019-10-04T12:31:19Z","timestamp":1570192279000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/s10664-017-9554-9"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017,10,13]]},"references-count":63,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2018,8]]}},"alternative-id":["9554"],"URL":"https:\/\/doi.org\/10.1007\/s10664-017-9554-9","relation":{},"ISSN":["1382-3256","1573-7616"],"issn-type":[{"value":"1382-3256","type":"print"},{"value":"1573-7616","type":"electronic"}],"subject":[],"published":{"date-parts":[[2017,10,13]]}}}