Skip to main content

Combining Testing and Runtime Verification Techniques

  • Conference paper
Model-Based Methodologies for Pervasive and Embedded Software (MOMPES 2012)

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

Abstract

Testing is an established and integral part of the system design and development process, but incomplete coverage still leaves room for potential undiscovered bugs. Runtime verification addresses this issue by integrating verification oracles into the code, allowing for reparatory action to be taken in case of system failure after deployment. Despite the complementarity of the two approaches, the application of the two approaches at different stages in the development and deployment process results in much duplication of effort. In this paper we investigate the combination of the two approaches, by showing how one can use testing oracles to derive correct runtime verification monitors. We show how this can be achieved using QuickCheck and Larva, and apply the resulting framework to Riak, a fault-tolerant distributed database written in Erlang.

The research work disclosed in this publication is partially funded by the German Federal Ministry of Education and Research (BMBF) within EC-SPRIDE, and the Strategic Educational Pathways Scholarship Scheme (Malta), which is part financed by the European Union European Social Fund.

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 49.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. Broy, M., Jonsson, B., Katoen, J.-P., Leucker, M., Pretschner, A.: Model-based testing of reactive systems. LNCS, vol. 3472. Springer, Heidelberg (2005)

    Book  MATH  Google Scholar 

  2. Quviq AB: QuickCheck Documentation Version 1.26.2 (June 2012)

    Google Scholar 

  3. Colombo, C., Pace, G.J., Schneider, G.: Dynamic event-based runtime monitoring of real-time and contextual properties. In: Cofer, D., Fantechi, A. (eds.) FMICS 2008. LNCS, vol. 5596, pp. 135–149. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  4. Ericsson: Erlang reference manual user’s guide version 5.7.5 (February 2010), http://www.erlang.org/doc/reference_manual/users_guide.html (last accessed July 9, 2012)

  5. Basho: The riak wiki (March 2011), http://wiki.basho.com/ (last accessed July 9, 2012)

  6. Colin, S., Mariani, L.: 18 Run-Time Verification. In: Broy, M., Jonsson, B., Katoen, J.-P., Leucker, M., Pretschner, A. (eds.) Model-Based Testing of Reactive Systems. LNCS, vol. 3472, pp. 525–555. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  7. Rusu, V., du Bousquet, L., Jéron, T.: An approach to symbolic test generation. In: Grieskamp, W., Santen, T., Stoddart, B. (eds.) IFM 2000. LNCS, vol. 1945, pp. 338–357. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  8. Artho, C., Barringer, H., Goldberg, A., Havelund, K., Khurshid, S., Lowry, M., Pasareanu, C., Rosu, G., Sen, K., Visser, W., Washington, R.: Combining test case generation and runtime verification. Theoretical Computer Science 336, 209–234 (2005)

    Article  MathSciNet  MATH  Google Scholar 

  9. NASA: Java pathfinder (April 2012), http://babelfish.arc.nasa.gov/trac/jpf (last accessed July 9, 2012)

  10. Derrick, J., Walkinshaw, N., Arts, T., Earle, C.B., Cesarini, F., Fredlund, L.-A., Gulias, V., Hughes, J., Thompson, S.: Property-based testing: the protest project. In: de Boer, F.S., Bonsangue, M.M., Hallerstede, S., Leuschel, M. (eds.) FMCO 2009. LNCS, vol. 6286, pp. 250–271. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  11. Giannakopoulou, D., Havelund, K.: Automata-based verification of temporal properties on running programs. In: Proceedings of the 16th IEEE International Conference on Automated Software Engineering, ASE 2001, pp. 412–416. IEEE Computer Society, Washington, DC (2001)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Falzon, K., Pace, G.J. (2013). Combining Testing and Runtime Verification Techniques. In: Machado, R.J., Maciel, R.S.P., Rubin, J., Botterweck, G. (eds) Model-Based Methodologies for Pervasive and Embedded Software. MOMPES 2012. Lecture Notes in Computer Science, vol 7706. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-38209-3_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-38209-3_3

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-38208-6

  • Online ISBN: 978-3-642-38209-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics