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 PaperOtherpeer-review

1 Citation (Scopus)

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
Country/TerritoryPortugal
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