Clever Geek Handbook
📜 ⬆️ ⬇️

Mills Statistical Model

The Mills model is a method for estimating the number of errors in program code , created in 1972 by the programmer Harlan Mills [1] . It is widely used due to its simplicity and intuitive appeal [2] .

Methodology

Suppose there is a program code in which there is a previously unknown number of errors (bugs)N {\ displaystyle N}   requiring the most accurate assessment. To obtain this value, you can enter in the program codeM {\ displaystyle M}   additional errors, the presence of which is not known to testing specialists [3] [1] .

Suppose that after testing it was discoveredn {\ displaystyle n}   natural errors (wheren<N {\ displaystyle n <N}   ) andm {\ displaystyle m}   artificial (wherem<M {\ displaystyle m <M}   ) Then, the total number of remaining errors can be estimated by assuming that the probabilities of detecting natural and artificial errors are the same and depend only on their total number. Then the percentage of natural and introduced errors should be the same and the following relation holdsnN=mM {\ displaystyle {\ frac {n} {N}} = {\ frac {m} {M}}}   [1] [4] .

From which it follows that the estimate of the total number of natural errors in the code isN=nMm {\ displaystyle N = n {\ frac {M} {m}}}   , and the number of still not caught code bugs is equal to the differenceN-n {\ displaystyle Nn}   [1] [5] . Mills himself believed that the testing process should be accompanied by constant updating of the graphs to estimate the number of errors [6] .

Obviously, this approach is not without drawbacks. For example, if 100% artificial errors were found, then natural errors were found to be around 100%. Moreover, the less artificial errors were made, the greater the likelihood that they will all be detected. From which a deliberately absurd consequence follows: if only one error was made that was detected during testing, then there are no more errors in the code [6] .

In order to quantify the model's confidence, the following empirical criterion was introduced:C={one,atn>N,MM+N+one,atn≤N. {\ displaystyle C = {\ begin {cases} 1, & {\ mbox {for}} n> N, \\ {\ frac {M} {M + N + 1}}, & {\ mbox {when}} n \ leq N. \ end {cases}}}  

Significance levelC {\ displaystyle C}   estimates the probability with which the model will correctly reject the false assumption [7] [6] . Expression forC {\ displaystyle C}   was designed by Mills [7] , but due to its empirical nature, if necessary, it allows some variation within reasonable limits [8] .

Based on the formula forC {\ displaystyle C}   you can get an estimate of the number of artificially introduced bugsM {\ displaystyle M}   to achieve the desired confidence buildingC {\ displaystyle C}   . This quantity is given by an expression of the formM=C(N+one)one-C {\ displaystyle M = {\ frac {C (N + 1)} {1-C}}}   [8] .

The weakness of the Mills approach is the need to test the product until it finds absolutely all artificially introduced bugs, however, there are generalizations of this model where this restriction is removed [7] . For example, if the threshold for the allowable number of detected errors is equal toj {\ displaystyle j}   (j<M {\ displaystyle j <M}   ), then the criterion is rewritten as follows:C={one,atn>N,(Mj-one)(N+M+oneN+j),atn≤N, {\ displaystyle C = {\ begin {cases} 1, & {\ mbox {for}} n> N, \\ {\ frac {\ binom {M} {j-1}} {\ binom {N + M + 1} {N + j}}}, & {\ mbox {if}} n \ leq N, \ end {cases}}}  

Notes

  1. ↑ 1 2 3 4 Plaksin, 2013 , p. 71.
  2. ↑ Myers, 1980 , p. 338.
  3. ↑ Myers, 1980 , p. 336.
  4. ↑ Pham, 2006 , p. 160.
  5. ↑ Pham, 2006 , p. 161.
  6. ↑ 1 2 3 Plaksin, 2013 , p. 72.
  7. ↑ 1 2 3 Myers, 1980 , p. 337.
  8. ↑ 1 2 Plaksin, 2013 , p. 73.

Sources

  • G. Myers. Mills Statistical Model // Software Reliability = Software Reliability. Principles and Practices / W. Sh. Kaufman. - M .: "The World", 1980. - S. 336.
  • M. Plaksin. Mills model // Testing and debugging programs for future and present professionals. - 2nd ed. - M .: BINOM, 2013 .-- S. 71 .-- 167 p. - ISBN 978-5-9963-0946-7 .
  • H. Pham. Mills' Error Seeding Model // System Software Reliability. - Springer, 2006. - P. 159. - (Springer series in reliability engineering). - ISBN 978-1-85233-950-0 .
Source - https://ru.wikipedia.org/w/index.php?title=Mills_Statistical_Model&oldid=98843028


More articles:

  • Mastracci, Natalie
  • Sheila Terry
  • Borchsenius, Nikolai Sergeevich
  • Archery at the 2020 Summer Olympics - qualification
  • Ulyandykul
  • Space and Time in Judaism
  • Cannabis Museum (Berlin)
  • Reynor (eSportsman)
  • Guluzade, Ramin Namig oglu
  • Soskin, Zelig

All articles

Clever Geek | 2019