Springer Nature is making SARS-CoV-2 and COVID-19 research free. View research | View latest news | Sign up for updates

Applying a dynamic testability technique to debugging certain classes of software faults

  • 35 Accesses

  • 6 Citations

Abstract

Testability, the tendency for software to reveal its faults during testing, is an important issue for verification and quality assurance. But testability can also be used to good advantage as a debugging technique. Although this concept is more general, we will illustrate it with a specific example: propagation analysis.

Propagation Analysis (PA) is a technique for predicting the probability that a data state error affects program output. PA is a technique that produces information about a piece of software's testability. PA bases its prediction on empirical measurement of the probability that an ‘artificial’ data state error affects program output. After obtaining propagation analysis information for a program and obtaining a failure probability estimate for the program during execution we build a model that can be used to identify possible sites of missing-assignment faults of the form x ≔ f(x). Thus we can apply the testability technique PA as a debugging tool.

This is a preview of subscription content, log in to check access.

References

  1. College of William and Mary (1990) A Proportional Navigation Problem, Fall Semester, Computer Science Course CS242 Project.

  2. DeMillo, R.A., Lipton, R. and Sayward, F.G. (1978), Hints on test data selection: help for the practicing programmer, IEEE Computer 11 (4), 34–41.

  3. Howden, W. E. (1976) Reliability of the path analysis testing strategy, IEEE Transactions on Software Engineering SE 2, 208–215.

  4. Howden, W.E. (1982). Weak mutation testing and completeness of test test, IEEE Transactions on Software Engineering, SE-8(4), 371–379.

  5. Laski, L. W. and Korel, B. (1983) A data flow oriented program testing strategy, IEEE Transactions on Software Engineering, SE-9(3), 347–54.

  6. Law, A.M. and Kelton, W.D. (1982) Simulation Modeling and Analysis, McGraw-Hill Book Company, New York.

  7. Morell, L.J. (1990). A theory of fault-based testing, IEEE Transactions on Software Engineering, SE-16, 844–57.

  8. Murrill, B.W. and Morell, L.J. (1990). Error Flow Testing, Technical Report WM-90-1, College of William and Mary, Department of Computer Science.

  9. Offutt, A.J. (1988) Automatic Test Data Generation, PhD thesis, Department of Information and Computer Science, Georgia Institute of Technology.

  10. Offutt, A.J. (1989) The Coupling Effect: Fact or Fiction in Proceedings of the ACM SIGSOFT 89 Third Symposium on Software Testing, Analysis, and Verification, Key West, KL, December 1989.

  11. Park, S.K. and Miller, K.W. (1988) Random number generators: good ones are hard to find, Communications of the ACM, 31(10), 1192–1201.

  12. Rapps, S. and Weyuker, E.J. (1985) Selecting software test data using data flow information, IEEE Transactions on Software Engineering SE-11(4), 367–375.

  13. Richardson, D. and Thomas M. (1988) The RELAY model of error detection and its application, in Proceedings of the ACM SIGSOFT/IEEE 2nd Workshop on Software Testing, Analysis, and Verification, Banff, Canada, July 1988.

  14. Shimeall, T.J., (1990) CONFLICT Specification, Technical Report NPSCS-91-001, Computer Science Department, Naval Postgraduate School, Monterey, CA.

  15. Voas, J. (1992). PIE: a dynamic failure-based technique, IEEE Transactions on Software Engineering SE-18 (8), 717–27.

  16. Weiss, S.N. and Weyuer, E.J. (1988) An extended domain-based model of software reliability, IEEE Transactions on Software Engineering, 14(10), 1512–1524.

Download references

Author information

Additional information

This work supported by a National Research Council NASA-Langley Resident Research Associateship and NASA-Langley Grant NAG-1-884.

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Voas, J.M., Miller, K.W. Applying a dynamic testability technique to debugging certain classes of software faults. Software Qual J 2, 61–75 (1993). https://doi.org/10.1007/BF00417427

Download citation

Keywords

  • propagation analysis
  • software testing
  • fault
  • failure
  • probability of failure
  • oracle
  • debugging
  • fault-based testing