A dynamic failure model for predicting the impact that a program location has on the program
This paper presents a dynamic technique for predicting the effect that a “location” of a program will have on the program's computational behavior. The technique is based on the three necessary and sufficient conditions for software failure to occur: (1) a fault must be executed, (2) the fault must adversely affect the data state, and (3) the adverse effect in a data state must affect program output. In order to predict the effect that a location of a program will have on the program's computational behavior, the following characteristics of each program location are estimated: (1) the probability that a location of the program is executed, (2) the probability that a location of the program noticeably affects the program state created by the location, and (3) the probability that the data states created by a location affect the program's output. With estimates of these characteristics for each location in a program, we can predict those locations where a fault can more easily remain undetected during testing, as well as predict the degree of testing necessary to be convinced that a fault is not remaining undetected in a particular location.
Index TermsSoftware testing data state sensitivity analysis mutant fault failure probability
Unable to display preview. Download preview PDF.
- Richard A. DeMillo, Richard J. Lipton, and Frederick G. Sayward. Hints on Test Data Selection: Help for the Practicing Programmer. IEEE Computer, 11(4):34–41, April 1978.Google Scholar
- Richard G. Hamlet. Probable Correctness Theory. Information Processing Letters, pages 17–25, April 1987.Google Scholar
- Averill M. Law and W. David Kelton. Simulation Modeling and Analysis. McGraw-Hill Book Company, 1982.Google Scholar
- Larry Joe Morell. A Theory of Error-based Testing. Technical Report TR-1395, University of Maryland, Department of Computer Science, April 1984.Google Scholar
- L. J. Morell. A Model for Code-Based Testing Schemes. Fifth Annual Pacific Northwest Software Quality Conf., pages 309–326, 1987.Google Scholar
- S. K. Park. Lecture notes on simulation, version 3.0. Department of Computer Science, College of William and Mary in Virginia, 1990.Google Scholar
- Timothy J. Shimeall. CONFLICT Specification. Technical Report NPSCS-91-001, Computer Science Department, Naval Postgraduate School, Monterey, CA, October 1990.Google Scholar
- J. Voas and K. Miller. Improving Software Reliability by Estimating the Fault Hiding Ability of a Program Before it is Written. In Proceedings of the 9th Software Reliability Symposium, Colorado Springs, CO, May 1991. Denver Section of the IEEE Reliability Society.Google Scholar
- J. Voas, L. Morell, and K. Miller. Predicting Where Faults Can Hide From Testing. IEEE Software, 8(2), March 1991.Google Scholar
- J. Voas and J. Payne. A Parallel Propagation Analysis Algorithm. Technical Report WM-91-2, College of William and Mary in Virginia, Department of Computer Science, March 1991.Google Scholar
- J. Voas. Preliminary Observations On Factors That Affect Program Testabilities. In Proc. of the 9th Pacific Northwest Software Quality Conf., Portland, OR, To appear October 1991. Pacific Northwest Software Quality Conference, Inc., Beaverton, OR.Google Scholar