Abstract

Fault prediction is an important research area that aids software development and the maintenance process. It is a field that has been continuously improving its approaches in order to reduce the fault resolution time and effort. With an aim to contribute towards building new approaches for fault prediction, this paper proposes Entropy Churn Metrics (ECM) based on History Complexity Metrics (HCM) and Churn of Source Code Metrics (CHU). The study also compares performance of ECM with that of HCM. The performance of both these metrics is compared for 14 subsystems of 5different software projects: Android, Eclipse, Apache Http Server, Eclipse C/C++ Development Tooling (CDT), and Mozilla Firefox. The study also analyses the software subsystems on three parameters: (i) distribution of faults, (ii) subsystem size, and (iii) programming language, to determine which characteristics of software systems make HCM or ECM more preferred over others.

Highlights

  • With growing research in the field of software engineering, many fault prediction approaches have been developed

  • The paper proposed a new metric for fault prediction based on churn of entropy (i.e., Entropy Churn Metrics (ECM))

  • ECM was compared with History Complexity Metrics (HCM) for 14 software subsystems

Read more

Summary

Introduction

With growing research in the field of software engineering, many fault prediction approaches have been developed. Entropy 2018, 20, 963 is compared with History Complexity Metrics (HCM), which model entropy of changes in software subsystems [7] Both these metrics are based on the concept of entropy of software change. ECM is evaluated to determine whether churn-of-entropy-based metrics can be used for efficient prediction of faults in a software system. The study aims to determine when it is better to use churn of entropy (ECM) over entropy (HCM) for predicting faults in a software subsystem and vice versa. The software subsystems chosen for the study are of different sizes, are written in different programming languages, and have varying distribution of faults This would help in analyzing and determining the tendency of certain types of subsystems to favor a particular metric over another.

Related Work
Entropy Churn Metrics
History Complexity Metrics
Churn of Source Code Metrics
Research
The research was carriedto be Project
Regression Analysis and Comparison of Results
Selected
Data Extraction and Metrics Calculation
Results
Distribution of Faults
System Size
Classification
Language
Discussion
Threats to Internal Validity
Threats to External Validity
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call