  The migration process between different third-party software libraries is
hard, complex and error-prone. Typically, during a library migration process,
developers opt to replace methods from the retired library with other methods
from a new library without altering the software behavior. However, the extent
to which such a migration process to new libraries will be rewarded with an
improved software quality is still unknown. In this paper, we aim at studying
and analyzing the impact of library API migration on software quality. We
conduct a large-scale empirical study on 9 popular API migrations, collected
from a corpus of 57,447 open-source Java projects. We compute the values of
commonly-used software quality metrics before and after a migration occurs. The
statistical analysis of the obtained results provides evidence that library
migrations are likely to improve different software quality attributes
including significantly reduced coupling, increased cohesion, and improved code
readability. Furthermore, we release an online portal that helps software
developers to understand the pre-impact of a library migration on software
quality and recommend migration examples that adopt the best design and
implementation practices to improve software quality. Finally, we provide the
software engineering community with a large scale dataset to foster research in
software library migration.
