The curve fitting group models use statistical regression analysis to study the relationship between software complexity and the number of faults in a program, the number of changes, or failure rate. This group of models finds a relationship between input and output variables by using the methods linear regression, nonlinear regression, or time series analysis. The dependent variables, for example, are the number of errors in a program. The independent variables are the number of modules changed in the maintenance phase, the time between failures, programmers’ skill, program size, etc. Models included in this group are: Estimation of errors, Estimation of complexity, Estimation of failure rate. These are explained as following below.
Below is the graph b/w actual vs estimation.
1. Estimation of Errors Model:
The number of errors in a program can be estimated by using a linear or nonlinear regression model. A simple nonlinear regression model to estimate the total number of initial errors in the program, N, can be presented as follows:
where Xi is the ith error factor; ai, bi, ci are the coefficients of the model, and is an error term. Typical error factors are software complexity metrics and environmental factors. Most curve fitting models involve only one error factor.
2. Estimation of Complexity Model:
This model is used to estimate the software complexity, CR, using the time series approach. The software complexity model is summarized as follows:
R = release sequence number
ER = environmental factor(s) at release R
MR = number of modules at release R
IR = inter-release interval R
D = number of days when first error occurs
This perticular model is used when the software is evaluated due to time by time means when more versions of the model are released.
3. Estimation of Failure Rate Model:
THis model is used to estimate the failure rate of software. Given failure times t1, t2, .., tn, a rough estimate of the failure rate at the ith failure interval is
Assuming that the failure rate is monotonically non-increasing, an estimate of this function , i = 1, 2, …, n can be obtained by using the least squared method.
- Software Engineering | Project size estimation techniques
- Types of Software Testing
- Software Testing | Basics
- Software Engineering | Architectural Design
- Software Engineering | Halstead’s Software Metrics
- Beta Testing | Software Testing
- Software Engineering | Debugging Approaches
- Pairwise Software Testing
- Software Engineering | COCOMO Model
- Software Engineering | Classification of Software Requirements
- Software Engineering | Classical Waterfall Model
- Software Engineering | Iterative Waterfall Model
- Software Engineering | Spiral Model
- Software Engineering | Requirements Engineering Process
- Software Engineering | Requirements Elicitation
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.