scispace - formally typeset
Journal ArticleDOI

Rewriting-Based Techniques for Runtime Verification

Reads0
Chats0
TLDR
The presented work is part of an ambitious runtime verification and monitoring project at NASA Ames, called PathExplorer, and demonstrates that rewriting can be a tractable and attractive means for experimenting and implementing logics for program monitoring.
Abstract
Techniques for efficiently evaluating future time Linear Temporal Logic (abbreviated LTL) formulae on finite execution traces are presented. While the standard models of LTL are infinite traces, finite traces appear naturally when testing and/or monitoring real applications that only run for limited time periods. A finite trace variant of LTL is formally defined, together with an immediate executable semantics which turns out to be quite inefficient if used directly, via rewriting, as a monitoring procedure. Then three algorithms are investigated. First, a simple synthesis algorithm for monitors based on dynamic programming is presented; despite the efficiency of the generated monitors, they unfortunately need to analyze the trace backwards, thus making them unusable in most practical situations. To circumvent this problem, two rewriting-based practical algorithms are further investigated, one using rewriting directly as a means for online monitoring, and the other using rewriting to generate automata-like monitors, called binary transition tree finite state machines (and abbreviated BTT-FSMs). Both rewriting algorithms are implemented in Maude, an executable specification language based on a very efficient implementation of term rewriting. The first rewriting algorithm essentially consists of a set of equations establishing an executable semantics of LTL, using a simple formula transforming approach. This algorithm is further improved to build automata on-the-fly via caching and reuse of rewrites (called memoization), resulting in a very efficient and small Maude program that can be used to monitor program executions. The second rewriting algorithm builds on the first one and synthesizes provably minimal BTT-FSMs from LTL formulae, which can then be used to analyze execution traces online without the need for a rewriting system. The presented work is part of an ambitious runtime verification and monitoring project at NASA Ames, called PathExplorer, and demonstrates that rewriting can be a tractable and attractive means for experimenting and implementing logics for program monitoring.

read more

Content maybe subject to copyright    Report

Citations
More filters
Journal ArticleDOI

Formal Specification and Verification of Autonomous Robotic Systems: A Survey

TL;DR: This paper systematically surveys the state-of-the-art in formal specification and verification for autonomous robotics and identifies and categorises the challenges posed by, the formalisms aimed at, and the formal approaches for the specification and verify of autonomous robotics.
Proceedings ArticleDOI

Policy auditing over incomplete logs: theory, implementation and applications

TL;DR: The design, implementation and evaluation of an algorithm that checks audit logs for compliance with privacy and security policies, which operates on policies expressed in a first-order logic that allows restricted quantification over infinite domains, are presented.
Book ChapterDOI

Decentralised LTL monitoring

TL;DR: In this paper, the authors present an algorithm for distributing and monitoring linear-time temporal logic (LTL) formulae, such that satisfaction or violation of specifications can be detected by local monitors alone.
Journal ArticleDOI

Decentralised LTL monitoring

TL;DR: An algorithm for distributing and monitoring LTL formulae, such that satisfaction or violation of specifications can be detected by local monitors alone is presented and the argument that the algorithm performs well in a wide range of different application contexts, given by different system/communication topologies and/or system event distributions over time is strengthened.
Book ChapterDOI

Policy monitoring in first-order temporal logic

TL;DR: In this paper, the authors present an approach to monitoring system policies using an expressive fragment of a temporal logic, which can be effectively monitored and reported on case studies in security and compliance monitoring and use these to show the adequacy of their specification language for naturally expressing complex, realistic policies.
References
More filters
Book

Introduction to Automata Theory, Languages, and Computation

TL;DR: This book is a rigorous exposition of formal languages and models of computation, with an introduction to computational complexity, appropriate for upper-level computer science undergraduates who are comfortable with mathematical arguments.
Journal ArticleDOI

Graph-Based Algorithms for Boolean Function Manipulation

TL;DR: In this paper, the authors present a data structure for representing Boolean functions and an associated set of manipulation algorithms, which have time complexity proportional to the sizes of the graphs being operated on, and hence are quite efficient as long as the graphs do not grow too large.
Proceedings ArticleDOI

The temporal logic of programs

Amir Pnueli
TL;DR: A unified approach to program verification is suggested, which applies to both sequential and parallel programs, and the main proof method is that of temporal reasoning in which the time dependence of events is the basic concept.
Book

The temporal logic of reactive and concurrent systems

TL;DR: Temporal logic is a formal tool/language which yields excellent results in specifying reactive systems, and this volume (the first two), offers an introduction to temporal logic and to the computational model for reactive programs which has been developed by the authors as mentioned in this paper.
Related Papers (5)