{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,27]],"date-time":"2025-03-27T10:12:45Z","timestamp":1743070365141,"version":"3.40.3"},"publisher-location":"Cham","reference-count":45,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783031360596"},{"type":"electronic","value":"9783031360602"}],"license":[{"start":{"date-parts":[[2023,1,1]],"date-time":"2023-01-01T00:00:00Z","timestamp":1672531200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"},{"start":{"date-parts":[[2023,1,1]],"date-time":"2023-01-01T00:00:00Z","timestamp":1672531200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2023]]},"DOI":"10.1007\/978-3-031-36060-2_7","type":"book-chapter","created":{"date-parts":[[2023,10,5]],"date-time":"2023-10-05T17:04:18Z","timestamp":1696525458000},"page":"153-179","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":0,"title":["Supporting Collateral Evolution in Software Ecosystems"],"prefix":"10.1007","author":[{"given":"Zhou","family":"Yang","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Bowen","family":"Xu","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"David","family":"Lo","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2023,5,26]]},"reference":[{"key":"7_CR1","doi-asserted-by":"crossref","unstructured":"Andersen, J., Nguyen, A.C., Lo, D., Lawall, J.L., Khoo, S.C.: Semantic patch inference. In: International Conference on Automated Software Engineering (ASE), pp. 382\u2013385 (2012)","DOI":"10.1145\/2351676.2351753"},{"key":"7_CR2","doi-asserted-by":"crossref","unstructured":"Andersen, J., Nguyen, A.C., Lo, D., Lawall, J.L., Khoo, S.C.: Semantic patch inference. In: International Conference on Automated Software Engineering (ASE), pp. 382\u2013385. ACM, New York (2012). https:\/\/doi.org\/10.1145\/2351676.2351753","DOI":"10.1145\/2351676.2351753"},{"key":"7_CR3","doi-asserted-by":"crossref","unstructured":"Asyrofi, M.H., Thung, F., Lo, D., Jiang, L.: AUSearch: accurate API usage search in GitHub repositories with type resolution. In: International Conference on Software Analysis, Evolution and Reengineering (SANER). IEEE, Piscataway (2020)","DOI":"10.1109\/SANER48275.2020.9054809"},{"key":"7_CR4","doi-asserted-by":"publisher","first-page":"1458","DOI":"10.1007\/s10664-019-09756-z","volume":"25","author":"A Brito","year":"2020","unstructured":"Brito, A., Valente, M.T., Xavier, L., Hora, A.: You broke my code: understanding the motivations for breaking changes in APIs. Empirical Softw. Eng. 25, 1458\u20131492 (2020)","journal-title":"Empirical Softw. Eng."},{"key":"7_CR5","doi-asserted-by":"crossref","unstructured":"Brito, A., Xavier, L., Hora, A., Valente, M.T.: Why and how java developers break APIs. In: International Conference on Software Analysis, Evolution and Reengineering (SANER), pp. 255\u2013265. IEEE, Piscataway (2018)","DOI":"10.1109\/SANER.2018.8330214"},{"key":"7_CR6","doi-asserted-by":"crossref","unstructured":"Brito, G., Hora, A., Valente, M.T., Robbes, R.: Do developers deprecate APIs with replacement messages? A large-scale analysis on Java systems. In: International Conference on Software Analysis, Evolution and Reengineering (SANER), vol. 1, pp. 360\u2013369. IEEE, Piscataway (2016)","DOI":"10.1109\/SANER.2016.99"},{"issue":"1","key":"7_CR7","doi-asserted-by":"publisher","first-page":"107","DOI":"10.1007\/s11219-013-9221-3","volume":"23","author":"J Businge","year":"2015","unstructured":"Businge, J., Serebrenik, A., Brand, M.G.: Eclipse API usage: the good and the bad. Softw. Quality J. 23(1), 107\u2013141 (2015). https:\/\/doi.org\/10.1007\/s11219-013-9221-3","journal-title":"Softw. Quality J."},{"key":"7_CR8","doi-asserted-by":"publisher","first-page":"3","DOI":"10.1002\/smr.220","volume":"13","author":"N Chapin","year":"2001","unstructured":"Chapin, N., Hale, J., Khan, K., Ramil, J., Than, W.G.: Types of software evolution and software maintenance. J. Softw. Maint. Evol. 13, 3\u201330 (2001)","journal-title":"J. Softw. Maint. Evol."},{"key":"7_CR9","doi-asserted-by":"crossref","unstructured":"Chou, A., Yang, J., Chelf, B., Hallem, S., Engler, D.: An empirical study of operating systems errors. In: ACM Symposium on Operating Systems Principles, pp. 73\u201388 (2001)","DOI":"10.1145\/502059.502042"},{"key":"7_CR10","doi-asserted-by":"crossref","unstructured":"Cossette, B., Walker, R.J.: Seeking the ground truth: a retroactive study on the evolution and migration of software libraries. In: International Symposium on Foundations of Software Engineering (FSE) (2012)","DOI":"10.1145\/2393596.2393661"},{"issue":"2","key":"7_CR11","doi-asserted-by":"publisher","first-page":"83","DOI":"10.1002\/smr.328","volume":"18","author":"D Dig","year":"2006","unstructured":"Dig, D., Johnson, R.: How do APIs evolve? A story of refactoring. J. Softw. Maint. Evol. Res. Pract. 18(2), 83\u2013107 (2006)","journal-title":"A story of refactoring. J. Softw. Maint. Evol. Res. Pract."},{"key":"7_CR12","doi-asserted-by":"crossref","unstructured":"Fazzini, M., Xin, Q., Orso, A.: Automated API-usage update for Android apps. In: International Symposium on Software Testing and Analysis (ISSTA), pp. 204\u2013215. ACM, New York (2019)","DOI":"10.1145\/3293882.3330571"},{"key":"7_CR13","doi-asserted-by":"crossref","unstructured":"Feng, Z., Guo, D., Tang, D., Duan, N., Feng, X., Gong, M., Shou, L., Qin, B., Liu, T., Jiang, D., Zhou, M.: CodeBERT: a pre-trained model for programming and natural languages. In: Findings of the Association for Computational Linguistics: EMNLP, pp. 1536\u20131547. Association for Computational Linguistics (2020)","DOI":"10.18653\/v1\/2020.findings-emnlp.139"},{"key":"7_CR14","unstructured":"Guo, D., Ren, S., Lu, S., Feng, Z., Tang, D., Shujie, L., Zhou, L., Duan, N., Svyatkovskiy, A., Fu, S., Tufano, M., Deng, S.K., Clement, C., Drain, D., Sundaresan, N., Yin, J., Jiang, D., Zhou, M.: GraphCodeBERT: pre-training code representations with data flow. In: International Conference on Learning Representations (ICLR 2021), Poster (2021)"},{"key":"7_CR15","doi-asserted-by":"crossref","unstructured":"Haryono, S.A., Thung, F., Kang, H.J., Serrano, L., Muller, G., Lawall, J., Lo, D., Jiang, L.: Automatic Android deprecated-API usage update by learning from single updated example. In: International Conference on Program Comprehension (ICPC). IEEE (2020)","DOI":"10.1145\/3387904.3389285"},{"issue":"3","key":"7_CR16","doi-asserted-by":"publisher","first-page":"73","DOI":"10.1007\/s10664-021-10096-0","volume":"27","author":"SA Haryono","year":"2022","unstructured":"Haryono, S.A., Thung, F., Lo, D., Jiang, L., Lawall, J., Kang, H.J., Serrano, L., Muller, G.: AndroEvolve: automated android API update with data flow analysis and variable denormalization. Empirical Softw. Eng. 27(3), 73 (2022). https:\/\/doi.org\/10.1007\/s10664-021-10096-0","journal-title":"Empirical Softw. Eng."},{"key":"7_CR17","doi-asserted-by":"publisher","unstructured":"Haryono, S.A., Thung, F., Lo, D., Lawall, J., Jiang, L.: Characterization and automatic updates of deprecated machine-learning api usages. In: International Conference on Software Maintenance and Evolution (ICSME), pp. 137\u2013147 (2021). https:\/\/doi.org\/10.1109\/ICSME52107.2021.00019","DOI":"10.1109\/ICSME52107.2021.00019"},{"key":"7_CR18","doi-asserted-by":"crossref","unstructured":"Henkel, J., Diwan, A.: CatchUp! capturing and replaying refactorings to support API evolution. In: International Conference on Software Engineering (ICSE), pp. 274\u2013283. IEEE, Piscataway (2005)","DOI":"10.1145\/1062455.1062512"},{"key":"7_CR19","doi-asserted-by":"crossref","unstructured":"Hora, A., Robbes, R., Anquetil, N., Etien, A., Ducasse, S., Valente, M.T.: How do developers react to API evolution? The Pharo ecosystem case. In: International Conference on Software Maintenance and Evolution (ICSME), pp. 251\u2013260. IEEE, Piscataway (2015)","DOI":"10.1109\/ICSM.2015.7332471"},{"key":"7_CR20","doi-asserted-by":"crossref","unstructured":"Jiang, J., Ren, L., Xiong, Y., Zhang, L.: Inferring program transformations from singular examples via big code. In: International Conference on Automated Software Engineering (ASE), pp. 255\u2013266. IEEE, Piscataway (2019)","DOI":"10.1109\/ASE.2019.00033"},{"key":"7_CR21","unstructured":"Kang, H.J., Thung, F., Lawall, J., Muller, G., Jiang, L., Lo, D.: Automating program transformation for Java using semantic patches. In: European Conference on Object-Oriented Programming (ECOOP) (2019)"},{"key":"7_CR22","unstructured":"Lawall, J., Muller, G.: Coccinelle: 10 years of automated evolution in the Linux kernel. In: USENIX Annual Technical Conference, pp. 601\u2013614 (2018)"},{"key":"7_CR23","unstructured":"Lawall, J., Palinski, D., Gnirke, L., Muller, G.: Fast and precise retrieval of forward and back porting information for Linux device drivers. In: USENIX Annual Technical Conference, pp. 15\u201326 (2017)"},{"issue":"12","key":"7_CR24","doi-asserted-by":"publisher","DOI":"10.1002\/smr.2181","volume":"31","author":"D Li","year":"2019","unstructured":"Li, D., Li, L., Kim, D., Bissyand\u00e9, T.F., Lo, D., Le Traon, Y.: Watch out for this commit! A study of influential software changes. J. Softw. Evol. Process 31(12), e2181 (2019)","journal-title":"A study of influential software changes. J. Softw. Evol. Process"},{"key":"7_CR25","doi-asserted-by":"crossref","unstructured":"Li, L., Gao, J., Bissyand\u00e9, T.F., Ma, L., Xia, X., Klein, J.: Characterising deprecated Android APIs. In: International Conference on Mining Software Repositories (MSR), pp. 254\u2013264. ACM, New York (2018)","DOI":"10.1145\/3196398.3196419"},{"key":"7_CR26","unstructured":"Lientz, B.P., Swanson, E.B.: Software maintenance management: a study of the maintenance of computer application software in 487 data processing organizations. Addison-Wesley (1980)"},{"key":"7_CR27","doi-asserted-by":"crossref","unstructured":"Meng, N., Kim, M., McKinley, K.S.: Sydit: creating and applying a program transformation from an example. In: Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC\/FSE), pp. 440\u2013443 (2011)","DOI":"10.1145\/2025113.2025185"},{"key":"7_CR28","doi-asserted-by":"crossref","unstructured":"Meng, N., Kim, M., McKinley, K.S.: Lase: locating and applying systematic edits by learning from examples. In: International Conference on Software Engineering (ICSE), pp. 502\u2013511. IEEE, Piscataway (2013). https:\/\/doi.org\/http:\/\/dl.acm.org\/citation.cfm?id=2486788.2486855","DOI":"10.1109\/ICSE.2013.6606596"},{"key":"7_CR29","doi-asserted-by":"crossref","unstructured":"Padioleau, Y., Lawall, J., Muller, G.: Understanding collateral evolution in Linux device drivers. In: SIGOPS\/EuroSys European Conference on Computer Systems (ECCS), pp. 59\u201371. ACM, New York (2006)","DOI":"10.1145\/1218063.1217942"},{"key":"7_CR30","doi-asserted-by":"crossref","unstructured":"Ramkisoen, P.K., Businge, J., van Bladel, B., Decan, A., Demeyer, S., De Roover, C., Khomh, F.: Pareco: patched clones and missed patches among the divergent variants of a software family. In: Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC\/FSE), pp. 646\u2013658 (2022)","DOI":"10.1145\/3540250.3549112"},{"key":"7_CR31","doi-asserted-by":"crossref","unstructured":"Robbes, R., Lungu, M., R\u00f6thlisberger, D.: How do developers react to API deprecation? The case of a Smalltalk ecosystem. In: International Symposium on Foundations of Software Engineering (FSE), p. 56. ACM, New York (2012)","DOI":"10.1145\/2393596.2393662"},{"key":"7_CR32","doi-asserted-by":"crossref","unstructured":"Rodriguez, L.R., Lawall, J.: Increasing automation in the backporting of Linux drivers using Coccinelle. In: European Dependable Computing Conference (EDCC), pp. 132\u2013143. IEEE, Piscataway (2015)","DOI":"10.1109\/EDCC.2015.23"},{"key":"7_CR33","doi-asserted-by":"publisher","unstructured":"Rolim, R., Soares, G., D\u2019Antoni, L., Polozov, O., Gulwani, S., Gheyi, R., Suzuki, R., Hartmann, B.: Learning syntactic program transformations from examples. In: International Conference on Software Engineering (ICSE), pp. 404\u2013415. IEEE, Piscataway (2017). https:\/\/doi.org\/10.1109\/ICSE.2017.44","DOI":"10.1109\/ICSE.2017.44"},{"key":"7_CR34","doi-asserted-by":"crossref","unstructured":"Sawant, A.A., Robbes, R., Bacchelli, A.: On the reaction to deprecation of clients of \n$$4+$$\n 1 popular Java APIs and the JDK. EMSE 23(4), 2158\u20132197 (2018)","DOI":"10.1007\/s10664-017-9554-9"},{"key":"7_CR35","doi-asserted-by":"publisher","unstructured":"Scalabrino, S., Linares-V\u00e1squez, M., Oliveto, R., Poshyvanyk, D.: A comprehensive model for code readability. J. Softw. Evol. Process 30 (2018). https:\/\/doi.org\/10.1002\/smr.1958","DOI":"10.1002\/smr.1958"},{"key":"7_CR36","unstructured":"Serrano, L., Nguyen, V.A., Thung, F., Jiang, L., Lo, D., Lawall, J., Muller, G.: SPINFER: inferring semantic patches for the Linux kernel. In: USENIX Annual Technical Conference, pp. 235\u2013248 (2020)"},{"key":"7_CR37","doi-asserted-by":"crossref","unstructured":"Thung, F., Haryono, S.A., Serrano, L., Muller, G., Lawall, J., Lo, D., Jiang, L.: Automated deprecated-API usage update for Android apps: how far are we? In: International Conference on Software Analysis, Evolution and Reengineering (SANER), pp. 602\u2013611. IEEE, Piscataway (2020)","DOI":"10.1109\/SANER48275.2020.9054860"},{"key":"7_CR38","doi-asserted-by":"crossref","unstructured":"Thung, F., Le, X.B.D., Lo, D., Lawall, J.: Recommending code changes for automatic backporting of Linux device drivers. In: International Conference on Software Maintenance and Evolution (ICSME), pp. 222\u2013232. IEEE, Piscataway (2016)","DOI":"10.1109\/ICSME.2016.71"},{"key":"7_CR39","doi-asserted-by":"crossref","unstructured":"Wang, Y., Wang, W., Joty, S., Hoi, S.C.: CodeT5: identifier-aware unified pre-trained encoder-decoder models for code understanding and generation. In: Conference on Empirical Methods in Natural Language Processing (EMNLP) (2021)","DOI":"10.18653\/v1\/2021.emnlp-main.685"},{"key":"7_CR40","doi-asserted-by":"crossref","unstructured":"Xavier, L., Brito, A., Hora, A., Valente, M.T.: Historical and impact analysis of API breaking changes: a large-scale study. In: International Conference on Software Analysis, Evolution and Reengineering (SANER), pp. 138\u2013147. IEEE, Piscataway (2017)","DOI":"10.1109\/SANER.2017.7884616"},{"key":"7_CR41","doi-asserted-by":"crossref","unstructured":"Xu, S., Dong, Z., Meng, N.: Meditor: inference and application of API migration edits. In: International Conference on Program Comprehension (ICPC), pp. 335\u2013346. IEEE, Piscataway (2019)","DOI":"10.1109\/ICPC.2019.00052"},{"key":"7_CR42","doi-asserted-by":"crossref","unstructured":"Yang, G., Jones, J., Moninger, A., Che, M.: How do Android operating system updates impact apps? In: International Conference on Mobile Software Engineering and Systems, pp. 156\u2013160. ACM, New York (2018)","DOI":"10.1145\/3197231.3197258"},{"key":"7_CR43","doi-asserted-by":"publisher","unstructured":"Zhang, Z., Yang, Y., Xia, X., Lo, D., Ren, X., Grundy, J.: Unveiling the mystery of API evolution in deep learning frameworks: a case study of Tensorflow 2. In: International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP), pp. 238\u2013247 (2021). https:\/\/doi.org\/10.1109\/ICSE-SEIP52600.2021.00033","DOI":"10.1109\/ICSE-SEIP52600.2021.00033"},{"key":"7_CR44","doi-asserted-by":"publisher","unstructured":"Zhang, Z., Zhu, H., Wen, M., Tao, Y., Liu, Y., Xiong, Y.: How do Python framework APIs evolve? An exploratory study. In: International Conference on Software Analysis, Evolution and Reengineering (SANER), pp. 81\u201392 (2020). https:\/\/doi.org\/10.1109\/SANER48275.2020.9054800","DOI":"10.1109\/SANER48275.2020.9054800"},{"key":"7_CR45","doi-asserted-by":"crossref","unstructured":"Zhou, J., Walker, R.J.: API deprecation: a retrospective analysis and detection method for code examples on the web. In: International Conference on Software Engineering (ICSE), pp. 266\u2013277. ACM, New York (2016)","DOI":"10.1145\/2950290.2950298"}],"container-title":["Software Ecosystems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-031-36060-2_7","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,10,5]],"date-time":"2023-10-05T17:06:40Z","timestamp":1696525600000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-031-36060-2_7"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023]]},"ISBN":["9783031360596","9783031360602"],"references-count":45,"URL":"https:\/\/doi.org\/10.1007\/978-3-031-36060-2_7","relation":{},"subject":[],"published":{"date-parts":[[2023]]},"assertion":[{"value":"26 May 2023","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}}]}}