Can commit change history reveal potential fault prone classes? A study on GitHub repositories

Chun Yong Chong, Sai Peck Lee

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

    Abstract

    Various studies had successfully utilized graph theory analysis as a way to gain a high-level abstraction view of the software systems, such as constructing the call graph to visualize the dependencies among software components. The level of granularity and information shown by the graph usually depends on the input such as variable, method, class, package, or combination of multiple levels. However, there are very limited studies that investigated how software evolution and change history can be used as a basis to model software-based complex network. It is a common understanding that stable and well-designed source code will have less update throughout a software development lifecycle. It is only those code that were badly design tend to get updated due to broken dependencies, high coupling, or dependencies with other classes. This paper put forward an approach to model a commit change-based weighted complex network based on historical software change and evolution data captured from GitHub repositories with the aim to identify potential fault prone classes. Four well-established graph centrality metrics were used as a proxy metric to discover fault prone classes. Experiments on ten open-source projects discovered that when all centrality metrics are used together, it can yield reasonably good precision when compared against the ground truth.

    Original languageEnglish
    Title of host publicationSoftware Technologies
    Subtitle of host publication13th International Conference, ICSOFT 2018 Porto, Portugal, July 26–28, 2018 Revised Selected Papers
    EditorsMarten van Sinderen, Leszek A. Maciaszek
    Place of PublicationCham Switzerland
    PublisherSpringer
    Pages266-281
    Number of pages16
    ISBN (Electronic)9783030291570
    ISBN (Print)9783030291563
    DOIs
    Publication statusPublished - 2019
    EventInternational Conference on Software and Data Technologies 2018 - Porto, Portugal
    Duration: 26 Jul 201828 Jul 2018
    Conference number: 13th
    https://link.springer.com/book/10.1007/978-3-030-29157-0 (Proceedings)
    http://www.icsoft.org/ (Website)

    Publication series

    NameCommunications in Computer and Information Science
    PublisherSpringer
    Volume1077
    ISSN (Print)1865-0929
    ISSN (Electronic)1865-0937

    Conference

    ConferenceInternational Conference on Software and Data Technologies 2018
    Abbreviated titleICSOFT 2018
    CountryPortugal
    CityPorto
    Period26/07/1828/07/18
    Internet address

    Keywords

    • Commit change data
    • Complex network
    • Mining software repositories
    • Software change coupling
    • Software fault identification

    Cite this