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.
Similar content being viewed by others
References
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.
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.
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.
G. Bruns and P. Godefroid, “Temporal logic query checking,” in Proc. 16th IEEE Symp. Logic in Comp. Sci., pp. 409–417, 2001.
P. Chakrabarti, P. Dasgupta, J. Deka, and S. Sankaranarayanan, “Min-max computation tree logic,” Artificial Intelligence, Vol. 127, pp. 137–162, 2001.
A.K. Chandra, D.C. Kozen, and L.J. Stockmeyer, “Alternation,” J. ACM, Vol. 28, pp. 114–133, 1981.
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.
A. Emerson, A. Mok, A.P. Sistla, and J. Srinivasan, “Quantitative temporal reasoning,” Real Time Systems, Vol. 4, pp. 334–351, 1993.
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.
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.
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.
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.
K. Havelund and G. Rosu (eds.), “Runtime Verification 2001,” Electronic Notes in Theoretical Computer Science Vol. 55, Elsevier Science Publishers, 2001.
K. Havelund and G. Rosu (Eds.), “Runtime Verification 2002,” Electronic Notes in Theoretical Computer Science Vol. 70, Elsevier Science Publishers, 2002.
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.
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.
Z. Manna and A. Pnueli, Temporal Verification of Reactive Systems: Safety, Springer-Verlag, New York, 1995.
Z. Manna and A. Pnueli, Temporal Verification of Reactive Systems: Progress, Springer-Verlag, New York, 1996, draft manuscript.
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.
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.
G. Rosu and K. Havelund, “Synthesizing dynamic programming algorithms from linear temporal logic formulae,” RIACS Technical Report TR 01–15, 2001.
O. Sokolsky and M. Viswanathan (Eds.), “Runtime Verification, 2003,” Electronic Notes in Theoretical Computer Science Vol. 89, Elsevier Science Publishers, 2003.
Synopsys inc., “openvera (tm) Assertions,” http://www.open-vera.com.
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.
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.
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.
Author information
Authors and Affiliations
Rights 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
Issue Date:
DOI: https://doi.org/10.1007/s10703-005-3399-3