{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,16]],"date-time":"2026-04-16T03:38:39Z","timestamp":1776310719617,"version":"3.50.1"},"reference-count":54,"publisher":"Springer Science and Business Media LLC","issue":"3","license":[{"start":{"date-parts":[[2020,1,11]],"date-time":"2020-01-11T00:00:00Z","timestamp":1578700800000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2020,1,11]],"date-time":"2020-01-11T00:00:00Z","timestamp":1578700800000},"content-version":"vor","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"funder":[{"DOI":"10.13039\/501100001866","name":"Fonds National de la Recherche Luxembourg","doi-asserted-by":"crossref","award":["CHARACTERIZE C17\/IS\/11693861"],"award-info":[{"award-number":["CHARACTERIZE C17\/IS\/11693861"]}],"id":[{"id":"10.13039\/501100001866","id-type":"DOI","asserted-by":"crossref"}]},{"DOI":"10.13039\/501100001866","name":"Fonds National de la Recherche Luxembourg","doi-asserted-by":"publisher","award":["Recommend C15\/IS\/10449467"],"award-info":[{"award-number":["Recommend C15\/IS\/10449467"]}],"id":[{"id":"10.13039\/501100001866","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Empir Software Eng"],"published-print":{"date-parts":[[2020,5]]},"DOI":"10.1007\/s10664-019-09764-z","type":"journal-article","created":{"date-parts":[[2020,1,11]],"date-time":"2020-01-11T05:33:10Z","timestamp":1578720790000},"page":"2058-2098","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":33,"title":["CDA: Characterising Deprecated Android APIs"],"prefix":"10.1007","volume":"25","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-2990-1614","authenticated-orcid":false,"given":"Li","family":"Li","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jun","family":"Gao","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Tegawend\u00e9 F.","family":"Bissyand\u00e9","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Lei","family":"Ma","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Xin","family":"Xia","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jacques","family":"Klein","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2020,1,11]]},"reference":[{"key":"9764_CR1","doi-asserted-by":"crossref","unstructured":"Allix K, Bissyand\u00e9 TF, Klein J, Le Traon Y (2016) Androzoo: Collecting millions of android apps for the research community. In: 2016 IEEE\/ACM 13th Working Conference on Mining Software Repositories (MSR), IEEE, pp 468\u2013471","DOI":"10.1145\/2901739.2903508"},{"key":"9764_CR2","unstructured":"Bagherzadeh M, Kahani N, Bezemer C-P, Hassan AE, Dingel J, Cordy JR (2017) Analyzing a decade of linux system calls. Empir Softw Eng, pp 1\u201333"},{"issue":"4","key":"9764_CR3","doi-asserted-by":"publisher","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, Di Penta M, Oliveto R, Poshyvanyk D (2015) The impact of api change-and fault-proneness on the user ratings of android apps. IEEE Trans Softw Eng 41(4):384\u2013407","journal-title":"IEEE Trans Softw Eng"},{"key":"9764_CR4","doi-asserted-by":"crossref","unstructured":"Bogart C, K\u00e4stner C, Herbsleb J, Thung F (2016) How to break an api: cost negotiation and community values in three software ecosystems. In: Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering, ACM, pp 109\u2013120","DOI":"10.1145\/2950290.2950325"},{"key":"9764_CR5","doi-asserted-by":"crossref","unstructured":"Brito A, Xavier L (2018a) Andre hora, and marco tulio valente. Why and how java developers break apis. arXiv:1801.05198","DOI":"10.1109\/SANER.2018.8330214"},{"key":"9764_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: 2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER), vol 1. IEEE, pp 360\u2013369","DOI":"10.1109\/SANER.2016.99"},{"key":"9764_CR7","doi-asserted-by":"publisher","first-page":"306","DOI":"10.1016\/j.jss.2017.12.007","volume":"137","author":"G Brito","year":"2018","unstructured":"Brito G, Hora A, Valente MT, Robbes R (2018b) On the use of replacement messages in api deprecation: an empirical study. J Syst Softw 137:306\u2013321","journal-title":"J Syst Softw"},{"key":"9764_CR8","doi-asserted-by":"crossref","unstructured":"Chow K, Notkin D (1996) Semi-automatic update of applications in response to library changes. In: Icsm, vol 96. p 359","DOI":"10.1109\/ICSM.1996.565039"},{"key":"9764_CR9","doi-asserted-by":"crossref","unstructured":"Coelho R, Almeida L, Gousios G, van Deursen A (2015) Unveiling exception handling bug hazards in android based on github and google code issues. In: 2015 IEEE\/ACM 12th Working Conference on Mining Software Repositories (MSR), IEEE, pp 134\u2013145","DOI":"10.1109\/MSR.2015.20"},{"key":"9764_CR10","unstructured":"Cossette BE, Walker RJ (2012) Seeking the ground truth: a retroactive study on the evolution and migration of software libraries. In: Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering, ACM, p 55"},{"issue":"4","key":"9764_CR11","doi-asserted-by":"publisher","first-page":"19","DOI":"10.1145\/2000799.2000805","volume":"20","author":"B Dagenais","year":"2011","unstructured":"Dagenais B, Robillard MP (2011) Recommending adaptive changes for framework evolution. ACM Transactions on Software Engineering and Methodology (TOSEM) 20 (4):19","journal-title":"ACM Transactions on Software Engineering and Methodology (TOSEM)"},{"key":"9764_CR12","doi-asserted-by":"crossref","unstructured":"Derr E, Bugiel S, Fahl S, Acar Y, Backes M (2017) Keep me updated: an empirical study of third-party library updatability on android. In: Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security, ACM, pp 2187\u20132200","DOI":"10.1145\/3133956.3134059"},{"key":"9764_CR13","doi-asserted-by":"crossref","unstructured":"Dig D, Johnson R (2005) The role of refactorings in api evolution. In: 2005. ICSM\u201905. Proceedings of the 21st IEEE International Conference on Software Maintenance, IEEE, pp 389\u2013398","DOI":"10.1109\/ICSM.2005.90"},{"issue":"2","key":"9764_CR14","doi-asserted-by":"publisher","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. Journal of software maintenance and evolution: Research and Practice 18(2):83\u2013107","journal-title":"Journal of software maintenance and evolution: Research and Practice"},{"key":"9764_CR15","doi-asserted-by":"crossref","unstructured":"Dig D, Manzoor K, Johnson R, Nguyen TN (2007) Refactoring-aware configuration management for object-oriented programs. In: Proceedings of the 29th International Conference on Software Engineering, IEEE Computer Society, pp 427\u2013436","DOI":"10.1109\/ICSE.2007.71"},{"key":"9764_CR16","doi-asserted-by":"crossref","unstructured":"Dig D, Negara S, Johnson R, Mohindra V (2008) Reba: refactoringaware binary adaptation of evolving libraries. In: ICSE\u201908: Proceedings of the 30th International Conference on Software Engineering. Citeseer","DOI":"10.1145\/1368088.1368148"},{"key":"9764_CR17","doi-asserted-by":"crossref","unstructured":"Espinha T, Zaidman A, Gross H-G (2014) Web api growing pains: Stories from client developers and their code. In: 2014 Software Evolution week-IEEE Conference on Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), IEEE, pp 84\u201393","DOI":"10.1109\/CSMR-WCRE.2014.6747228"},{"key":"9764_CR18","doi-asserted-by":"crossref","unstructured":"Gao J, Li L, Kong P, Bissyand\u00e9 TF, Klein J (2018) On vulnerability evolution in android apps. In: The 40th International Conference on Software Engineering, Poster Track (ICSE 2018)","DOI":"10.1145\/3183440.3194968"},{"key":"9764_CR19","doi-asserted-by":"crossref","unstructured":"Gao J, Kong P, Li L, Bissyand\u00e9 TF, Klein J (2019) Negative results on mining crypto-api usage rules in android apps. In: The 16th International Conference on Mining Software Repositories (MSR 2019)","DOI":"10.1109\/MSR.2019.00065"},{"key":"9764_CR20","doi-asserted-by":"crossref","unstructured":"Hecht G, Benomar O, Rouvoy R, Moha N, Duchien L (2015) Tracking the software quality of android applications along their evolution (t). In: 2015 30th IEEE\/ACM International Conference on Automated Software Engineering (ASE), IEEE, pp 236\u2013247","DOI":"10.1109\/ASE.2015.46"},{"key":"9764_CR21","doi-asserted-by":"crossref","unstructured":"Henkel J, Diwan A (2005) Catchup! capturing and replaying refactorings to support api evolution. In: 2005. ICSE 2005. Proceedings. 27th International Conference on Software Engineering, IEEE, pp 274\u2013283","DOI":"10.1109\/ICSE.2005.1553570"},{"key":"9764_CR22","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: 2015 IEEE International Conference on Software Maintenance and Evolution (ICSME), IEEE, pp 251\u2013260","DOI":"10.1109\/ICSM.2015.7332471"},{"key":"9764_CR23","doi-asserted-by":"crossref","unstructured":"Hora A, Valente MT, Robbes R, Anquetil N (2016) When should internal interfaces be promoted to public?. In: Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering, ACM, pp 278\u2013289","DOI":"10.1145\/2950290.2950306"},{"key":"9764_CR24","doi-asserted-by":"crossref","unstructured":"Hou D, Yao X (2011) Exploring the intent behind api evolution A case study. In: 2011 18th Working Conference on Reverse engineering (WCRE), IEEE, pp 131\u2013140","DOI":"10.1109\/WCRE.2011.24"},{"key":"9764_CR25","doi-asserted-by":"crossref","unstructured":"Kapur P, Cossette B, Walker RJ (2010) Refactoring references for library migration, vol 45. ACM","DOI":"10.1145\/1932682.1869518"},{"key":"9764_CR26","doi-asserted-by":"crossref","unstructured":"Ko D, Ma K, Park S, Kim S, Kim D, Le Traon Y (2014) Api document quality for resolving deprecated apis. In: 2014 21st Asia-pacific Software Engineering Conference (APSEC), vol 2. IEEE, pp 27\u201330","DOI":"10.1109\/APSEC.2014.87"},{"key":"9764_CR27","doi-asserted-by":"crossref","unstructured":"Li L, Bartel A, Bissyand\u00e9 TF, Klein J, Le Traon Y, Arzt S, Rasthofer S, Bodden E, Octeau D, Patrick M (2015) IccTA detecting inter-component privacy leaks in android Apps. In: Proceedings of the 37th International Conference on Software Engineering (ICSE 2015)","DOI":"10.1109\/ICSE.2015.48"},{"key":"9764_CR28","doi-asserted-by":"crossref","unstructured":"Li L, Bissyand\u00e9 TF, Klein J, Le Traon Y (2016a) An investigation into the use of common libraries in android apps. In: The 23rd IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER 2016)","DOI":"10.1109\/SANER.2016.52"},{"key":"9764_CR29","doi-asserted-by":"crossref","unstructured":"Li L, Bissyand\u00e9 TF, Klein J, Le Traon Y (2016b) Parameter values of android APIs A preliminary study on 100,000 Apps. Proceedings of the 23rd IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER 2016)","DOI":"10.1109\/SANER.2016.51"},{"key":"9764_CR30","doi-asserted-by":"crossref","unstructured":"Li L, Bissyand\u00e9 TF, Le Traon Y, Klein J (2016c) Accessing inaccessible android apis: an empirical study. In: The 32nd International Conference on Software Maintenance and Evolution (ICSME 2016)","DOI":"10.1109\/ICSME.2016.35"},{"key":"9764_CR31","unstructured":"Li L, Gao J, Hurier M, Kong P, Bissyand\u00e9 TF, Bartel A, Klein J, Le Traon Y (2017a) Androzoo++: Collecting millions of android apps and their metadata for the research community. arXiv:1709.05281"},{"key":"9764_CR32","doi-asserted-by":"crossref","unstructured":"Li L, Li D, Bissyand\u00e9 TF, Klein J, Le Traon Y, Lo D, Cavallaro L (2017b) Understanding android app piggybacking. A systematic study of malicious code grafting. IEEE Transactions on Information Forensics & Security (TIFS)","DOI":"10.1109\/ICSE-C.2017.109"},{"key":"9764_CR33","doi-asserted-by":"crossref","unstructured":"Li L, Bissyand\u00e9 TF, Wang H, Klein J (2018a) Cid: Automating the detection of api-related compatibility issues in android apps. In: The ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2018)","DOI":"10.1145\/3213846.3213857"},{"key":"9764_CR34","doi-asserted-by":"crossref","unstructured":"Li L, Gao J, Bissyand\u00e9 TF, Ma L, Xia X, Klein J (2018b) Characterising deprecated android apis. In: The 15th International Conference on Mining Software Repositories (MSR 2018)","DOI":"10.1145\/3196398.3196419"},{"key":"9764_CR35","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 the 22nd International Conference on Program Comprehension, ACM, pp 83\u201394","DOI":"10.1145\/2597008.2597155"},{"key":"9764_CR36","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: 2013 29th IEEE International Conference on Software Maintenance (ICSM), IEEE, pp 70\u201379","DOI":"10.1109\/ICSM.2013.18"},{"key":"9764_CR37","doi-asserted-by":"crossref","unstructured":"Meng S, Wang X, Zhang L, Mei H (2012) A history-based matching approach to identification of framework evolution. In: 2012 34th International Conference on Software Engineering (ICSE), IEEE, pp 353\u2013363","DOI":"10.1109\/ICSE.2012.6227179"},{"issue":"6","key":"9764_CR38","doi-asserted-by":"publisher","first-page":"703","DOI":"10.1007\/s10664-011-9186-4","volume":"17","author":"M Monperrus","year":"2012","unstructured":"Monperrus M, Eichberg M, Tekes E, Mezini M (2012) What should developers be aware of? an empirical study on the directives of api documentation. Empir Softw Eng 17(6):703\u2013737","journal-title":"Empir Softw Eng"},{"key":"9764_CR39","doi-asserted-by":"crossref","unstructured":"Nita M, Notkin D (2010) Using twinning to adapt programs to alternative apis. In: 2010 ACM\/IEEE 32nd International Conference on Software Engineering, vol 1. IEEE, pp 205\u2013214","DOI":"10.1145\/1806799.1806832"},{"key":"9764_CR40","doi-asserted-by":"publisher","first-page":"143","DOI":"10.1016\/j.jss.2017.11.043","volume":"137","author":"F Palomba","year":"2018","unstructured":"Palomba F, Linares-V\u00e1squez M, Bavota G, Oliveto R, Di Penta M, Poshyvanyk D, De Lucia A (2018) Crowdsourcing user reviews to support the evolution of mobile apps. J Syst Softw 137:143\u2013162","journal-title":"J Syst Softw"},{"key":"9764_CR41","doi-asserted-by":"crossref","unstructured":"Perkins JH (2005) Automatically generating refactorings to support api evolution. In: ACM SIGSOFT Software Engineering Notes, vol 31. ACM, pp 111\u2013114","DOI":"10.1145\/1108792.1108818"},{"key":"9764_CR42","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: Proceedings of the 2014 IEEE 14th International Working Conference on Source Code Analysis and Manipulation, IEEE Computer Society, pp 215\u2013224","DOI":"10.1109\/SCAM.2014.30"},{"key":"9764_CR43","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 the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering, ACM, p 56","DOI":"10.1145\/2393596.2393662"},{"key":"9764_CR44","doi-asserted-by":"crossref","unstructured":"Sawant AA, Robbes R, Bacchelli A (2016) On the reaction to deprecation of 25,357 clients of 4 + 1 popular java apis. In: 2016 IEEE International Conference on Software Maintenance and Evolution (ICSME), IEEE, pp 400\u2013410","DOI":"10.1109\/ICSME.2016.64"},{"key":"9764_CR45","doi-asserted-by":"crossref","unstructured":"Sawant AA, Aniche M, van Deursen A, Bacchelli A (2018a) Understanding developers\u2019 needs on deprecation as a language feature. In: 2018 IEEE\/ACM 40th International Conference on Software Engineering (ICSE), IEEE, pp 561\u2013571","DOI":"10.1145\/3180155.3180170"},{"key":"9764_CR46","doi-asserted-by":"crossref","unstructured":"Sawant AA, Huang G, Vilen G, Stojkovski S, Bacchelli A (2018b) Why are features deprecated? an investigation into the motivation behind deprecation. In: 2018 IEEE International conference on software maintenance and evolution (ICSME), IEEE, pp 13\u201324","DOI":"10.1109\/ICSME.2018.00011"},{"issue":"4","key":"9764_CR47","doi-asserted-by":"publisher","first-page":"2158","DOI":"10.1007\/s10664-017-9554-9","volume":"23","author":"AA Sawant","year":"2018","unstructured":"Sawant AA, Robbes R, Bacchelli A (2018c) On the reaction to deprecation of clients of 4 + 1 popular java apis and the jdk. Empir Softw Eng 23(4):2158\u20132197","journal-title":"Empir Softw Eng"},{"key":"9764_CR48","doi-asserted-by":"crossref","unstructured":"\u0160trobl R, Tron\u00ed\u010dek Z (2013) Migration from deprecated api in java. In: Proceedings of the 2013 Companion Publication for Conference on Systems, Programming, & Applications: Software for Humanity, ACM, pp 85\u201386","DOI":"10.1145\/2508075.2508093"},{"key":"9764_CR49","doi-asserted-by":"crossref","unstructured":"Wang H, Guo Y, Ma Z, Chen X (2015) Wukong: A scalable and accurate two-phase approach to android app clone detection. In: Proceedings of the 2015 International Symposium on Software Testing and Analysis, ACM, pp 71\u201382","DOI":"10.1145\/2771783.2771795"},{"key":"9764_CR50","doi-asserted-by":"crossref","unstructured":"Wang H, Liu Z, Liang J, Vallina-Rodriguez N, Guo Y, Li L, Tapiador J, Cao J, Xu G (2018) Beyond google play: a large-scale comparative study of chinese android app markets. In: The 2018 Internet Measurement Conference (IMC 2018)","DOI":"10.1145\/3278532.3278558"},{"key":"9764_CR51","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-Volume 1, ACM, pp 325\u2013334","DOI":"10.1145\/1806799.1806848"},{"issue":"12","key":"9764_CR52","doi-asserted-by":"publisher","first-page":"818","DOI":"10.1109\/TSE.2007.70747","volume":"33","author":"Z Xing","year":"2007","unstructured":"Xing Z, Stroulia E (2007) Api-evolution support with diff-catchup. IEEE Trans Softw Eng 33(12):818\u2013836","journal-title":"IEEE Trans Softw Eng"},{"key":"9764_CR53","doi-asserted-by":"crossref","unstructured":"Yang X, Lo D, Li L, Xia X, Bissyand\u00e9 TF, Klein J (2017) Characterizing malicious android apps by mining topic-specific data flow signatures. Information and Software Technology","DOI":"10.1016\/j.infsof.2017.04.007"},{"key":"9764_CR54","doi-asserted-by":"crossref","unstructured":"Zhou J, Walker RJ (2016) Api deprecation: a retrospective analysis and detection method for code examples on the web. In: Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering, ACM, pp 266\u2013277","DOI":"10.1145\/2950290.2950298"}],"container-title":["Empirical Software Engineering"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-019-09764-z.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/article\/10.1007\/s10664-019-09764-z\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-019-09764-z.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,1,10]],"date-time":"2021-01-10T02:20:43Z","timestamp":1610245243000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/s10664-019-09764-z"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,1,11]]},"references-count":54,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2020,5]]}},"alternative-id":["9764"],"URL":"https:\/\/doi.org\/10.1007\/s10664-019-09764-z","relation":{},"ISSN":["1382-3256","1573-7616"],"issn-type":[{"value":"1382-3256","type":"print"},{"value":"1573-7616","type":"electronic"}],"subject":[],"published":{"date-parts":[[2020,1,11]]},"assertion":[{"value":"11 January 2020","order":1,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}}]}}