Efficient Monitoring of ω-Languages

We present a technique for generating efficient monitors for ω-regular-languages. We show how Büchi automata can be reduced in size and transformed into special, statistically optimal nondeterministic finite state machines, called binary transition tree finite state machines (BTT-FSMs), which recognize precisely the minimal bad prefixes of the original ω-regular-language. The presented technique is implemented as part of a larger monitoring framework and is available for download.

[1]  M. Garey Optimal Binary Identification Procedures , 1972 .

[2]  Ronald L. Rivest,et al.  Constructing Optimal Binary Decision Trees is NP-Complete , 1976, Inf. Process. Lett..

[3]  Bernard M. E. Moret,et al.  Decision Trees and Diagrams , 1982, CSUR.

[4]  A. Prasad Sistla,et al.  The complexity of propositional linear temporal logics , 1982, STOC '82.

[5]  J. R. Büchi On a Decision Method in Restricted Second Order Arithmetic , 1990 .

[6]  Zohar Manna,et al.  A Decision Algorithm for Full Propositional Temporal Logic , 1993, CAV.

[7]  Pierre Wolper,et al.  Simple on-the-fly automatic verification of linear temporal logic , 1995, PSTV.

[8]  Zohar Manna,et al.  Temporal verification of reactive systems - safety , 1995 .

[9]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..

[10]  Ilan Beer,et al.  On-the-Fly Model Checking of RCTL Formulas , 1998, CAV.

[11]  Orna Kupferman,et al.  Model Checking of Safety Properties , 1999, CAV.

[12]  Kousha Etessami,et al.  Optimizing Büchi Automata , 2000, CONCUR.

[13]  Pierre Wolper,et al.  Constructing Automata from Temporal Logic Formulas: A Tutorial , 2002, European Educational Forum: School on Formal Methods and Performance Analysis.

[14]  Stephan Merz,et al.  Model Checking , 2000 .

[15]  Marc Geilen,et al.  On the Construction of Monitors for Temporal Logic Properties , 2001, RV@CAV.

[16]  Grigore Rosu,et al.  Monitoring Java Programs with Java PathExplorer , 2001, RV@CAV.

[17]  Wolfgang Rosenstiel,et al.  Simulation-guided property checking based on multi-valued AR-automata , 2001, Proceedings Design, Automation and Test in Europe. Conference and Exhibition 2001.

[18]  Surrendra Dudani,et al.  Dynamic Assertions Using TXP , 2001, Electron. Notes Theor. Comput. Sci..

[19]  Mahesh Viswanathan,et al.  Java-MaC: a Run-time Assurance Tool for Java Programs , 2001, RV@CAV.

[20]  Grigore Rosu,et al.  Synthesizing Monitors for Safety Properties , 2002, TACAS.

[21]  Paul Gastin,et al.  LTL with Past and Two-Way Very-Weak Alternating Automata , 2003, MFCS.

[22]  Nicolas Markey,et al.  Temporal logic with past is exponentially more succinct, Concurrency Column , 2003, Bull. EATCS.

[23]  Grigore Rosu,et al.  Towards Monitoring-Oriented Programming: A Paradigm Combining Specification and Implementation , 2003, RV@CAV.

[24]  James Ezick,et al.  An optimizing compiler for batches of temporal logic formulas , 2004, ISSTA '04.

[25]  Marcelo d'Amorim,et al.  A Formal Monitoring-Based Framework for Software Development and Analysis , 2004, ICFEM.

[26]  Koushik Sen,et al.  Rule-Based Runtime Verification , 2004, VMCAI.

[27]  Grigore Rosu,et al.  Monitoring Algorithms for Metric Temporal Logic Specifications , 2004, RV@ETAPS.

[28]  Grigore Rosu,et al.  Rewriting-Based Techniques for Runtime Verification , 2005, Automated Software Engineering.

[29]  Koushik Sen,et al.  Online efficient predictive safety analysis of multithreaded programs , 2005, International Journal on Software Tools for Technology Transfer.