Skip to main content

On the Effectiveness of Run-Time Checks

  • Conference paper
Computer Safety, Reliability, and Security (SAFECOMP 2005)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 3688))

Included in the following conference series:

Abstract

Run-time checks are often assumed to be a cost-effective way of improving the dependability of software components, by checking required properties of their outputs and flagging an output as incorrect if it fails the check. However, evaluating how effective they are going to be in a future application is difficult, since the effectiveness of a check depends on the unknown faults of the program to which it is applied. A programming contest, providing thousands of programs written to the same specifications, gives us the opportunity to systematically test run-time checks to observe statistics of their effects on actual programs. In these examples, run-time checks turn out to be most effective for unreliable programs. For more reliable programs, the benefit is relatively low as compared to the gain that can be achieved by other (more expensive) measures, most notably multiple-version diversity.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Blum, M., Wasserman, H.: Software reliability via run-time result-checking. Technical Report TR-94-053, International Computer Science Institute (October 1994)

    Google Scholar 

  2. Jhumka, A., Gärtner, F.C., Fetzer, C., Suri, N.: On systematic design of fast and perfect detectors. Technical Report 200263, École Polytechnique Fédérale de Lausanne (EPFDL), School of Computer and Communication Sciences (September 2002)

    Google Scholar 

  3. Lee, P.A., Anderson, T.: Fault Tolerance; Principles and Practice, 2nd edn. Dependable Computing and Fault-Tolerant Systems, vol. 3. Springer, Heidelberg (1981)

    Google Scholar 

  4. Leveson, N.G., Cha, S.S., Knight, J.C., Shimeall, T.J.: The use of self checks and voting in software error detection: An empirical study. IEEE Transactions on Software Engineering 16(4), 432–443 (1990)

    Article  Google Scholar 

  5. Meyer, B.: Design by contract. Computer (IEEE) 25(10), 40–51 (1992)

    Article  Google Scholar 

  6. Popov, P., Strigini, L.: The reliability of diverse systems: A contribution using modelling of the fault creation process. In: DSN 2001, International Conference on Dependable Systems and Networks, Göteborg, Sweden (July 2001)

    Google Scholar 

  7. Rela, M., Madeira, H., Silva, J.G.: Experimental evaluation of the fail-silent behavior of programs with consistency checks. In: FTCS-26, Sendai, Japan, pp. 394–403 (1996)

    Google Scholar 

  8. Skiena, S., Revilla, M.: Programming Challenges, March 2003. Springer, Heidelberg (2003)

    MATH  Google Scholar 

  9. van der Meulen, M.J.P., Bishop, P.G., Revilla, M.: An exploration of software faults and failure behaviour in a large population of programs. In: The 15th IEEE International Symposium of Software Reliability Engineering, St. Malo, France, November 2–5, pp. 101–12 (2004)

    Google Scholar 

  10. van der Meulen, M.J.P., Revilla, M.: The effectiveness of choice of programming language as a diversity seeking decision. In: Dal Cin, M., Kaâniche, M., Pataricza, A. (eds.) EDCC 2005. LNCS, vol. 3463, pp. 199–209. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  11. Vinter, J., Aidemark, J., Folkesson, P., Karlsson, J.: Reducing critical failures for control algorithms using executable assertions and best effort recovery. In: DSN 2001, International Conference on Dependable Systems and Networks, Goteborg, Sweden (2001)

    Google Scholar 

  12. Wasserman, H., Blum, M.: Software reliability via run-time result-checking. Journal of the ACM 44(6), 826–849 (1997)

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

van der Meulen, M.J.P., Strigini, L., Revilla, M.A. (2005). On the Effectiveness of Run-Time Checks. In: Winther, R., Gran, B.A., Dahll, G. (eds) Computer Safety, Reliability, and Security. SAFECOMP 2005. Lecture Notes in Computer Science, vol 3688. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11563228_12

Download citation

  • DOI: https://doi.org/10.1007/11563228_12

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-29200-5

  • Online ISBN: 978-3-540-32000-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics