# Incorporating fault-proneness estimations into coverage-based test case   prioritization methods

**Authors:** Mostafa Mahdieh, Seyed-Hassan Mirian-Hosseinabadi, Khashayar Etemadi,, Ali Nosrati, Sajad Jalali

arXiv: 1908.06502 · 2020-02-18

## TL;DR

This paper proposes a method to enhance coverage-based test case prioritization by integrating fault-proneness estimations derived from bug history and neural network models, leading to improved fault detection efficiency.

## Contribution

It introduces a novel approach that combines defect prediction with coverage-based TCP methods, demonstrating significant improvements in test prioritization effectiveness.

## Key findings

- Using bug history improves TCP methods.
- Neural network models effectively estimate fault-proneness.
- Enhanced TCP methods detect faults earlier.

## Abstract

Context: During the development process of a software program, regression testing is used to ensure that the correct behavior of the software is retained after updates to the source code. This regression testing becomes costly over time as the number of test cases increases and it makes sense to prioritize test cases in order to execute fault-detecting test cases as soon as possible. There are many coverage-based test case prioritization (TCP) methods that only use the code coverage data to prioritize test cases. By incorporating the fault-proneness estimations of code units into the coverage-based TCP methods, we can improve such techniques.   Objective: In this paper, we aim to propose an approach which improves coverage-based TCP methods by considering the fault-proneness distribution over code units. Further, we present the results of an empirical study that shows using our proposed approach significantly improves the additional strategy, which is a widely used coverage-based TCP method.   Method: The approach presented in this study uses the bug history of the software in order to introduce a defect prediction method to learn a neural network model. This model is then used to estimate fault-proneness of each area of the source code and then the estimations are incorporated into coverage-based TCP methods. Our proposed approach is a general idea that can be applied to many coverage-based methods, such as the additional and total TCP methods.   Results: The proposed methods are evaluated on datasets collected from the development history of five real-world projects including 357 versions in total. The experiments show that using an appropriate bug history can improve coverage-based TCP methods.

## Full text

_Full body text omitted from this summary view._ Fetch the complete paper as Markdown: https://tomesphere.com/paper/1908.06502/full.md

## Figures

28 figures with captions in the complete paper: https://tomesphere.com/paper/1908.06502/full.md

## References

68 references — full list in the complete paper: https://tomesphere.com/paper/1908.06502/full.md

---
Source: https://tomesphere.com/paper/1908.06502