Interval Approach to Testing Software

Владик Крейнович, Thomas Swenson, Alex Elentukh · 1994

. For a sufficiently simple program it is possible to eliminate all the errors. Moreover, there exist methods (called "proving program correctness") that can guarantee that all the errors has indeed been removed and the resulting program is "flawless". However, the experience of many programmers shows that it is actually impossible to extract all the faults from system-type software, that is commonly involved in resource contention, or from the programs with a sophisticated user interface. If after some debugging such a program works fine, it simply means that we have not yet reached the point where it will start erring. So we are unable to debug such a program completely; moreover we are sure that sooner or later the program will err. Therefore it is necessary to estimate the time interval during which the remaining faults will not influence the program. At present about three dozen statistical models (called software reliability models) are used to get such estimates. The most widely accepted models are basic (exponential) and the logarithmic Poisson models proposed by Musa, Iannino, and Okumoto. In many situations these models proved to be a good fit. However, these statistical models lack convincing theoretical explanation. They are semi-heuristic, and often look like curvefitting. In this paper, we consider an interval approach to program testing. We formulate the problem of choosing the best interval software reliability model as a mathematical optimization problem, and solve this problem. As a result, we explain Musa's experiments. 1.

Read the paper · More papers on PaperTik