Efficient Monitoring of omega-Languages

We present a technique for generating efficient monitors for ω-regular-languages. We show how Buchi 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]  James Ezick,et al.  An optimizing compiler for batches of temporal logic formulas , 2004, ISSTA '04.

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

[3]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

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

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

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

[7]  Zohar Manna,et al.  Temporal Verification of Reactive Systems , 1995, Springer New York.

[8]  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.

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

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

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

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

[13]  Gul Agha,et al.  Online Efficient Predictive Safety Analysis of Multithreaded Programs , 2004, TACAS.

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

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

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

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

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

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

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

[21]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

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

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

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

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

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

[27]  Joost-Pieter Katoen,et al.  Lectures on Formal Methods and PerformanceAnalysis , 2001, Lecture Notes in Computer Science.

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

[29]  Roberto Grossi,et al.  Mathematical Foundations Of Computer Science 2003 , 2003 .

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

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

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

[33]  Kousha Etessami,et al.  Analysis of Recursive Game Graphs Using Data Flow Equations , 2004, VMCAI.