{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,10,8]],"date-time":"2026-10-08T20:47:58Z","timestamp":1791492478063,"version":"4.3.4"},"reference-count":92,"publisher":"Springer Science and Business Media LLC","issue":"4","license":[{"start":{"date-parts":[[2022,4,14]],"date-time":"2022-04-14T00:00:00Z","timestamp":1649894400000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2022,4,14]],"date-time":"2022-04-14T00:00:00Z","timestamp":1649894400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"}],"funder":[{"DOI":"10.13039\/501100001809","name":"National Natural Science Foundation of China","doi-asserted-by":"publisher","award":["61802067"],"award-info":[{"award-number":["61802067"]}],"id":[{"id":"10.13039\/501100001809","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":[[2022,7]]},"DOI":"10.1007\/s10664-022-10131-8","type":"journal-article","created":{"date-parts":[[2022,4,14]],"date-time":"2022-04-14T07:04:20Z","timestamp":1649919860000},"update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":41,"title":["Characterizing usages, updates and risks of third-party libraries in Java projects"],"prefix":"10.1007","volume":"27","author":[{"given":"Kaifeng","family":"Huang","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Bihuan","family":"Chen","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Congying","family":"Xu","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Ying","family":"Wang","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Bowen","family":"Shi","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Xin","family":"Peng","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Yijian","family":"Wu","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Yang","family":"Liu","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"297","published-online":{"date-parts":[[2022,4,14]]},"reference":[{"key":"10131_CR1","doi-asserted-by":"crossref","unstructured":"Abdalkareem R, Nourry O, Wehaibi S, Mujahid S, Shihab E (2017) Why do developers use trivial packages? An empirical case study on npm. In: FSE, pp 385\u2013395","DOI":"10.1145\/3106237.3106267"},{"key":"10131_CR2","doi-asserted-by":"crossref","unstructured":"Backes M, Bugiel S, Derr E (2016) Reliable third-party library detection in android and its security applications. In: CCS, pp 356\u2013367","DOI":"10.1145\/2976749.2978333"},{"key":"10131_CR3","doi-asserted-by":"crossref","unstructured":"Balaban I, Tip F, Fuhrer R (2005) Refactoring support for class library migration. In: OOPSLA, pp 265\u2013279","DOI":"10.1145\/1103845.1094832"},{"key":"10131_CR4","doi-asserted-by":"crossref","unstructured":"Bauer V, Heinemann L (2012) Understanding api usage to support informed decision making in software maintenance. In: CSMR, pp 435\u2013440","DOI":"10.1109\/CSMR.2012.55"},{"key":"10131_CR5","doi-asserted-by":"crossref","unstructured":"Bauer V, Heinemann L, Deissenboeck F (2012) A structured approach to assess third-party library usage. In: ICSM, pp 483\u2013492","DOI":"10.1109\/ICSM.2012.6405311"},{"key":"10131_CR6","doi-asserted-by":"crossref","unstructured":"Bavota G, Canfora G, Di Penta M, Oliveto R, Panichella S (2013) The evolution of project inter-dependencies in a software ecosystem: the case of apache. In: ICSM, pp 280\u2013289","DOI":"10.1109\/ICSM.2013.39"},{"issue":"5","key":"10131_CR7","doi-asserted-by":"publisher","first-page":"1275","DOI":"10.1007\/s10664-014-9325-9","volume":"20","author":"G Bavota","year":"2015","unstructured":"Bavota G, Canfora G, Di Penta M, Oliveto R, Panichella S (2015) How the apache community upgrades dependencies: an evolutionary study. Empir Softw Eng 20(5):1275\u20131317","journal-title":"Empir Softw Eng"},{"key":"10131_CR8","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: FSE, pp 109\u2013120","DOI":"10.1145\/2950290.2950325"},{"key":"10131_CR9","doi-asserted-by":"crossref","unstructured":"Cadariu M, Bouwers E, Visser J, van Deursen A (2015) Tracking known security vulnerabilities in proprietary software systems. In: SANER, pp 516\u2013519","DOI":"10.1109\/SANER.2015.7081868"},{"key":"10131_CR10","doi-asserted-by":"crossref","unstructured":"Chan W K, Cheng H, Lo D (2012) Searching connected api subgraph via text phrases. In: FSE, pp 10:1\u201310:11","DOI":"10.1145\/2393596.2393606"},{"key":"10131_CR11","doi-asserted-by":"crossref","unstructured":"Chen C, Xing Z (2016) Similartech: automatically recommend analogical libraries across different programming languages. In: ASE, pp 834\u2013839","DOI":"10.1145\/2970276.2970290"},{"key":"10131_CR12","doi-asserted-by":"crossref","unstructured":"Chow K, Notkin D (1996) Semi-automatic update of applications in response to library changes. In: ICSM, pp 359\u2013368","DOI":"10.1109\/ICSM.1996.565039"},{"key":"10131_CR13","doi-asserted-by":"crossref","unstructured":"Cossette B E, Walker R J (2012) Seeking the ground truth: a retroactive study on the evolution and migration of software libraries. In: FSE, p 55","DOI":"10.1145\/2393596.2393661"},{"key":"10131_CR14","doi-asserted-by":"crossref","unstructured":"Cox J, Bouwers E, van Eekelen M, Visser J (2015) Measuring dependency freshness in software systems. In: ICSE, vol 2, pp 109\u2013118","DOI":"10.1109\/ICSE.2015.140"},{"key":"10131_CR15","doi-asserted-by":"crossref","unstructured":"Dagenais B, Robillard M P (2009) Semdiff: Analysis and recommendation support for api evolution. In: ICSE, pp 599\u2013602","DOI":"10.1109\/ICSE.2009.5070565"},{"issue":"4","key":"10131_CR16","doi-asserted-by":"publisher","first-page":"19","DOI":"10.1145\/2000799.2000805","volume":"20","author":"B Dagenais","year":"2011","unstructured":"Dagenais B, Robillard M P (2011) Recommending adaptive changes for framework evolution. ACM Trans Softw Eng Methodol 20(4):19","journal-title":"ACM Trans Softw Eng Methodol"},{"key":"10131_CR17","doi-asserted-by":"crossref","unstructured":"De Roover C, Lammel R, Pek E (2013) Multi-dimensional exploration of api usage. In: ICPC, pp 152\u2013161","DOI":"10.1109\/ICPC.2013.6613843"},{"key":"10131_CR18","doi-asserted-by":"crossref","unstructured":"Decan A, Mens T, Claes M (2017) An empirical comparison of dependency issues in oss packaging ecosystems. In: SANER, pp 2\u201312","DOI":"10.1109\/SANER.2017.7884604"},{"key":"10131_CR19","doi-asserted-by":"crossref","unstructured":"Decan A, Mens T, Constantinou E (2018a) On the evolution of technical lag in the npm package dependency network. In: ICSME, pp 404\u2013414","DOI":"10.1109\/ICSME.2018.00050"},{"key":"10131_CR20","doi-asserted-by":"crossref","unstructured":"Decan A, Mens T, Constantinou E (2018b) On the impact of security vulnerabilities in the npm package dependency network. In: MSR, pp 181\u2013191","DOI":"10.1145\/3196398.3196401"},{"key":"10131_CR21","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: CCS, pp 2187\u20132200","DOI":"10.1145\/3133956.3134059"},{"key":"10131_CR22","doi-asserted-by":"crossref","unstructured":"Dietrich J, Jezek K, Brada P (2014) Broken promises: an empirical study into evolution problems in java programs caused by library upgrades. In: CSMR-WCRE, pp 64\u201373","DOI":"10.1109\/CSMR-WCRE.2014.6747226"},{"issue":"2","key":"10131_CR23","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: research articles. J Softw Maint Evol 18(2):83\u2013107","journal-title":"J Softw Maint Evol"},{"key":"10131_CR24","doi-asserted-by":"crossref","unstructured":"Fujibayashi D, Ihara A, Suwa H, Kula R G, Matsumoto K (2017) Does the release cycle of a library project influence when it is adopted by a client project?. In: SANER, pp 569\u2013570","DOI":"10.1109\/SANER.2017.7884681"},{"key":"10131_CR25","doi-asserted-by":"crossref","unstructured":"Hejderup J, van Deursen A, Gousios G (2018) Software ecosystem call graph for dependency management. In: ICSE-NIER, pp 101\u2013104","DOI":"10.1145\/3183399.3183417"},{"key":"10131_CR26","doi-asserted-by":"crossref","unstructured":"Henkel J, Diwan A (2005) Catchup! Capturing and replaying refactorings to support api evolution. In: ICSE, pp 274\u2013283","DOI":"10.1145\/1062455.1062512"},{"key":"10131_CR27","doi-asserted-by":"crossref","unstructured":"Hora A, Valente MT (2015) Apiwave: keeping track of api popularity and migration. In: ICSME, pp 321\u2013323","DOI":"10.1109\/ICSM.2015.7332478"},{"key":"10131_CR28","doi-asserted-by":"crossref","unstructured":"Hora A, Robbes R, Anquetil N, Etien A, Ducasse S, Valente M T (2015) How do developers react to api evolution? The pharo ecosystem case. In: ICSME, pp 251\u2013260","DOI":"10.1109\/ICSM.2015.7332471"},{"key":"10131_CR29","unstructured":"Howell DC (2012) Statistical methods for psychology, 8th edn. Cengage Learning"},{"key":"10131_CR30","doi-asserted-by":"crossref","unstructured":"Huang K, Chen B, Shi B, Wang Y, Xu C, Peng X (2020) Interactive, effort-aware library version harmonization. In: ESEC\/FSE, pp 518\u2013529","DOI":"10.1145\/3368089.3409689"},{"key":"10131_CR31","doi-asserted-by":"crossref","unstructured":"Huang K, Chen B, Pan L, Wu S, Peng X (2021) Repfinder: finding replacements for missing apis in library update. In: ASE","DOI":"10.1109\/ASE51524.2021.9678905"},{"key":"10131_CR32","doi-asserted-by":"crossref","unstructured":"Kabinna S, Bezemer C P, Shang W, Hassan A E (2016) Logging library migrations: a case study for the apache software foundation projects. In: MSR, pp 154\u2013164","DOI":"10.1145\/2901739.2901769"},{"key":"10131_CR33","unstructured":"Khandkar S H (2009) Open coding. Tech. rep. University of Calgary"},{"key":"10131_CR34","doi-asserted-by":"crossref","unstructured":"Kim M, Cai D, Kim S (2011) An empirical investigation into the role of api-level refactorings during software evolution. In: ICSE, pp 151\u2013160","DOI":"10.1145\/1985793.1985815"},{"key":"10131_CR35","doi-asserted-by":"crossref","unstructured":"Kula R G, Roover C D, German D, Ishio T, Inoue K (2014) Visualizing the evolution of systems and their library dependencies. In: VISSOFT, pp 127\u2013136","DOI":"10.1109\/VISSOFT.2014.29"},{"key":"10131_CR36","doi-asserted-by":"crossref","unstructured":"Kula R G, German D M, Ishio T, Inoue K (2015) Trusting a library: a study of the latency to adopt the latest maven release. In: SANER, pp 520\u2013524","DOI":"10.1109\/SANER.2015.7081869"},{"key":"10131_CR37","doi-asserted-by":"crossref","unstructured":"Kula R G, German D M, Ishio T, Ouni A, Inoue K (2017) An exploratory study on library aging by monitoring client usage in a software ecosystem. In: SANER, pp 407\u2013411","DOI":"10.1109\/SANER.2017.7884643"},{"key":"10131_CR38","doi-asserted-by":"crossref","unstructured":"Kula R G, De Roover C, German D M, Ishio T, Inoue K (2018a) A generalized model for visualizing library popularity, adoption, and diffusion within a software ecosystem. In: SANER, pp 288\u2013299","DOI":"10.1109\/SANER.2018.8330217"},{"issue":"1","key":"10131_CR39","doi-asserted-by":"publisher","first-page":"384","DOI":"10.1007\/s10664-017-9521-5","volume":"23","author":"RG Kula","year":"2018","unstructured":"Kula R G, German D M, Ouni A, Ishio T, Inoue K (2018b) Do developers update their library dependencies? Empir Softw Eng 23(1):384\u2013417","journal-title":"Empir Softw Eng"},{"issue":"C","key":"10131_CR40","doi-asserted-by":"publisher","first-page":"186","DOI":"10.1016\/j.infsof.2017.09.007","volume":"93","author":"RG Kula","year":"2018","unstructured":"Kula R G, Ouni A, German D M, Inoue K (2018c) An empirical study on the impact of refactoring activities on evolving client-used apis. Inf Softw Technol 93(C):186\u2013199","journal-title":"Inf Softw Technol"},{"key":"10131_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: SAC, pp 1317\u20131324","DOI":"10.1145\/1982185.1982471"},{"key":"10131_CR42","doi-asserted-by":"crossref","unstructured":"Lauinger T, Chaabane A, Arshad S, Robertson W, Wilson C, Kirda E (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":"10131_CR43","doi-asserted-by":"crossref","unstructured":"Li L, Bissyand\u00e9 T F, Klein J, Le Traon Y (2016) An investigation into the use of common libraries in android apps. In: SANER, pp 403\u2013414","DOI":"10.1109\/SANER.2016.52"},{"key":"10131_CR44","doi-asserted-by":"crossref","unstructured":"Li M, Wang W, Wang P, Wang S, Wu D, Liu J, Xue R, Huo W (2017) Libd: Scalable and precise third-party library detection in android markets. In: ICSE, pp 335\u2013346","DOI":"10.1109\/ICSE.2017.38"},{"key":"10131_CR45","doi-asserted-by":"crossref","unstructured":"Linares-V\u00e1squez M, Bavota G, Bernal-C\u00e1rdenas C, Di Penta M, Oliveto R, Poshyvanyk D (2013) Api change and fault proneness: a threat to the success of android apps. In: ESEC\/FSE, pp 477\u2013487","DOI":"10.1145\/2491411.2491428"},{"key":"10131_CR46","doi-asserted-by":"crossref","unstructured":"Liu C, Chen S, Fan L, Chen B, Liu Y, Peng X (2021) Demystifying the vulnerability propagation and its evolution via dependency trees in the npm ecosystem. In: ICSE","DOI":"10.1145\/3510003.3510142"},{"key":"10131_CR47","doi-asserted-by":"crossref","unstructured":"Ma Z, Wang H, Guo Y, Chen X (2016) Libradar: fast and accurate detection of third-party libraries in android apps. In: ICSE, pp 653\u2013656","DOI":"10.1145\/2889160.2889178"},{"key":"10131_CR48","doi-asserted-by":"crossref","unstructured":"Matos A S, Filho J B F, Rocha L S (2019) Splitting apis: an exploratory study of software unbundling. In: MSR, pp 360\u2013370","DOI":"10.1109\/MSR.2019.00062"},{"key":"10131_CR49","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: ICSM, pp 70\u201379","DOI":"10.1109\/ICSM.2013.18"},{"key":"10131_CR50","doi-asserted-by":"crossref","unstructured":"Mileva Y M, Dallmeier V, Burger M, Zeller A (2009) Mining trends of library usage. In: IWPSE-Evol, pp 57\u201362","DOI":"10.1145\/1595808.1595821"},{"key":"10131_CR51","doi-asserted-by":"crossref","unstructured":"Mileva Y M, Dallmeier V, Zeller A (2010) Mining api popularity. In: Testing\u2014practice and research techniques, pp 173\u2013180","DOI":"10.1007\/978-3-642-15585-7_17"},{"key":"10131_CR52","doi-asserted-by":"crossref","unstructured":"Mirhosseini S, Parnin C (2017) Can automated pull requests encourage software developers to upgrade out-of-date dependencies?. In: ASE, pp 84\u201394","DOI":"10.1109\/ASE.2017.8115621"},{"key":"10131_CR53","doi-asserted-by":"crossref","unstructured":"Nguyen H A, Nguyen T T, Wilson JrG, Nguyen A T, Kim M, Nguyen T N (2010) A graph-based approach to api usage adaptation. In: OOPSLA, pp 302\u2013321","DOI":"10.1145\/1932682.1869486"},{"key":"10131_CR54","doi-asserted-by":"crossref","unstructured":"Nguyen D C, Derr E, Backes M, Bugiel S (2020) Up2dep: android tool support to fix insecure code dependencies. In: ACSAC, pp 263\u2013276","DOI":"10.1145\/3427228.3427658"},{"issue":"C","key":"10131_CR55","doi-asserted-by":"publisher","first-page":"55","DOI":"10.1016\/j.infsof.2016.11.007","volume":"83","author":"A Ouni","year":"2017","unstructured":"Ouni A, Kula R G, Kessentini M, Ishio T, German D M, Inoue K (2017) Search-based software library recommendation using multi-objective optimization. Inf Softw Technol 83(C):55\u201375","journal-title":"Inf Softw Technol"},{"key":"10131_CR56","doi-asserted-by":"crossref","unstructured":"Patra J, Dixit P N, Pradel M (2018) Conflictjs: finding and understanding conflicts between javascript libraries. In: ICSE, pp 741\u2013751","DOI":"10.1145\/3180155.3180184"},{"key":"10131_CR57","doi-asserted-by":"crossref","unstructured":"Plate H, Ponta S E, Sabetta A (2015) Impact assessment for vulnerabilities in open-source software libraries. In: ICSME, pp 411\u2013420","DOI":"10.1109\/ICSM.2015.7332492"},{"key":"10131_CR58","doi-asserted-by":"crossref","unstructured":"Ponta S E, Plate H, Sabetta A (2018) Beyond metadata: code-centric and usage-based analysis of known vulnerabilities in open-source software. In: ICSME, pp 449\u2013460","DOI":"10.1109\/ICSME.2018.00054"},{"key":"10131_CR59","unstructured":"Preston-Werner T (2013) Semantic versioning 2.0.0. http:\/\/semver.org"},{"key":"10131_CR60","doi-asserted-by":"publisher","first-page":"81","DOI":"10.1016\/j.infsof.2016.01.011","volume":"73","author":"D Qiu","year":"2016","unstructured":"Qiu D, Li B, Leung H (2016) Understanding the api usage in java. Inf Softw Technol 73:81\u2013100","journal-title":"Inf Softw Technol"},{"key":"10131_CR61","unstructured":"Quach A, Prakash A, Yan L K (2018) Debloating software through piece-wise compilation and loading. In: USENIX Security"},{"key":"10131_CR62","doi-asserted-by":"crossref","unstructured":"Raemaekers S, van Deursen A, Visser J (2012) Measuring software library stability through historical version analysis. In: ICSM, pp 378\u2013387","DOI":"10.1109\/ICSM.2012.6405296"},{"key":"10131_CR63","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: SCAM, pp 215\u2013224","DOI":"10.1109\/SCAM.2014.30"},{"key":"10131_CR64","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: FSE, pp 56:1\u201356:11","DOI":"10.1145\/2393596.2393662"},{"key":"10131_CR65","doi-asserted-by":"crossref","unstructured":"Salza P, Palomba F, Di Nucci D, D\u2019Uva C, De Lucia A, Ferrucci F (2018) Do developers update third-party libraries in mobile apps?. In: ICPC, pp 255\u2013265","DOI":"10.1145\/3196321.3196341"},{"key":"10131_CR66","doi-asserted-by":"crossref","unstructured":"Sawant A A, Robbes R, Bacchelli A (2016) On the reaction to deprecation of 25,357 clients of 4 + 1 popular java apis. In: ICSME, pp 400\u2013410","DOI":"10.1109\/ICSME.2016.64"},{"key":"10131_CR67","doi-asserted-by":"crossref","unstructured":"Sch\u00e4fer T, Jonas J, Mezini M (2008) Mining framework usage changes from instantiation code. In: ICSE, pp 471\u2013480","DOI":"10.1145\/1368088.1368153"},{"key":"10131_CR68","doi-asserted-by":"crossref","unstructured":"Sharif H, Abubakar M, Gehani A, Zaffar F (2018) Trimmer: application specialization for code debloating. In: ASE, pp 329\u2013339","DOI":"10.1145\/3238147.3238160"},{"key":"10131_CR69","unstructured":"Smith N, van Bruggen D, Tomassetti F (2017) Javaparser: visited. Leanpub, oct de"},{"key":"10131_CR70","doi-asserted-by":"crossref","unstructured":"Soto-Valero C, Harrand N, Monperrus M, Baudry B (2020) A comprehensive study of bloated dependencies in the maven ecosystem. CoRR arXiv:2001.07808","DOI":"10.1007\/s10664-020-09914-8"},{"key":"10131_CR71","doi-asserted-by":"crossref","unstructured":"Teyton C, Falleri J R, Blanc X (2012) Mining library migration graphs. In: WCRE, pp 289\u2013298","DOI":"10.1109\/WCRE.2012.38"},{"key":"10131_CR72","doi-asserted-by":"crossref","unstructured":"Teyton C, Falleri J R, Blanc X (2013) Automatic discovery of function mappings between similar libraries. In: WCRE, pp 192\u2013201","DOI":"10.1109\/WCRE.2013.6671294"},{"issue":"11","key":"10131_CR73","first-page":"1030","volume":"26","author":"C Teyton","year":"2014","unstructured":"Teyton C, Falleri J R, Palyart M, Blanc X (2014) A study of library migrations in java. J Softw: Evol Process 26(11):1030\u20131052","journal-title":"J Softw: Evol Process"},{"key":"10131_CR74","doi-asserted-by":"crossref","unstructured":"Thung F, Lo D, Lawall J (2013a) Automated library recommendation. In: WCRE, pp 182\u2013191","DOI":"10.1109\/WCRE.2013.6671293"},{"key":"10131_CR75","doi-asserted-by":"crossref","unstructured":"Thung F, Wang S, Lo D, Lawall J (2013b) Automatic recommendation of api methods from feature requests. In: ASE, pp 290\u2013300","DOI":"10.1109\/ASE.2013.6693088"},{"key":"10131_CR76","unstructured":"Vall\u00e9e-Rai R, Co P, Gagnon E, Hendren L, Lam P, Sundaresan V (1999) Soot: a java bytecode optimization framework. In: CASCON, p 13"},{"key":"10131_CR77","doi-asserted-by":"crossref","unstructured":"Wang Y, Wen M, Liu Z, Wu R, Wang R, Yang B, Yu H, Zhu Z, Cheung S C (2018) Do the dependency conflicts in my project matter?. In: ESEC\/FSE, pp 319\u2013330","DOI":"10.1145\/3236024.3236056"},{"issue":"3","key":"10131_CR78","doi-asserted-by":"publisher","first-page":"693","DOI":"10.1109\/TIFS.2018.2855648","volume":"14","author":"C Wang","year":"2019","unstructured":"Wang C, Chen B, Liu Y, Wu H (2019a) Layered object-oriented programming: advanced vtable reuse attacks on binary-level defense. IEEE Trans Inf Forensics Secur 14(3):693\u2013708","journal-title":"IEEE Trans Inf Forensics Secur"},{"key":"10131_CR79","doi-asserted-by":"crossref","unstructured":"Wang Y, Wen M, Wu R, Liu Z, Tan S H, Zhu Z, Yu H, Cheung S C (2019b) Could I have a stack trace to examine the dependency conflict issue. In: ICSE, pp 572\u2013583","DOI":"10.1109\/ICSE.2019.00068"},{"key":"10131_CR80","doi-asserted-by":"crossref","unstructured":"Wang Y, Chen B, Huang K, Shi B, Xu C, Peng X, Wu Y, Liu Y (2020) An empirical study of usages, updates and risks of third-party libraries in java projects. In: ICSME, pp 35\u201345","DOI":"10.1109\/ICSME46990.2020.00014"},{"key":"10131_CR81","doi-asserted-by":"crossref","unstructured":"Wittern E, Suter P, Rajagopalan S (2016) A look at the dynamics of the javascript package ecosystem. In: MSR, pp 351\u2013361","DOI":"10.1145\/2901739.2901743"},{"key":"10131_CR82","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: ICSE, pp 325\u2013334","DOI":"10.1145\/1806799.1806848"},{"issue":"4","key":"10131_CR83","doi-asserted-by":"publisher","first-page":"1126","DOI":"10.1007\/s10664-014-9317-9","volume":"20","author":"W Wu","year":"2015","unstructured":"Wu W, Serveaux A, Gu\u00e9h\u00e9neuc Y G, Antoniol G (2015) The impact of imperfect change rules on framework api evolution identification: an empirical study. Empir Softw Eng 20(4):1126\u20131158","journal-title":"Empir Softw Eng"},{"issue":"6","key":"10131_CR84","doi-asserted-by":"publisher","first-page":"2366","DOI":"10.1007\/s10664-015-9411-7","volume":"21","author":"W Wu","year":"2016","unstructured":"Wu W, Khomh F, Adams B, Gu\u00e9h\u00e9neuc Y G, Antoniol G (2016) An exploratory study of api changes and usages based on apache and eclipse ecosystems. Empir Softw Eng 21(6):2366\u20132412","journal-title":"Empir Softw Eng"},{"issue":"12","key":"10131_CR85","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":"10131_CR86","doi-asserted-by":"crossref","unstructured":"Xu G, Mitchell N, Arnold M, Rountev A, Sevitsky G (2010) Software bloat analysis: finding, removing, and preventing performance problems in modern large-scale object-oriented applications. In: FoSER, pp 421\u2013426","DOI":"10.1145\/1882362.1882448"},{"key":"10131_CR87","doi-asserted-by":"crossref","unstructured":"Zaimi A, Ampatzoglou A, Triantafyllidou N, Chatzigeorgiou A, Mavridis A, Chaikalis T, Deligiannis I, Sfetsos P, Stamelos I (2015) An empirical study on the reuse of third-party libraries in open-source software development. In: BCIC, pp 4:1\u20134:8","DOI":"10.1145\/2801081.2801087"},{"key":"10131_CR88","unstructured":"Zapata R E, Kula R G, Chinthanet B, Ishio T, Matsumoto K, Ihara A (2018) Towards smoother library migrations: a look at vulnerable dependency migrations at function level for npm javascript packages. In: ICSME, pp 559\u2013563"},{"key":"10131_CR89","doi-asserted-by":"crossref","unstructured":"Zerouali A, Constantinou E, Mens T, Robles G, Gonz\u00e1lez-Barahona J (2018) An empirical analysis of technical lag in npm package dependencies. In: ICSR, pp 95\u2013110","DOI":"10.1007\/978-3-319-90421-4_6"},{"key":"10131_CR90","doi-asserted-by":"crossref","unstructured":"Zhang Y, Dai J, Zhang X, Huang S, Yang Z, Yang M, Chen H (2018) Detecting third-party libraries in android applications with high precision and recall. In: SANER, pp 141\u2013152","DOI":"10.1109\/SANER.2018.8330204"},{"key":"10131_CR91","doi-asserted-by":"crossref","unstructured":"Zheng W, Zhang Q, Lyu M (2011) Cross-library api recommendation using web search engines. In: ESEC\/FSE, pp 480\u2013483","DOI":"10.1145\/2025113.2025197"},{"key":"10131_CR92","unstructured":"Zimmermann M, Staicu C A, Tenny C, Pradel M (2019) Small world with high risks: a study of security threats in the npm ecosystem. In: USENIX Security, pp 995\u20131010"}],"container-title":["Empirical Software Engineering"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-022-10131-8.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s10664-022-10131-8\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-022-10131-8.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,2,1]],"date-time":"2023-02-01T18:35:57Z","timestamp":1675276557000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s10664-022-10131-8"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022,4,14]]},"references-count":92,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2022,7]]}},"alternative-id":["10131"],"URL":"https:\/\/doi.org\/10.1007\/s10664-022-10131-8","relation":{},"ISSN":["1382-3256","1573-7616"],"issn-type":[{"value":"1382-3256","type":"print"},{"value":"1573-7616","type":"electronic"}],"subject":[],"published":{"date-parts":[[2022,4,14]]},"assertion":[{"value":"11 February 2022","order":1,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"14 April 2022","order":2,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}},{"order":1,"name":"Ethics","group":{"name":"EthicsHeading","label":"Declarations"}},{"value":"The authors have no competing interests to declare that are relevant to the content of this article.","order":2,"name":"Ethics","group":{"name":"EthicsHeading","label":"<!--Emphasis Type='Bold' removed-->Conflict of Interest"}}],"article-number":"90"}}