Skip to main content

Runtime Verification in Context: Can Optimizing Error Detection Improve Fault Diagnosis?

  • Conference paper
Runtime Verification (RV 2010)

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

Included in the following conference series:

Abstract

Runtime verification has primarily been developed and evaluated as a means of enriching the software testing process. While many researchers have pointed to its potential applicability in online approaches to software fault tolerance, there has been a dearth of work exploring the details of how that might be accomplished.

In this paper, we describe how a component-oriented approach to software health management exposes the connections between program execution, error detection, fault diagnosis, and recovery. We identify both research challenges and opportunities in exploiting those connections. Specifically, we describe how recent approaches to reducing the overhead of runtime monitoring aimed at error detection might be adapted to reduce the overhead and improve the effectiveness of fault diagnosis.

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. Barringer, H., Goldberg, A., Havelund, K., Sen, K.: Program monitoring with ltl in eagle. In: Parallel and Distributed Processing Symposium, International, vol. 17, p. 264 (2004)

    Google Scholar 

  2. Kim, M., Viswanathan, M., Ben-Abdallah, H., Kannan, S., Lee, I., Sokolsky, O.: Formally specified monitoring of temporal properties. In: Proceedings of the 11th Euromicro Conference on Real-Time Systems, pp. 114–122 (1999)

    Google Scholar 

  3. Havelund, K., Roşu, G.: Synthesizing monitors for safety properties. In: Katoen, J.-P., Stevens, P. (eds.) TACAS 2002. LNCS, vol. 2280, pp. 257–268. Springer, Heidelberg (2002)

    Google Scholar 

  4. Avgustinov, P., Tibble, J., de Moor, O.: Making trace monitors feasible. In: Conf. on Obj. Oriented Prog. Sys. Lang. and App., pp. 589–608 (2007)

    Google Scholar 

  5. Chen, F., Roşu, G.: Mop: an efficient and generic runtime verification framework. In: Conf. on Obj. Oriented Prog. Sys. Lang. and App., pp. 569–588 (2007)

    Google Scholar 

  6. Havelund, K., RoÅŸu, G.: Monitoring java programs with java pathexplorer. In: Proc. 1st Workshop on Runtime Verification (2001)

    Google Scholar 

  7. NASA Aeronautics Research Mission Directorate, Aviation Safety Program: Integrated Vehicle Health Management Technical Plan, Version 2.03 (2009), http://www.aeronautics.nasa.gov/nra_pdf/ivhm_tech_plan_c1.pdf

  8. Strom, R.E., Yemini, S.: Typestate: A programming language concept for enhancing software reliability. IEEE Trans. Softw. Eng. 12, 157–171 (1986)

    Article  MATH  Google Scholar 

  9. Bodden, E., Lam, P., Hendren, L.: Finding programming errors earlier by evaluating runtime monitors ahead-of-time. In: Int’l Symp. on Found. of Soft. Eng., New York, NY, USA, pp. 36–47 (2008)

    Google Scholar 

  10. Bodden, E.: Efficient hybrid typestate analysis by determining continuation-equivalent states. In: Int’l. Conf. on Soft. Eng. (2010)

    Google Scholar 

  11. Blackburn, S.M., Garner, R., Hoffman, C., Khan, A.M., McKinley, K.S., Bentzur, R., Diwan, A., Feinberg, D., Frampton, D., Guyer, S.Z., Hirzel, M., Hosking, A., Jump, M., Lee, H., Moss, J.E.B., Phansalkar, A., Stefanović, D., VanDrunen, T., von Dincklage, D., Wiedermann, B.: The DaCapo benchmarks: Java benchmarking development and analysis. In: Proc. of the 21st ACM SIGPLAN Conf. on Object-Oriented Programing, Systems, Languages, and Applications, pp. 169–190 (2006)

    Google Scholar 

  12. Purandare, R., Dwyer, M.B., Elbaum, S.: Monitor optimization via stutter-equivalent loop transformation. In: ACM Conf. on Obj. Oriented Prog. Sys. Lang. and App. (2010)

    Google Scholar 

  13. Seyster, J., Dixit, K., Huang, X., Grosu, R., Havelund, K., Smolka, S.A., Stoller, S.D., Zadok, E.: Aspect-oriented instrumentation with gcc. In: Rosu, G., Sokolsky, O. (eds.) RV 2010. LNCS, vol. 6418, pp. 405–420. Springer, Heidelberg (2010)

    Google Scholar 

  14. Chen, F., Meredith, P.O., Jin, D., Rosu, G.: Efficient formalism-independent monitoring of parametric properties. In: International Conference on Automated Software Engineering, pp. 383–394 (2009)

    Google Scholar 

  15. Knight, J.C., Leveson, N.G.: An experimental evaluation of the assumption of independence in multi-version programming*. IEEE Transactions on Software Engineering 12, 96–109 (1986)

    Article  Google Scholar 

  16. Eckhardt, D.E., Caglayan, A.K., Knight, J.C., Lee, L.D., McAllister, D.F., Vouk, M.A., Kelly, J.J.P.: An experimental evaluation of software redundancy as a strategy for improving reliability. IEEE Trans. Softw. Eng. 17, 692–702 (1991)

    Article  Google Scholar 

  17. Chen, M.Y., Kiciman, E., Fratkin, E., Fox, A., Brewer, E.: Pinpoint: Problem determination in large, dynamic internet services. In: DSN 2002: Proceedings of the 2002 International Conference on Dependable Systems and Networks, pp. 595–604. IEEE Computer Society, Los Alamitos (2002)

    Google Scholar 

  18. Candea, G., Kawamoto, S., Fujiki, Y., Friedman, G., Fox, A.: Microreboot — a technique for cheap recovery. In: OSDI 2004: Proceedings of the 6th conference on Symposium on Operating Systems Design & Implementation, pp. 31–44 (2004); Adopts the philosophy of converting all failures to crashes and then focuses on reboot of crashed components as the only recovery strategy. Downside is that this sacrifices any opportunity to do effective fault localization to better target the recovery. Upside is it is simple

    Google Scholar 

  19. Tang, Y., Gao, Q., Qin, F.: Leaksurvivor: towards safely tolerating memory leaks for garbage-collected languages. In: ATC 2008: USENIX 2008 Annual Technical Conference on Annual Technical Conference, USENIX Association, pp. 307–320 (2008)

    Google Scholar 

  20. Bond, M.D., McKinley, K.S.: Tolerating memory leaks. In: OOPSLA 2008: Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications, pp. 109–126. ACM, New York (2008)

    Google Scholar 

  21. Sözer, H., Tekinerdoğan, B., Akşit, M.: Flora: a framework for decomposing software architecture to introduce local recovery. Softw. Pract. Exper. 39, 869–889 (2009)

    Article  Google Scholar 

  22. Walter, C.J., Lincoln, P., Suri, N.: Formally verified on-line diagnosis. IEEE Trans. Softw. Eng. 23, 684–721 (1997)

    Article  Google Scholar 

  23. Abreu, R., Zoeteweij, P., van Gemund, A.J.C.: Spectrum-based multiple fault localization. In: ASE 2009: Proceedings of the, IEEE/ACM International Conference on Automated Software Engineering, pp. 88–99. IEEE Computer Society, Los Alamitos (2009)

    Google Scholar 

  24. Abreu, R., Zoeteweij, P., van Gemund, A.J.C.: On the accuracy of spectrum-based fault localization. In: TAICPART 2007: Proceedings of the Testing: Academic and Industrial Conference Practice and Research Techniques, pp. 89–98. IEEE Computer Society, Los Alamitos (2007)

    Google Scholar 

  25. Abreu, R., Zoeteweij, P., Golsteijn, R., van Gemund, A.J.C.: A practical evaluation of spectrum-based fault localization. J. Syst. Softw. 82, 1780–1792 (2009)

    Article  Google Scholar 

  26. Sözer, H., Abreu, R., Akşit, M., van Gemund, A.J.C.: Increasing system availability with local recovery based on fault localization. In: Proc. of 10th International Conference on Quality Software, pp. 276–281 (2010)

    Google Scholar 

  27. Dallmeier, V., Lindig, C., Zeller, A.: Lightweight defect localization for java. In: Black, A.P. (ed.) ECOOP 2005. LNCS, vol. 3586, pp. 528–550. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  28. Hopcroft, J.E., Ullman, J.D.: Introduction to Automata Theory, Languages and Computation. Addison-Wesley, Reading (1979)

    MATH  Google Scholar 

  29. Xie, Y., Naik, M., Hackett, B., Aiken, A.: Soundness and its role in bug detection systems. In: Proc. of the Workshop on the Evaluation of Software Defect Detection Tools (2005)

    Google Scholar 

  30. Bodden, E., Hendren, L.J., Lam, P., Lhoták, O., Naeem, N.A.: Collaborative runtime verification with tracematches. In: Sokolsky, O., Taşıran, S. (eds.) RV 2007. LNCS, vol. 4839, pp. 22–37. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  31. Dwyer, M.B., Diep, M., Elbaum, S.G.: Reducing the cost of path property monitoring through sampling. In: Int’l. Conf. on Aut. Soft. Eng., pp. 228–237 (2008)

    Google Scholar 

  32. Arnold, M., Vechev, M., Yahav, E.: Qvm: An efficient runtime for detecting defects in deployed systems. In: Conf. on Obj. Oriented Prog. Sys. Lang. and App., pp. 143–162 (2008)

    Google Scholar 

  33. Dwyer, M., Purandare, R.: Residual dynamic typestate analysis. In: Int’l. Conf. on Aut. Soft. Eng., pp. 124–133 (2007)

    Google Scholar 

  34. Pozo, R., Miller, B.: Scimark 2.0. (2004), http://math.nist.gov/scimark

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Dwyer, M.B., Purandare, R., Person, S. (2010). Runtime Verification in Context: Can Optimizing Error Detection Improve Fault Diagnosis?. In: Barringer, H., et al. Runtime Verification. RV 2010. Lecture Notes in Computer Science, vol 6418. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-16612-9_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-16612-9_4

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-16611-2

  • Online ISBN: 978-3-642-16612-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics