Pallabi Ghosh,Ashis Kr. Chakraborty,Soumen Dey
Abstract:Estimation of software reliability often poses a considerable challenge, particularly for critical softwares. Several methods of estimation of reliability of software are already available in the literature. But, so far almost nobody used the concept of size of a bug for estimating software reliability. In this article we make used of the bug size or the eventual bug size which helps us to determine reliability of software more precisely. The size-biased model developed here can also be used for similar fields like hydrocarbon exploration. The model has been validated through simulation and subsequently used for a critical space application software testing data. The estimated results match the actual observations to a large extent.
What problem does this paper attempt to address?
The key problem that this paper attempts to solve is **software reliability estimation**, especially for critical software (such as software in space missions). Traditional methods mainly rely on the number of discovered bugs to assess software reliability, but these methods often overlook the "size" of bugs or the probability of their being detected. This paper proposes a new modeling method to estimate software reliability more accurately by introducing the concept of **the eventual size of a bug**.
### Specific questions:
1. **How to estimate software reliability more accurately?**
- Traditional software reliability estimation methods usually only consider the number of discovered bugs and overlook the "size" of bugs or the probability of their being detected. This paper estimates software reliability more precisely by introducing the eventual size of a bug, that is, the number of inputs that a bug may affect.
2. **How to use the eventual size of a bug to improve reliability estimation?**
- The author proposes a multivariate model based on **size - biased**. This model assumes that larger bugs are more likely to be detected. Therefore, the software reliability can be better evaluated by estimating the eventual size of undetected bugs.
3. **How to verify the validity of the model?**
- The author verifies the validity of this model through simulation experiments and practical applications (such as ISRO flight control software test data). The results show that this model can match the actual observations well and provide reliable estimates in critical tasks.
### Summary of mathematical formulas:
- **The eventual size of a bug**: Defined as \( S_i \), representing the number of inputs that the \( i \) - th bug may affect.
- **Detection probability**: For the \( i \) - th bug, its detection probability \( \alpha_i \) is an increasing function of its eventual size \( S_i \):
\[
\alpha_i = 1 - \exp\left(-\frac{S_i^\nu}{\max_{j,k}\{T_{jk}\}}\right)
\]
where \( T_{jk} \) is the number of test cases used in the \( k \) - th stage of the \( j \) - th task, and \( \nu \) is a tuning parameter.
- **The eventual size of remaining bugs**: Defined as \( R \), representing the sum of the eventual sizes of all undetected bugs:
\[
R = \sum_{i = 1}^M S_i z_i - \sum_{i = 1}^M S_i (1 - u_i)
\]
where \( z_i \) indicates whether the \( i \) - th bug actually exists, and \( u_i \) indicates whether the \( i \) - th bug is detected.
### Conclusion:
By introducing the concept of the eventual size of a bug, the model proposed in this paper can estimate software reliability more accurately, especially in critical tasks. This model not only considers the number of discovered bugs but also the potential impact range of bugs, thus providing a more comprehensive reliability assessment.