Abstract
In the course of a framework’s evolution, changes ranging from a simple refactoring to a complete rearchitecture can break client programs. Finding suitable replacements for framework elements that were accessed by a client program and deleted as part of the framework’s evolution can be a challenging task. We present a recommendation system, SemDiff, that suggests adaptations to client programs by analyzing how a framework was adapted to its own changes. In a study of the evolution of one open source framework and three client programs, our approach recommended relevant adaptive changes with a high level of precision. In a second study of the evolution of two frameworks, we found that related change detection approaches were better at discovering systematic changes and that SemDiff was complementary to these approaches by detecting non-trivial changes such as when a functionality is imported from an external library.
Publisher
Association for Computing Machinery (ACM)
Cited by
61 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Software solutions for newcomers’ onboarding in software projects: A systematic literature review;Information and Software Technology;2025-01
2. Unprecedented Code Change Automation: The Fusion of LLMs and Transformation by Example;Proceedings of the ACM on Software Engineering;2024-07-12
3. Compiler-directed Migrating API Callsite of Client Code;Proceedings of the IEEE/ACM 46th International Conference on Software Engineering;2024-04-12
4. Do API Migrations revert commits - A Preliminary Investigation;2023 IEEE 14th Annual Ubiquitous Computing, Electronics & Mobile Communication Conference (UEMCON);2023-10-12
5. An Automated Code Update Tool For Python Packages;2023 IEEE International Conference on Software Maintenance and Evolution (ICSME);2023-10-01