Skip to main content
Log in

Collecting Statistics Over Runtime Executions

  • Published:
Formal Methods in System Design Aims and scope Submit manuscript

Abstract

We present an extension to linear-time temporal logic (LTL) that combines the temporal specification with the collection of statistical data. By collecting statistics over runtime executions of a program we can answer complex queries, such as “what is the average number of packet transmissions'' in a communication protocol, or “how often does a particular process enter the critical section while another process remains waiting'' in a mutual exclusion algorithm. To decouple the evaluation strategy of the queries from the definition of the temporal operators, we introduce algebraic alternating automata as an automata-based intermediate representation. Algebraic alternating automata are an extension of alternating automata that produce a value instead of acceptance or rejection for each trace. Based on the translation of the formulas from the query language to algebraic alternating automata, we obtain a simple and efficient query evaluation algorithm. The approach is illustrated with examples and experimental results.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. R. Alur, S.L. Torre, K. Ettessami, and D. Peled, “Parametric temporal logic for model measuring,” in J. Wiedermann, P. van Emde Boas, and M. Nielsen (Eds.), ICALP'99, Prague, Czech Republic, LNCS 1644, 1999, pp. 159–168.

  2. K. Bartlett, R. Scantlebury, and P. Wilkinson, “A note on reliable full-duplex transmission over half-duplex links,” Communications of the ACM, Vol. 12, pp. 260–261, 1969.

    Article  Google Scholar 

  3. N.S. Bjørner, A. Browne, M. Colón, B. Finkbeiner, Z. Manna, H.B. Sipma, and T.E. Uribe, “Verifying temporal properties of reactive systems: A STeP tutorial,” Formal Methods in System Design, Vol. 16, pp. 227–270, 2000.

    Google Scholar 

  4. G. Bruns and P. Godefroid, “Temporal logic query checking,” in Proc. 16th IEEE Symp. Logic in Comp. Sci., pp. 409–417, 2001.

  5. P. Chakrabarti, P. Dasgupta, J. Deka, and S. Sankaranarayanan, “Min-max computation tree logic,” Artificial Intelligence, Vol. 127, pp. 137–162, 2001.

    MathSciNet  Google Scholar 

  6. A.K. Chandra, D.C. Kozen, and L.J. Stockmeyer, “Alternation,” J. ACM, Vol. 28, pp. 114–133, 1981.

    Article  MathSciNet  Google Scholar 

  7. D. Drusinsky, “The Temporal Rover and the ATG rover,” in K. Havelund, J. Penix, and W. Visser (Eds.), SPIN Model Checking and Software Verification, 7th Int'l SPIN Workshop, LNCS, Vol. 1885, pp. 323–330, 2000.

    MATH  Google Scholar 

  8. A. Emerson, A. Mok, A.P. Sistla, and J. Srinivasan, “Quantitative temporal reasoning,” Real Time Systems, Vol. 4, pp. 334–351, 1993.

    Google Scholar 

  9. A. Emerson and R. Trefler, “Generalized quantitative temporal reasoning: An automata-theoretic approach,” in TAPSOFT: 7th International Joint Conference on Theory and Practice of Software Development, 1997.

  10. B. Finkbeiner and H. Sipma, “Checking finite traces using alternating automata,” in K. Havelund and G. Rosu (Eds.), Electronic Notes in Theoretical Computer Science, Electronic Notes in Theoretical Computer Science Vol. 55, pp. 1–17, 2001.

    Article  Google Scholar 

  11. S.L. Graham, P.B. Kessler, and M.K. McKusick, “gprof: A call graph execution profiler,” in SIGPLAN Symposium on Compiler Construction, pp. 120–126, 1982.

  12. K. Havelund, “Using runtime analysis to guide model checking of java programs,” in K. Havelund, J. Penix, and W. Visser (Eds.), SPIN Model Checking and Software Verification, 7th Int'l SPIN Workshop, LNCS Vol. 1885, pp. 245–264, 2000.

    MATH  Google Scholar 

  13. K. Havelund and G. Rosu (eds.), “Runtime Verification 2001,” Electronic Notes in Theoretical Computer Science Vol. 55, Elsevier Science Publishers, 2001.

  14. K. Havelund and G. Rosu (Eds.), “Runtime Verification 2002,” Electronic Notes in Theoretical Computer Science Vol. 70, Elsevier Science Publishers, 2002.

  15. G.S. Manku, S. Rajagopalan and B.G. Lindsay. “Random Sampling Techniquesfor Space Efficient Online Computation of Order Statistics of Large Datasets,” in Proc. ACM SIGMOD, Vol. 27, No. 2, pp. 251–262, 1998.

    Google Scholar 

  16. Z. Manna and A. Pnueli, “Specification and verification of concurrent programs by ∀-automata,” in B. Banieqbal, H. Barringer, and A. Pnueli (Eds.), Temporal Logic in Specification, No. 398 in LNCS, Springer-Verlag, Berlin, 1987, pp. 124–164, also in Proc. 14th ACM Symp. Princ. of Prog. Lang., Munich, Germany, pp. 1–12, 1987.

  17. Z. Manna and A. Pnueli, Temporal Verification of Reactive Systems: Safety, Springer-Verlag, New York, 1995.

    Google Scholar 

  18. Z. Manna and A. Pnueli, Temporal Verification of Reactive Systems: Progress, Springer-Verlag, New York, 1996, draft manuscript.

    Google Scholar 

  19. Z. Manna and H.B. Sipma, “Alternating the Temporal Picture for Safety,” in U. Montanari, J.D. Rolim, and E. Welzl (Eds.) Proc. 27th Intl. Colloq. Aut. Lang. Prog., Vol. 1853. Geneva, Switzerland, pp. 429–450, Springer-Verlag, 2000.

    Google Scholar 

  20. D.E. Muller, A. Saoudi, and P.E. Schupp, “Weak alternating automata give a simple explanation of why most temporal and dynamic logics are decidable in exponential time,” In Proc. 3rd IEEE Symp. Logic in Comp. Sci., pp. 422–427, 1988.

  21. G. Rosu and K. Havelund, “Synthesizing dynamic programming algorithms from linear temporal logic formulae,” RIACS Technical Report TR 01–15, 2001.

  22. O. Sokolsky and M. Viswanathan (Eds.), “Runtime Verification, 2003,” Electronic Notes in Theoretical Computer Science Vol. 89, Elsevier Science Publishers, 2003.

  23. Synopsys inc., “openvera (tm) Assertions,” http://www.open-vera.com.

  24. M.Y. Vardi, “Alternating automata and program verification,” in J. van Leeuwen (Ed.), Computer Science Today. Recent Trends and Developments, LNCS Vol. 1000, Springer-Verlag, pp. 471–485, 1995.

  25. M.Y. Vardi, “An automata-theoretic approach to linear temporal logic,” in F. Moller and G. Birtwistle (Eds.), Logics for Concurrency. Structure versus Automata, LNCS Vol. 1043, pp. 238–266, 1996.

  26. M. Y. Vardi, “Alternating automata: Checking truth and validity for temporal logics,” In Proc. of the 14th Intl. Conference on Automated Deduction, LNCS Vol. 1249, Springer-Verlag, July 1997.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Finkbeiner, B., Sankaranarayanan, S. & Sipma, H.B. Collecting Statistics Over Runtime Executions. Form Method Syst Des 27, 253–274 (2005). https://doi.org/10.1007/s10703-005-3399-3

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10703-005-3399-3

Keywords

Navigation