Skip to main content

Leveraging DTrace for Runtime Verification

  • Conference paper
  • First Online:
Runtime Verification (RV 2016)

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

Included in the following conference series:

Abstract

DTrace, short for “dynamic tracing”, is a powerful diagnostic tool and tracing framework. It is invaluable for performance monitoring, tuning, and for getting insights into almost any aspect of a running system. In this paper we investigate how we can leverage the DTrace operating system-level instrumentation framework [9] to conduct runtime verification. To this end, we develop graphviz2dtrace, a tool for producing monitor scripts in DTrace’s domain-specific scripting language D for specification formulas written in \(\text{ LTL }_{3}\), a three-valued variety of the well-known Linear Temporal Logic. We evaluate the tool by analyzing a small stack-implementation and a multi-process system.

This article is based upon work from COST Action ARVI IC1402, supported by COST (European Cooperation in Science and Technology).

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 EPUB and 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

Notes

  1. 1.

    http://www.mn.uio.no/ifi/english/research/groups/pma/completedmasters/2016/rosenberg/.

  2. 2.

    The graphviz dot notation was chosen because LamaConv can produce it, for its ubiquity, and for the ease with which automata can be visualized.

References

  1. Aalav, H., Avrunin, G., Corbett, J., Dillon, L., Dwyer, M., Pasareanu, C.: Specification patterns. http://patterns.projects.cis.ksu.edu/. Accessed 13 Aug 2015

  2. Apache Software Foundation: ab - Apache HTTP server benchmarking tool. https://httpd.apache.org/docs/2.4/programs/ab.html

  3. Barringer, H., Falcone, Y., Havelund, K., Reger, G., Rydeheard, D.: Quantified event automata: towards expressive and efficient runtime monitors. In: Giannakopoulou, D., Méry, D. (eds.) FM 2012. LNCS, vol. 7436, pp. 68–84. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  4. Bauer, A., Leucker, M., Schallhart, C.: Model-based runtime analysis of distributed reactive systems. In: 17th Australian Software Engineering Conference (ASWEC 2006). IEEE Computer Society (2006)

    Google Scholar 

  5. Bauer, A., Leucker, M., Schallhart, C.: Monitoring of real-time properties. In: Arun-Kumar, S., Garg, N. (eds.) FSTTCS 2006. LNCS, vol. 4337, pp. 260–272. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  6. Bauer, A., Leucker, M., Schallhart, C.: Runtime verification for LTL and TLTL. ACM Trans. Softw. Eng. Methodol. 20(4), 1–64 (2011)

    Article  Google Scholar 

  7. Bodden, E., Stolz, V.: Tracechecks: defining semantic interfaces with temporal logic. In: Löwe, W., Südholt, M. (eds.) SC 2006. LNCS, vol. 4089, pp. 147–162. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  8. Cantrill, B.: Hidden in plain sight. ACM Queue 4(1), 26–36 (2006)

    Article  Google Scholar 

  9. Cantrill, B., Shapiro, M.W., Leventhal, A.H.: Dynamic instrumentation of production systems. In: ATEC 2004 Proceedings of the Annual Conference on USENIX Annual Technical Conference. USENIX (2004)

    Google Scholar 

  10. Chachmon, N., Richins, D., Christensson, M., Cohn, R., Cui, W., Reddi, V.J.: Simulation and analysis engine for scale-out workloads. In: Proceedings of the 30th ACM on International Conference on Supercomputing. ACM (2016)

    Google Scholar 

  11. Ellson, J., Gansner, E.R., Koutsofios, L., North, S.C., Woodhull, G.: Graphviz - open source graph drawing tools. In: Mutzel, P., Jünger, M., Leipert, S. (eds.) GD 2001. LNCS, vol. 2265, p. 483. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  12. Gregg, B.: DTrace pid Provider Overhead (2011). http://dtrace.org/blogs/brendan/2011/02/18/dtrace-pid-provider-overhead/

  13. Gregg, B., Mauro, J.: DTrace: Dynamic Tracing in Oracle Solaris, Mac OS X, and FreeBSD. Prentice Hall Professional, Upper Saddle River (2011)

    Google Scholar 

  14. Havelund, K., Joshi, R.: Experience with rule-based analysis of spacecraft logs. In: Artho, C., Ölveczky, P.C. (eds.) FTSCS 2014. CCIS, vol. 476, pp. 1–16. Springer, Heidelberg (2015)

    Google Scholar 

  15. Kupferman, O., Vardi, M.Y.: Model checking of safety properties. Formal Meth. Syst. Des. 19(3), 291–314 (2001)

    Article  MathSciNet  MATH  Google Scholar 

  16. Laddad, R.: AspectJ in Action, 2nd edn. Manning Publications, Cherry Hill (2009)

    Google Scholar 

  17. Node.js Foundation. Node.js. https://nodejs.org/en/

  18. Oracle Corporation: DTrace Guide for Oracle Solaris 11. Oracle Corporation, Redwood City (2012)

    Google Scholar 

  19. PostgreSQL Global Development Group: PostgreSQL. http://www.postgresql.org/

  20. PostgreSQL Global Development Group: PostgreSQL Documentation: Dynamic Tracing. http://www.postgresql.org/docs/current/static/dynamic-trace.html

  21. Rosenberg, C.M.: Leveraging DTrace for runtime verification. Master thesis, Department of Informatics, Faculty of Mathematics and Natural Sciences, University of Oslo, May 2016

    Google Scholar 

  22. Scheffel, T., Schmitz, M., et al.: LamaConv-logics and automata converter library. http://www.isp.uni-luebeck.de/lamaconv

  23. Stolz, V.: Temporal assertions with parametrized propositions. J. Log. Comput. 20(3), 743–757 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  24. Stolz, V., Bodden, E.: Temporal assertions using AspectJ. Electron. Notes Theoret. Comput. Sci. 144(4), 109–124 (2006)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Volker Stolz .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing AG

About this paper

Cite this paper

Rosenberg, C.M., Steffen, M., Stolz, V. (2016). Leveraging DTrace for Runtime Verification. In: Falcone, Y., Sánchez, C. (eds) Runtime Verification. RV 2016. Lecture Notes in Computer Science(), vol 10012. Springer, Cham. https://doi.org/10.1007/978-3-319-46982-9_20

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-46982-9_20

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-46981-2

  • Online ISBN: 978-3-319-46982-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics