ABSTRACT
When software components evolve, they change interfaces. Members that are obsolete are marked as deprecated and new members are added. We deal with the problem of migration from deprecated members to their replacement. We implemented two tools: Java Source Code Update Tool, which updates the source code based on a configuration file, and a generator, which heuristically figures out how to migrate from deprecated members and generates the configuration file. We evaluated these tools on five open source projects and the results are very encouraging.
- JaSCUT. http://java.net/projects/jascutGoogle Scholar
- JaSCUT Config Generator. http://java.net/projects/jascutconfGoogle Scholar
- J. H. Perkins. Automatically generating refactorings to support API evolution, ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering, pp. 111--114, 2005. Google ScholarDigital Library
- J. Henkel and A. Diwan. CatchUp!: capturing and replaying refactorings to support API evolution, International Conference on Software Engineering, pp. 274--283, 2005. Google ScholarDigital Library
- Eclipse IDE. http://www.eclipse.orgGoogle Scholar
- R. Štrobl. Generator of a configuration file for JaSCUT: Master's thesis. Czech Technical University in Prague, Faculty of Information Technology, 2013.Google Scholar
Index Terms
- Migration from deprecated API in Java
Recommendations
Exploring how deprecated Python library APIs are (not) handled
ESEC/FSE 2020: Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software EngineeringIn this paper, we present the first exploratory study of deprecated Python library APIs to understand the status quo of API deprecation in the realm of Python libraries. Specifically, we aim to comprehend how deprecated library APIs are declared and ...
Migrating Deprecated API to Documented Replacement: Patterns and Tool
Internetware '19: Proceedings of the 11th Asia-Pacific Symposium on InternetwareDeprecation is commonly leveraged to preserve the backwards compatibility in API clients during API evolution. Client developers then usually encounter migration tasks when relying on a new version of API. Manually migrating a deprecated API to its ...
On Deprecated API Usages: An Exploratory Study of Top-Starred Projects on GitHub
Product-Focused Software Process ImprovementAbstractA deprecated Application Programming Interface (API) is one that is no longer recommended to use by its original developers. While deprecated APIs (i.e., deprecated fields, methods, and classes) are still implemented, they can be removed in future ...
Comments