Journal Article10.1007/S10703-012-0182-0
Time-triggered runtime verification
Borzoo Bonakdarpour,Samaneh Navabpour,Sebastian Fischmeister +2 more
- 15 Jan 2013
- Vol. 43, Iss: 1, pp 29-60
25
TL;DR: A novel time-triggered approach to runtime verification, where the monitor takes samples from the system with a constant frequency, in order to analyze the system’s health and introduces a mapping to Integer Linear Programming.
read more
Abstract: The goal of runtime verification is to monitor the behavior of a system to check its conformance to a set of desirable logical properties. The literature of runtime verification mostly focuses on event-triggered solutions, where a monitor is invoked when an event of interest occurs (e.g., change in the value of some variable). At invocation, the monitor evaluates the set of properties of the system that are affected by the occurrence of the event. This constant invocation introduces two major defects to the system under scrutiny at run time: (1) significant overhead, and (2) unpredictability of behavior. These defects are serious obstacles when applying runtime verification on safety-critical systems that are time-sensitive by nature. To circumvent the aforementioned defects in runtime verification, in this article, we introduce a novel time-triggered approach, where the monitor takes samples from the system with a constant frequency, in order to analyze the system’s health. We describe the formal semantics of time-triggered monitoring and discuss how to optimize the sampling period using minimum auxiliary memory. We show that such optimization is NP-complete and consequently introduce a mapping to Integer Linear Programming. Experiments on a real-time benchmark suite show that our approach introduces bounded overhead and effectively reduces the involvement of the monitor at run time by using negligible auxiliary memory. We also show that in some cases it is even possible to reduce the overall overhead of runtime verification by using our time-triggered approach when the structure of the system allows choosing a long enough sampling period.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
•Dissertation
RitHM: A Modular Software Framework for Runtime Monitoring Supporting Complete and Lossy Traces
Yogi Joshi
- 01 Oct 2015
TL;DR: This work introduces RitHM, a comprehensive framework, which enables development and integration of efficient verification techniques forRuntime verification, and presents an offline algorithm, which identifies whether an LTL formula is monitorable in a presence of a transient loss of events and constructs a loss-tolerant monitor depending upon the monitorability of the formula.
Faster Explicit-Trace Monitoring-Oriented Programming for Runtime Verification of Software Tests
Kevin Guan,Marcelo D. Amorim,Owolabi Legunsen +2 more
Abstract: Runtime verification (RV) monitors program executions for conformance with formal specifications (specs). This paper concerns Monitoring-Oriented Programming (MOP), the only RV approach shown to scale to thousands of open-source GitHub projects when simultaneously monitoring passing unit tests against dozens of specs. Explicitly storing traces—sequences of spec-related program events—can make it easier to debug spec violations or to monitor tests against hyperproperties, which requires reasoning about sets of traces. But, most online MOP algorithms are implicit trace, i.e. they work event by event to avoid the time and space costs of storing traces. Yet, TraceMOP, the only explicit-trace online MOP algorithm, is often too slow and often fails. We propose LazyMOP, a faster explicit-trace online MOP algorithm for RV of tests that is enabled by three simple optimizations. First, whereas all existing online MOP algorithms eagerly monitor all events as they occur, LazyMOP lazily stores only unique traces at runtime and monitors them just before the test run ends. Lazy monitoring is inspired by a recent finding: 99.87% of traces during RV of tests are duplicates. Second, to speed up trace storage, LazyMOP encodes events and their locations as integers, and amortizes the cost of looking up locations across events. Lastly, LazyMOP only synchronizes accesses to its trace store after detecting multi-threading, unlike TraceMOP’s eager and wasteful synchronization of all accesses. On 179 Java open-source projects, LazyMOP is up to 4.9x faster and uses 4.8x less memory than TraceMOP, finding the same traces (modulo test non-determinism) and violations. We show LazyMOP’s usefulness in the context of software evolution, where tests are re-run after each code change. LazyMOP e optimizes LazyMOP in this context by generating fewer duplicate traces. Using unique traces from one code version, LazyMOP e finds all pairs of method 𝑚 and spec 𝑠, where all traces for 𝑠 in 𝑚 are identical. Then, in a future version, LazyMOP e generates and monitors only one trace of 𝑠 in 𝑚. LazyMOP e is up to 3.9x faster than LazyMOP and it speeds up two recent techniques that speed up RV during evolution by up to 4.6x with no loss in violations.
A Control Method of Runtime Verification Overhead Based on Prediction
Lei HU,Guo-hua JIANG +1 more
TL;DR: A control method for runtime verification overhead is proposed, using Chain Markov and Hidden Markov Model to predict software behavior, adjusting monitoring behavior to control the risk of constraint violation and minimize extra overhead.
Quantitative and approximate monitoring
Thomas A. Henzinger,N. Ege Saraç +1 more
- 29 Jun 2021
TL;DR: In this paper, the authors generalize the theory of runtime verification to monitors that attempt to estimate numerical values of quantitative trace properties (instead of attempting to conclude boolean values of trace specifications), such as maximal or average response time along a trace.
Runtime verification with minimal intrusion through parallelism
Shay Berkovich,Borzoo Bonakdarpour,Sebastian Fischmeister +2 more
- 01 Jun 2015
TL;DR: This paper proposes a GPU-based method for design and implementation of monitors that enjoy two levels of parallelism: the monitor works along with the program in parallel, and evaluates a set of properties in a parallel fashion as well.
References
Reducibility Among Combinatorial Problems.
Richard M. Karp
- 01 Jan 1972
TL;DR: Throughout the 1960s I worked on combinatorial optimization problems including logic circuit design with Paul Roth and assembly line balancing and the traveling salesman problem with Mike Held, which made me aware of the importance of distinction between polynomial-time and superpolynomial-time solvability.
13.6K
Reducibility Among Combinatorial Problems
TL;DR: The work of Dantzig, Fulkerson, Hoffman, Edmonds, Lawler and other pioneers on network flows, matching and matroids acquainted me with the elegant and efficient algorithms that were sometimes possible.
8.7K
A theory of timed automata
Rajeev Alur,David L. Dill +1 more
TL;DR: Alur et al. as discussed by the authors proposed timed automata to model the behavior of real-time systems over time, and showed that the universality problem and the language inclusion problem are solvable only for the deterministic automata: both problems are undecidable (II i-hard) in the non-deterministic case and PSPACE-complete in deterministic case.
7.5K
The temporal logic of programs
Amir Pnueli
- 30 Sep 1977
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.
5.8K
LLVM: a compilation framework for lifelong program analysis & transformation
Chris Lattner,Vikram Adve +1 more
- 20 Mar 2004
TL;DR: The design of the LLVM representation and compiler framework is evaluated in three ways: the size and effectiveness of the representation, including the type information it provides; compiler performance for several interprocedural problems; and illustrative examples of the benefits LLVM provides for several challenging compiler problems.
Related Papers (5)
Minjun Seo,Roman Lysecky +1 more
- 13 Sep 2017
Aaron Kane
- 01 Feb 2015
A. A. Bayazit,Sharad Malik +1 more
- 31 May 2005