skip to main content
10.1145/3209108.3209194acmconferencesArticle/Chapter ViewAbstractPublication PageslicsConference Proceedingsconference-collections
research-article

A Theory of Register Monitors

Published:09 July 2018Publication History

ABSTRACT

The task of a monitor is to watch, at run-time, the execution of a reactive system, and signal the occurrence of a safety violation in the observed sequence of events. While finite-state monitors have been studied extensively, in practice, monitoring software also makes use of unbounded memory. We define a model of automata equipped with integer-valued registers which can execute only a bounded number of instructions between consecutive events, and thus can form the theoretical basis for the study of infinite-state monitors. We classify these register monitors according to the number k of available registers, and the type of register instructions. In stark contrast to the theory of computability for register machines, we prove that for every k ≥ 1, monitors with k + 1 counters (with instruction set 〈+1, =〉) are strictly more expressive than monitors with k counters. We also show that adder monitors (with instruction set 〈1, +, =〉) are strictly more expressive than counter monitors, but are complete for monitoring all computable safety ω-languages for k = 6. Real-time monitors are further required to signal the occurrence of a safety violation as soon as it occurs. The expressiveness hierarchy for counter monitors carries over to real-time monitors. We then show that 2 adders cannot simulate 3 counters in real-time. Finally, we show that real-time adder monitors with inequalities are as expressive as real-time Turing machines.

References

  1. Stål O Aanderaa. 1973. On k-tape versus (k-1)-tape real time computation. IBM Thomas J. Watson Research Division.Google ScholarGoogle Scholar
  2. Bowen Alpern and Fred B Schneider. 1985. Defining liveness. Information processing letters 21, 4 (1985), 181--185.Google ScholarGoogle Scholar
  3. Rajeev Alur, Loris D'Antoni, Jyotirmoy Deshmukh, Mukund Raghothaman, and Yifei Yuan. 2013. Regular Functions and Cost Register Automata. In Symposium on Logic in Computer Science (LICS '13). IEEE Computer Society, Washington, DC, USA, 13--22. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Rajeev Alur, Adam Freilich, and Mukund Raghothaman. 2014. Regular Combinators for String Transformations. In Computer Science Logic and Symposium on Logic in Computer Science (CSL-LICS '14). ACM, New York, NY, USA, Article 9, 10 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Krishnendu Chatterjee, Thomas A. Henzinger, and Jan Otop. 2016. Quantitative Monitor Automata. In International Symposium on Static Analysis. 23--38.Google ScholarGoogle Scholar
  6. Yu-Fang Chen, Ondřej Lengál, Tony Tan, and Zhilin Wu. 2017. Register automata with linear arithmetic. In Logic in Computer Science (LICS), 2017 32nd Annual ACM/IEEE Symposium on. IEEE, 1--12.Google ScholarGoogle ScholarCross RefCross Ref
  7. Marcelo d'Amorim and Grigore Roşu. 2005. Efficient Monitoring of ω-Languages. In Computer Aided Verification (Lecture Notes in Computer Science), Vol. 3576. Springer, 364--378. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Ben d'Angelo, Sriram Sankaranarayanan, César Sánchez, Will Robinson, Bernd Finkbeiner, Henny B Sipma, Sandeep Mehrotra, and Zohar Manna. 2005. LOLA: Runtime monitoring of synchronous systems. In Temporal Representation and Reasoning, 2005. TIME 2005. 12th International Symposium on. IEEE, 166--174. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Stéphane Demri. 2006. Linear-time temporal logics with Presburger constraints: an overview. Journal of Applied Non-Classical Logics 16, 3-4 (2006), 311--347.Google ScholarGoogle ScholarCross RefCross Ref
  10. Stéphane Demri and Ranko Lazić. 2009. LTL with the freeze quantifier and register automata. ACM Transactions on Computational Logic 10, 3 (2009), 16. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Yliès Falcone, Jean-Claude Fernandez, and Laurent Mounier. 2009. Runtime verification of safety-progress properties. In International Workshop on Runtime Verification. Springer, 40--59. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Yliès Falcone, Laurent Mounier, Jean-Claude Fernandez, and Jean-Luc Richier. 2011. Runtime enforcement monitors: composition, synthesis, and enforcement abilities. Formal Methods in System Design 38, 3 (2011), 223--262. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Alain Finkel, Stefan Göller, and Christoph Haase. 2013. Reachability in register machines with polynomial updates. In International Symposium on Mathematical Foundations of Computer Science. Springer, 409--420.Google ScholarGoogle ScholarCross RefCross Ref
  14. Patrick C. Fischer, Albert R. Meyer, and Arnold L. Rosenberg. 1968. Counter machines and counter languages. Mathematical systems theory 2, 3 (1968), 265--283.Google ScholarGoogle Scholar
  15. Patrick C. Fischer, Albert R. Meyer, and Arnold L. Rosenberg. 1970. Time-restricted sequence generation. J. Comput. System Sci. 4, 1 (1970), 50--73. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. MCW Geilen. 2001. On the construction of monitors for temporal logic properties. Electronic Notes in Theoretical Computer Science 55, 2 (2001), 181--199.Google ScholarGoogle ScholarCross RefCross Ref
  17. Dimitra Giannakopoulou and Klaus Havelund. 2001. Automata-based verification of temporal properties on running programs. In Automated Software Engineering. IEEE, 412--416. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Radu Grigore, Dino Distefano, Rasmus Lerchedahl Petersen, and Nikos Tzevelekos. 2013. Runtime verification based on register automata. In International Conference on Tools and Algorithms for the Construction and Analysis of Systems. Springer, 260--276. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Orna Grumberg, Orna Kupferman, and Sarai Sheinvald. 2010. Variable automata over infinite alphabets. In International Conference on Language and Automata Theory and Applications. Springer, 561--572. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. J. Hartmanis and R. E. Stearns. 1965. On the Computational Complexity of Algorithms. Trans. Amer. Math. Soc. 117 (1965), 285--306. http://www.jstor.org/stable/1994208Google ScholarGoogle ScholarCross RefCross Ref
  21. Klaus Havelund, Giles Reger, Daniel Thoma, and Eugen Zălinescu. 2018. Monitoring events that carry data. In Lectures on Runtime Verification. Springer, 61--102.Google ScholarGoogle Scholar
  22. Michael Kaminski and Nissim Francez. 1994. Finite-memory automata. Theoretical Computer Science 134, 2 (1994), 329--363. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Bettina Könighofer, Mohammed Alshiekh, Roderick Bloem, Laura Humphrey, Robert Könighofer, Ufuk Topcu, and Chao Wang. 2017. Shield synthesis. Formal Methods in System Design 51, 2 (2017), 332--361. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Orna Kupferman and Moshe Y Vardi. 2001. Model checking of safety properties. Formal Methods in System Design 19, 3 (2001), 291--314. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Insup Lee, Sampath Kannan, Moonjoo Kim, Oleg Sokolsky, and Mahesh Viswanathan. 1999. Runtime assurance based on formal specifications. Departmental Papers (CIS) (1999), 294.Google ScholarGoogle Scholar
  26. Martin Leucker and Christian Schallhart. 2009. A brief account of runtime verification. The Journal of Logic and Algebraic Programming 78, 5 (2009), 293--303.Google ScholarGoogle ScholarCross RefCross Ref
  27. Zohar Manna and Amir Pnueli. 2012. Temporal verification of reactive systems: safety. Springer Science & Business Media.Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Li Ming and Paul MB Vitányi. 1990. Kolmogorov complexity and its applications. In Algorithms and Complexity. Elsevier, 187--254. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Marvin L. Minsky. 1961. Recursive Unsolvability of Post's Problem of "Tag" and other Topics in Theory of Turing Machines. Annals of Mathematics 74, 3 (1961), 437--455. http://www.jstor.org/stable/1970290Google ScholarGoogle ScholarCross RefCross Ref
  30. Marvin L Minsky. 1967. Computation: finite and infinite machines. Prentice-Hall. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Wolfgang J. Paul, Joel I. Seiferas, and Janos Simon. 1981. An information-theoretic approach to time bounds for on-line computation. J. Comput. System Sci. 23, 2 (1981), 108--126.Google ScholarGoogle ScholarCross RefCross Ref
  32. Richard Pollack and M-F Roy. 1993. On the number of cells defined by a set of polynomials. Comptes rendus de l'Académie des sciences. Série 1, Mathématique 316, 6 (1993), 573--577.Google ScholarGoogle Scholar
  33. Michael O. Rabin. 1963. Real time computation. Israel Journal of Mathematics 1, 4 (01 Dec 1963), 203--211.Google ScholarGoogle ScholarCross RefCross Ref
  34. Giles Reger, Helena Cuenca Cruz, and David Rydeheard. 2015. MarQ: monitoring at runtime with QEA. In International Conference on Tools and Algorithms for the Construction and Analysis of Systems. Springer, 596--610. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Arnold L. Rosenberg. 1967. Real-Time Definable Languages. J. ACM 14, 4 (1967), 645--662. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Rich Schroeppel. 1972. A two counter machine cannot calculate 2. Technical Report. MIT.Google ScholarGoogle Scholar
  37. Joel I Seiferas and Paul Vitányi. 1988. Counting is easy. Journal of the ACM (JACM) 35, 4 (1988), 985--1000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. J. C. Shepherdson and H. E. Sturgis. 1963. Computability of Recursive Functions. J. ACM 10, 2 (April 1963), 217--255. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Wolfgang Thomas. 1997. Languages, automata, and logic. In Handbook of formal languages. Springer, 389--455. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Moshe Y Vardi and Pierre Wolper. 1986. An automata-theoretic approach to automatic program verification. In Proceedings of the First Symposium on Logic in Computer Science. IEEE Computer Society, 322--331.Google ScholarGoogle Scholar
  41. H. Yamada. 1962. Real-Time Computation and Recursive Functions Not Real-Time Computable. IRE Transactions on Electronic Computers EC-11, 6 (Dec 1962), 753--760.Google ScholarGoogle ScholarCross RefCross Ref
  42. Yifei Yuan, Dong Lin, Ankit Mishra, Sajal Marwaha, Rajeev Alur, and Boon Thau Loo. 2017. Quantitative Network Monitoring with NetQRE. In Conference of the ACM Special Interest Group on Data Communication. ACM, 99--112. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A Theory of Register Monitors

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          LICS '18: Proceedings of the 33rd Annual ACM/IEEE Symposium on Logic in Computer Science
          July 2018
          960 pages
          ISBN:9781450355834
          DOI:10.1145/3209108

          Copyright © 2018 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 9 July 2018

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article
          • Research
          • Refereed limited

          Acceptance Rates

          Overall Acceptance Rate143of386submissions,37%

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader