Master of Science
Identifying error-prone files in large software systems has been an area where significant attention has been paid over the years. In this thesis, we propose a process-metrics based method for predicting the health status of a file based on its commit profile in its GitHub repository. Precisely, for each file and each bug fixing commit a file participates, we compute a dependency score of the committed file with its other co-committed files. The calculated score is appropriately decayed if the file does not participate in the new bug-fixing commits in the system. By examining the trend of the dependency score for each file as time elapses, we try to deduce whether this file will be participating in a bug fixing commit in the immediately following commits. This approach has been evaluated in 21 medium to large open-source systems by correlating the dependency metric trend against the known outcome obtained from a data set we use as a gold standard.
Summary for Lay Audience
In most approaches to date, classifying a file as error prone or not is primarily based on metrics and other structural information extracted from the source code, and to a lesser extent on information related to process metrics extracted from the commit history of a file. This thesis proposes a process metrics-based method for predicting the error proneness of a file based on its commit profile in its GitHub repository. Our approach is based on the calculation of a per-file strength metric which indicates the level of dependency and commit frequency a file has with other files in a commit. The dependency score, i.e., strength metric is appropriately decayed if the file does not participate in the new bug-fixing commits in the system. By examining the trend of this strength value of a file over a period of commits, we aim to predict the error proneness of the file in immediately following commits.
Ria, ., "A Technique for Evaluating the Health Status of a Software Module Using Process Metrics" (2021). Electronic Thesis and Dissertation Repository. 7855.