How Does Library Migration Impact Software Quality and Comprehension? An Empirical Study

Hussein Alrubaye, Deema Alshoaibi, Eman Alomar, Mohamed Wiem Mkaouer, Ali Ouni

    Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

    15 Scopus citations

    Abstract

    The process of migration between different third-party software libraries, while being an typical library reuse practice, is complex, time consuming and error-prone. Typically, during a library migration process, developers opt to replace methods from a retired library with other methods from a new library without altering the software behavior. However, the extent to which the process of migrating to new libraries will be rewarded with improved software quality is still unknown. In this paper, our goal is to study the impact of library API migration on software quality. We conducted a large-scale empirical study on 9 popular API migrations, collected from a corpus of 57,447 open-source Java projects. We computed 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 released an online portal that helps software developers to understand the impact of a library migration on software quality and recommend migration examples that adopt 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.

    Original languageEnglish
    Title of host publicationReuse in Emerging Software Engineering Practices - 19th International Conference on Software and Systems Reuse, ICSR 2020, Proceedings
    EditorsSihem Ben Sassi, Sihem Ben Sassi, Stéphane Ducasse, Hafedh Mili
    Pages245-260
    Number of pages16
    DOIs
    StatePublished - 2020
    Event19th International Conference on Software and Systems Reuse, ICSR 2020 - Hammamet, Tunisia
    Duration: 2 Dec 20204 Dec 2020

    Publication series

    NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
    Volume12541 LNCS
    ISSN (Print)0302-9743
    ISSN (Electronic)1611-3349

    Conference

    Conference19th International Conference on Software and Systems Reuse, ICSR 2020
    Country/TerritoryTunisia
    CityHammamet
    Period2/12/204/12/20

    Keywords

    • API migration
    • Code comprehension
    • Software quality

    Fingerprint

    Dive into the research topics of 'How Does Library Migration Impact Software Quality and Comprehension? An Empirical Study'. Together they form a unique fingerprint.

    Cite this