The Good, the Bad, and the Ugly, But How Ugly Is Ugly?

  • Andreas Bauer
  • Martin Leucker
  • Christian Schallhart
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4839)


When monitoring a system wrt a property defined in some temporal logic, e.g., LTL, a major concern is to settle with an adequate interpretation of observable system events; that is, models of temporal logic formulae are usually infinite streams of events, whereas at runtime only prefixes are available.

This work defines a four-valued semantics for LTL over finite traces, which extends the classical semantics, and allows to infer whether a system behaves (1) according to the monitored property, (2) violates the property, (3) will possibly violate the property in the future, or (4) will possibly conform to the property in the future, once the system has stabilised. Notably, (1) and (2) correspond to the classical semantics of LTL, whereas (3) and (4) are chosen whenever an observed system behaviour has not yet lead to a violation or acceptance of the monitored property.

Moreover, we present a monitor construction for RV-LTL properties in terms of a Moore machine signalising the semantics of the so far obtained execution trace.


Temporal Logic Linear Temporal Logic Classical Semantic Deterministic Automaton Temporal Logic Formula 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [ABLS05]
    Arafat, O., Bauer, A., Leucker, M., Schallhart, C.: Runtime verification revisited. Technical Report TUM-I0518, Technische Universität München (2005)Google Scholar
  2. [BLS06]
    Bauer, A., Leucker, M., Schallhart, C.: Monitoring of real-time properties. In: Arun-Kumar, S., Garg, N. (eds.) FSTTCS 2006. LNCS, vol. 4337, Springer, Heidelberg (2006)CrossRefGoogle Scholar
  3. [dR05]
    d’Amorim, M., Rosu, G.: Efficient monitoring of omega-languages. In: Etessami, K., Rajamani, S.K. (eds.) CAV 2005. LNCS, vol. 3576, pp. 364–378. Springer, Heidelberg (2005)Google Scholar
  4. [Dru00]
    Drusinsky, D.: The temporal rover and the atg rover. In: Havelund, K., Penix, J., Visser, W. (eds.) SPIN. LNCS, vol. 1885, pp. 323–330. Springer, Heidelberg (2000)Google Scholar
  5. [EFH+03]
    Eisner, C., Fisman, D., Havlicek, J., Lustig, Y., McIsaac, A., Campenhout, D.: Reasoning with temporal logic on truncated paths. In: Hunt Jr., W.A., Somenzi, F. (eds.) CAV 2003. LNCS, vol. 2725, pp. 27–39. Springer, Heidelberg (2003)Google Scholar
  6. [GH01a]
    Giannakopoulou, D., Havelund, K.: Automata-based verification of temporal properties on running programs. In: ASE, pp. 412–416. IEEE Computer Society, Los Alamitos (2001)Google Scholar
  7. [GH01b]
    Giannakopoulou, D., Havelund, K.: Runtime analysis of linear temporal logic specifications. Technical Report 01.21, RIACS/USRA (2001)Google Scholar
  8. [HR01a]
    Havelund, K., Rosu, G.: Monitoring Java Programs with Java PathExplorer. Electr. Notes Theor. Comp. Sci. 55(2) (2001)Google Scholar
  9. [HR01b]
    Havelund, K., Rosu, G.: Monitoring programs using rewriting. In: ASE 2001. Proceedings of the 16th IEEE International Conference on Automated Software Engineering, Washington, DC, USA, p. 135. IEEE Computer Society, Los Alamitos (2001)CrossRefGoogle Scholar
  10. [HR02]
    Havelund, K., Rosu, G.: Synthesizing Monitors for Safety Properties. Tools and Algorithms for Construction and Analysis of Systems, 342–356 (2002)Google Scholar
  11. [LPZ85]
    Lichtenstein, O., Pnueli, A., Zuck, L.: The Glory of the Past. In: Proceedings of the Conference on Logic of Programs, pp. 196–218 (1985)Google Scholar
  12. [MP95]
    Manna, Z., Pnueli, A.: Temporal Verification of Reactive Systems: Safety. Springer, Heidelberg (1995)Google Scholar
  13. [Pnu77]
    Pnueli, A.: The temporal logic of programs. In: Proceedings of the 18th IEEE Symposium on the Foundations of Computer Science (FOCS-77), pp. 46–57. IEEE, Los Alamitos (1977)Google Scholar
  14. [PZ06]
    Pnueli, A., Zaks, A.: Psl model checking and run-time verification via testers. In: Misra, J., Nipkow, T., Sekerinski, E. (eds.) FM 2006. LNCS, vol. 4085, pp. 573–586. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  15. [SB05]
    Stolz, V., Bodden, E.: Temporal Assertions using AspectJ. In: Fifth Workshop on Runtime Verification (RV 2005). To be published in ENTCS, Elsevier, Amsterdam (2005)Google Scholar
  16. [Var96]
    Vardi, M.Y.: An Automata-Theoretic Approach to Linear Temporal Logic. In: Moller, F., Birtwistle, G. (eds.) Logics for Concurrency. LNCS, vol. 1043, pp. 238–266. Springer, Heidelberg (1996)Google Scholar
  17. [VW86]
    Vardi, M.Y., Wolper, P.: An automata-theoretic approach to automatic program verification. In: Symposium on Logic in Computer Science LICS 1986, pp. 332–345. IEEE Computer Society Press, Washington (1986)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Andreas Bauer
    • 1
  • Martin Leucker
    • 2
  • Christian Schallhart
    • 2
  1. 1.National ICT Australia (NICTA) 
  2. 2.Institut für Informatik, Technische Universität München 

Personalised recommendations