LADC 2005: Dependable Computing pp 9-19 | Cite as

Using Stratified Sampling for Fault Injection

  • Regina Lúcia O. de Moraes
  • Eliane Martins
  • Elaine C. Catapani Poletti
  • Naaliel Vicente Mendes
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3747)

Abstract

In a previous work we validated an ODBMS component injecting errors in the application’s interface. The aim was to observe the robustness of the component when the application that interacted with it failed. In this work we tackle the injection of errors directly into the interfaces among the target component’s classes. As the component under test has several classes, we use stratified sampling to reduce the amount of injections without losing the ability to detect faults. Strata are defined based on a complexity metric, Weighted Methods in a Class – WMC. Experiments show that this metric alone is not sufficient to select strata for testing purposes.

Keywords

Stratify Sampling Composite Part Fault Injection Failure Ratio Software Reliability Growth Model 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Bach, J.: Heuristic risk-based testing. Software Testing and Quality Engineering Magazine (1999)Google Scholar
  2. Beydeda, S., Volker, G.: State of the art in testing components. In: Proc. Of the International Conference on Quality Software (2003)Google Scholar
  3. Carey, M.J., DeWitt, D.J., Naughton, J.F.: The OO7 Benchmark (1994), recovered (February 2005), http://www.columbia.edu/
  4. Chidamber, K.: Principal Components of Orthogonal Object-Oriented Metrics (1994), recovered (November 2004), http://satc.gsfc.nasa.gov
  5. de Millo, R.A., Li, T., Mathur, A.P.: Architecture of TAMER: A Tool for dependability analysis of distributed fault-tolerant systems. Purdue University (1994)Google Scholar
  6. Fabre, J.-C., Rodriguez, M., Arlat, J., Sizum, J.-M.: Building dependable COTS microkernel-based systems using MAFALDA. In: Proc. of 2000 Pacific Rim International Symposium on Dependable Computing, PRDC 2000, Los Angeles, USA (2000)Google Scholar
  7. Hsueh, M.C., Tsai, T., Iyer, R.: Fault Injection Techniques and Tools. IEEE Computer, 75–82 (1997)Google Scholar
  8. Koopman, P., Siewiorek, D., DeVale, K., DeVale, J., Fernsler, K., Guttendorf, D., Kropp, N., Pan, J., Shelton, C., Shi, Y.: Ballista Project: COTS Software Robustness Testing. Carnegie Mellon University, Pittsburgh (2003), http://www.ece.cmu.edu/~koopman/ballista/ Google Scholar
  9. Martins, E., Rubira, C.M.F., Leme, N.G.M.: Jaca: A reflective fault injection tool based on patterns. In: Proc. of the 2002 Intern Conference on Dependable Systems & Networks, Washington, DC, USA, vol. 23(267), pp. 483–487 (2002)Google Scholar
  10. Moraes, R., Martins, E.: A Strategy for Validating an ODBMS Component Using a High-Level Software Fault Injection Tool. In: de Lemos, R., Weber, T.S., Camargo Jr., J.B. (eds.) LADC 2003. LNCS, vol. 2847, pp. 56–68. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  11. Moraes, R., Martins, E., Mendes, N.: Fault Injection Approach based on Dependence Analysis. In: Proc. of the First International Workshop on Testing and Quality Assurance for Component-Based Systems, TQACBS (2005)Google Scholar
  12. Ozone, Object Oriented Database Management System (2004), http://www.ozone-db.org/
  13. Podgurski, A., Yang, C.: Partition Testing, Stratified Sampling and Cluster Analysis. In: Proc. of the 1st ACM SIGSOFT symposium on Foundations of software engineering, Los Angeles, USA, pp. 169–181 (1993)Google Scholar
  14. Pressman, R.S.: Software Engineering a Practitioner Approach, 4th edn. Mc Graw Hill, New York (1997)MATHGoogle Scholar
  15. Rosenberg, L., Stapko, R., Gallo, A.: Risk-based Object Oriented Testing. In: Proc. 13th International Software / Internet Quality Week (QW 2000), San Francisco, California, USA (2000)Google Scholar
  16. Transaction Processing Performance Council “TPC-C – Benchmarks” (2005), http://www.tpc.org/tpcc/default.asp
  17. Triola, M.F.: Introcução a Estatística, 7th edn. LTC Editor, Rio de Janeiro (1999) (in portuguese)Google Scholar
  18. Voas, J., McGraw, G.: Software Fault Injection: Inoculating Programs against Errors. John Wiley & Sons, New York (1998)Google Scholar
  19. Voas, J.M., Charron, F., McGraw, G., Miller, K., Friedman, M.: Predicting how Badly Good Software can Behave. IEEE Software, 73–83 (1997)Google Scholar
  20. Voas, J.: Marrying Software Fault Injection Technology Results with Software Reliability Growth Models. In: Fast Abstract ISSRE 2003. Chillarege Press (2003)Google Scholar
  21. Voas, J.: An Approach to Certifying Off-the-Shelf Software Components. IEEE Computer 31(6), 53–59 (1998)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Regina Lúcia O. de Moraes
    • 1
  • Eliane Martins
    • 2
  • Elaine C. Catapani Poletti
    • 1
  • Naaliel Vicente Mendes
    • 1
  1. 1.Superior Centre of Technological Education (CESET)State University of Campinas (UNICAMP) 
  2. 2.Institute of Computing (IC)State University of Campinas (UNICAMP) 

Personalised recommendations