Understanding and Tooling Framework API Evolution

Wei Wu

Ph.D. thesis (2014)

Access this document
Available
Open access to the full text in PolyPublie
Text Text • 3MB •

Abstract

Frameworks are widely used in modern software development and are accessed through their Application Programming Interfaces (APIs), which specify sets of functionalities that client programs can use to accomplish their tasks. Frameworks keep evolving during their lifespan to cope with new requirements, to patch security vulnerabilities, etc. Framework evolution may lead to API changes to which client programs must adapt. Upgrading to new releases of frameworks is time-consuming and can even interrupt services. Helping developers upgrade frameworks draws great interests from both academic and industrial researchers. In this dissertation, we first present an exploratory study to investigate the reality of API changes and usages in Maven repository and two framework ecosystems: Apache and Eclipse. We find that API changes in about 10% of frameworks affect about 50% of client programs. Missing classes and missing methods happen more often in frameworks and affect client programs more often than other API changes. About 80% API usages in client programs can be reduced by refactoring. Based on these findings, we conduct an empirical study to verify the usefulness of API change rules automatically built by previous approaches, which recommend the replacements for missing APIs due to framework evolution. We show that API change rules do help developers find the replacements of missing APIs more accurately, especially for frameworks difficult to understand. We describe another empirical study to evaluate the effectiveness of features used to build API change rules and of different ways combining multiple features. We argue and show that multi-objective-optimization-based approaches can detect more correct change rules and are easier to extend with new features than previous approaches.

Program:
Génie informatique
Academic/Research Directors :
Institution:
École Polytechnique de Montréal
OAI:
oai:publications.polymtl.ca:1642
ORCID
Date Deposited:
02 Apr 2015 10:52
Last Modified:
08 Oct 2026 16:37
Cite in APA 7:
Wu, W. (2014). Understanding and Tooling Framework API Evolution [Ph.D. thesis, École Polytechnique de Montréal]. PolyPublie. https://publications.polymtl.ca/1642/

Statistics

Total downloads

Downloads per month in the last year

Origin of downloads

Repository Staff Only

View Item
View Item