{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,19]],"date-time":"2026-03-19T16:37:19Z","timestamp":1773938239867,"version":"3.50.1"},"reference-count":40,"publisher":"Springer Science and Business Media LLC","issue":"1","license":[{"start":{"date-parts":[[2016,10,27]],"date-time":"2016-10-27T00:00:00Z","timestamp":1477526400000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Software Qual J"],"published-print":{"date-parts":[[2018,3]]},"DOI":"10.1007\/s11219-016-9344-4","type":"journal-article","created":{"date-parts":[[2016,10,27]],"date-time":"2016-10-27T20:10:36Z","timestamp":1477599036000},"page":"161-191","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":45,"title":["How do developers react to API evolution? A large-scale empirical study"],"prefix":"10.1007","volume":"26","author":[{"given":"Andr\u00e9","family":"Hora","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Romain","family":"Robbes","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Marco Tulio","family":"Valente","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Nicolas","family":"Anquetil","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Anne","family":"Etien","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"St\u00e9phane","family":"Ducasse","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2016,10,27]]},"reference":[{"key":"9344_CR1","doi-asserted-by":"crossref","unstructured":"Bavota, G, Canfora, G, Penta, M D, Oliveto, R, & Panichella, S (2013). The evolution of project inter-dependencies in a software ecosystem: the case of Apache. In International conference on software maintenance.","DOI":"10.1109\/ICSM.2013.39"},{"key":"9344_CR2","doi-asserted-by":"crossref","unstructured":"Bavota, G, Linares-Vasquez, M, Bernal-Cardenas, C E, Di Penta, M, Oliveto, R, & Poshyvanyk, D (2015). The impact of api change-and fault-proneness on the user ratings of android apps. IEEE Transactions on Software Engineering, 41 (4).","DOI":"10.1109\/TSE.2014.2367027"},{"key":"9344_CR3","doi-asserted-by":"crossref","unstructured":"Boulanger, J, & Robillard, M (2006). Managing concern interfaces. In International Conference on Software Maintenance.","DOI":"10.1109\/ICSM.2006.35"},{"key":"9344_CR4","doi-asserted-by":"crossref","unstructured":"Brito, G, Hora, A, Valente, M T, & Robbes, R (2016). Do developers deprecate APIs with replacement messages? A large-scale analysis on Java systems. In International conference on software analysis, evolution and reengineering.","DOI":"10.1109\/SANER.2016.99"},{"key":"9344_CR5","unstructured":"Businge, J, Serebrenik, A, & van den Brand, MG (2013). Eclipse API usage: the good and the bad. Software Quality Journal."},{"key":"9344_CR6","doi-asserted-by":"crossref","unstructured":"Chow, K, & Notkin, D (1996). Semi-automatic update of applications in response to library changes. In International conference on software maintenance.","DOI":"10.1109\/ICSM.1996.565039"},{"key":"9344_CR7","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 International symposium on the foundations of software engineering.","DOI":"10.1145\/2393596.2393661"},{"key":"9344_CR8","doi-asserted-by":"crossref","unstructured":"Dagenais, B, & Robillard, MP (2008). Recommending adaptive changes for framework evolution. In International conference on software engineering.","DOI":"10.1145\/1368088.1368154"},{"key":"9344_CR9","doi-asserted-by":"crossref","unstructured":"Dig, D, & Johnson, R (2005). The role of refactorings in API evolution. In International conference on software maintenance.","DOI":"10.1109\/ICSM.2005.90"},{"key":"9344_CR10","unstructured":"German, D M, & Adams, B (2013). Hassan AE, The evolution of the R software ecosystem. In European conference on software maintenance and reengineering."},{"key":"9344_CR11","doi-asserted-by":"crossref","unstructured":"Gokhale, A, Ganapathy, V, & Padmanaban, Y (2013). Inferring likely mappings between APIs. In International conference on software engineering.","DOI":"10.1109\/ICSE.2013.6606554"},{"key":"9344_CR12","doi-asserted-by":"crossref","unstructured":"Gonzalez-Barahona, J M, Robles, G, Michlmayr, M, Amor, J J, & German, D M (2009). Macro-level software evolution: a case study of a large software compilation. Empirical Software Engineering, 14(3).","DOI":"10.1007\/s10664-008-9100-x"},{"key":"9344_CR13","doi-asserted-by":"crossref","unstructured":"Haenni, N, Lungu, M, Schwarz, N, & Nierstrasz, O (2014). A quantitative analysis of developer information needs in software ecosystems. In European conference on software architecture workshops.","DOI":"10.1145\/2642803.2642815"},{"key":"9344_CR14","unstructured":"Henkel, J, & Diwan, A (2005). Catchup!: capturing and replaying refactorings to support API evolution. In: International conference on software engineering."},{"key":"9344_CR15","unstructured":"Hora, A, & Valente, M T (2015). apiwave: keeping track of API popularity and migration. In International conference on software maintenance and evolution. http:\/\/apiwave.com ."},{"key":"9344_CR16","doi-asserted-by":"crossref","unstructured":"Hora, A, Anquetil, N, Ducasse, S, & Allier, S (2012). Domain specific warnings: are they any better? In International conference on software maintenance.","DOI":"10.1109\/ICSM.2012.6405305"},{"key":"9344_CR17","doi-asserted-by":"crossref","unstructured":"Hora, A, Etien, A, Anquetil, N, Ducasse, S, & Valente, M T (2014). APIEvolutionMiner: keeping API evolution under control. In Software evolution week (european conference on software maintenance and working conference on reverse engineering.","DOI":"10.1109\/CSMR-WCRE.2014.6747209"},{"key":"9344_CR18","doi-asserted-by":"crossref","unstructured":"Hora, A, Anquetil, N, Etien, A, Ducasse, S, & Valente, M T (2015a). Automatic detection of system-specific conventions unknown to developers. Journal of Systems and Software, 109.","DOI":"10.1016\/j.jss.2015.08.007"},{"key":"9344_CR19","doi-asserted-by":"crossref","unstructured":"Hora, A, Robbes, R, Anquetil, N, Etien, A, Ducasse, S, & Valente, MT (2015b). How do developers react to API evolution? The Pharo ecosystem case. In International conference on software maintenance and evolution.","DOI":"10.1109\/ICSM.2015.7332471"},{"key":"9344_CR20","doi-asserted-by":"crossref","unstructured":"Hora, A, Valente, M T, Robbes, R, & Anquetil, N (2016). When should internal interfaces be promoted to public? In International symposium on the foundations of software engineering.","DOI":"10.1145\/2950290.2950306"},{"key":"9344_CR21","doi-asserted-by":"crossref","unstructured":"Jansen, S, Brinkkemper, S, & Cusumano, M (2013). Software ecosystems: analyzing and managing business networks in the software industry. Edward Elgar Pub.","DOI":"10.4337\/9781781955635"},{"key":"9344_CR22","doi-asserted-by":"crossref","unstructured":"Jergensen, C, Sarma, A, & Wagstrom, P (2011). The onion patch: migration in open source ecosystems. In European conference on foundations of software engineering.","DOI":"10.1145\/2025113.2025127"},{"key":"9344_CR23","doi-asserted-by":"crossref","unstructured":"Kim, M, & Notkin, D (2009). Discovering and representing systematic code changes. In International conference on software engineering.","DOI":"10.1109\/ICSE.2009.5070531"},{"key":"9344_CR24","doi-asserted-by":"crossref","unstructured":"Kim, M, Notkin, D, & Grossman, D (2007). Automatic inference of structural changes for matching across program versions. In International conference on software engineering.","DOI":"10.1109\/ICSE.2007.20"},{"key":"9344_CR25","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 International conference on program comprehension.","DOI":"10.1145\/2597008.2597155"},{"key":"9344_CR26","unstructured":"Lungu, M (2009). Reverse engineering software ecosystems. PhD thesis, University of Lugano, Switzerland."},{"key":"9344_CR27","doi-asserted-by":"crossref","unstructured":"Lungu, M, Lanza, M, G\u00eerba, T, & Robbes, R (2010a). The small project observatory: visualizing software ecosystems. Science of Computer Programming, 75(4).","DOI":"10.1016\/j.scico.2009.09.004"},{"key":"9344_CR28","doi-asserted-by":"crossref","unstructured":"Lungu, M, Robbes, R, & Lanza, M (2010b). Recovering inter-project dependencies in software ecosystems. In International conference on automated software engineering.","DOI":"10.1145\/1858996.1859058"},{"key":"9344_CR29","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 International conference on software maintenance.","DOI":"10.1109\/ICSM.2013.18"},{"key":"9344_CR30","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 International conference on software engineering.","DOI":"10.1109\/ICSE.2012.6227179"},{"key":"9344_CR31","doi-asserted-by":"crossref","unstructured":"Mens, T, Claes, M, Grosjean, P, & Serebrenik, A (2014). Studying evolving software ecosystems based on ecological models. In Mens, T, Serebrenik, A, & Cleve, A (Eds.) Evolving software systems. Berlin Heidelberg: Springer.","DOI":"10.1007\/978-3-642-45398-4_10"},{"key":"9344_CR32","doi-asserted-by":"crossref","unstructured":"Messerschmitt, D G, & Szyperski, C (2005). Software ecosystem: understanding an indispensable technology and industry. MIT Press Books, 1.","DOI":"10.7551\/mitpress\/6323.001.0001"},{"key":"9344_CR33","doi-asserted-by":"crossref","unstructured":"Nguyen, H A, Nguyen, T T, Wilson, G Jr, Nguyen, A T, Kim, M, & Nguyen, TN (2010). A graph-based approach to API usage adaptation. In International conference on object oriented programming systems languages and applications.","DOI":"10.1145\/1869459.1869486"},{"key":"9344_CR34","unstructured":"Robbes, R, Lungu, M, & R\u00f6thlisberger, D (2012). How do developers react to API deprecation? The case of a smalltalk ecosystem. In International symposium on the foundations of software engineering."},{"key":"9344_CR35","doi-asserted-by":"crossref","unstructured":"Sch\u00e4fer, T, Jonas, J, & Mezini, M (2008). Mining framework usage changes from instantiation code. In International conference on software engineering.","DOI":"10.1145\/1368088.1368153"},{"key":"9344_CR36","doi-asserted-by":"crossref","unstructured":"Schwarz, N, Lungu, M, & Robbes, R (2012). On how often code is cloned across repositories. In International conference on software engineering.","DOI":"10.1109\/ICSE.2012.6227097"},{"key":"9344_CR37","doi-asserted-by":"crossref","unstructured":"Wu, W, Gueheneuc, Y G, Antoniol, G, & Kim, M (2010). Aura: a hybrid approach to identify framework evolution. In International conference on software engineering.","DOI":"10.1145\/1806799.1806848"},{"key":"9344_CR38","doi-asserted-by":"crossref","unstructured":"Wu, W, Khomh, F, Adams, B, Gu\u00e9h\u00e9neuc, YG, & Antoniol, G (2016). An exploratory study of API changes and usages based on apache and eclipse ecosystems. Empirical Software Engineering.","DOI":"10.1007\/s10664-015-9411-7"},{"key":"9344_CR39","unstructured":"Zaki, M, & Meira, W Jr (2012). Fundamentals of data mining algorithms."},{"key":"9344_CR40","doi-asserted-by":"crossref","unstructured":"Zhong, H, Thummalapenta, S, Xie, T, Zhang, L, & Wang, Q (2010). Mining API mapping for language migration. In International conference on software engineering.","DOI":"10.1145\/1806799.1806831"}],"container-title":["Software Quality Journal"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/article\/10.1007\/s11219-016-9344-4\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s11219-016-9344-4.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s11219-016-9344-4.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,8,20]],"date-time":"2023-08-20T17:17:15Z","timestamp":1692551835000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/s11219-016-9344-4"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2016,10,27]]},"references-count":40,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2018,3]]}},"alternative-id":["9344"],"URL":"https:\/\/doi.org\/10.1007\/s11219-016-9344-4","relation":{},"ISSN":["0963-9314","1573-1367"],"issn-type":[{"value":"0963-9314","type":"print"},{"value":"1573-1367","type":"electronic"}],"subject":[],"published":{"date-parts":[[2016,10,27]]}}}