Degree Type


Date of Award


Degree Name

Doctor of Philosophy


Computer Science

First Advisor

Carl K. Chang


Evolution of software components may lead to compatibility problems, such as incorrect executing results, compilation errors and system crashes. Solving those problems is a big challenge in software engineering.

In the past decade, many automatic solutions to address this issue have been proposed. However, all of them rely on extra change information (i.e., the information regarding the changes of the upgraded components). Without such information, none of the existing solutions can work. Therefore, how to fully automatically solve compatibility problems without extra information is still an important open issue.

In the current study, I proposed an end-to-end solution to fully automatically adapt incompatible components without resorting to any extra information. It is composed of two parts. The first part is TARP, an AI-planning based automatic refactoring history reconstruction framework. For an upgraded component, TARP can automatically reconstruct the missing refactoring history. The second part is ALTA, an automatic load-time adaptation framework, which can adapt incompatible components on-the-fly according to the refactoring history generated from TARP. Therefore, as an integrated solution with both TARP and ALTA, compatibility problems among application and components can be fully automatically solved to a very large extent.

The implementation of ALTA as ALTA*, and TARP as TARP*, were evaluated by conducting five sets of tests. The experimental results show that the TARP* + ALTA* solution can indeed fully automatically fix compatibility problems incurred to large-scale components without any additional information.


Copyright Owner

Kai-Shin Lu



File Format


File Size

147 pages