RV 2022: RUNTIME VERIFICATION 2022
PROGRAM FOR FRIDAY, SEPTEMBER 30TH
Days:
previous day
all days

View: session overviewtalk overview

10:00-10:30 Session 9: Short Papers
Chair:
10:00
[Short,¶] Automating numerical parameters along the evolution of a nonlinear system
PRESENTER: Luca Geretti

ABSTRACT. When analysing cyber-physical systems for runtime verification purposes, reachability analysis can be used to identify whether the set of reached points stays within given safe bounds. If the system dynamics exhibits nonlinearity, approximate numerical techniques (with rigorous numerics) are often necessary when dealing with system evolution. Since the error involved in numerical approximation should be kept low to perform verification successfully, the associated processing and memory costs become relevant especially when runtime verification is considered. Given a reachability analysis tool, the issue of controlling its numerical accuracy is not trivial from the user's perspective, due to the complex interaction between the configuration parameters of the tool. As a result, user intervention in the tuning of a specific problem is always required. This paper explores the problem of automatically choosing numerical parameters that drive the computation of the finite-time reachable set, when the configuration parameters of the tool are specified within bounds or lists of values. In particular, it is designed to be performed along evolution, in order to adapt to local properties of the dynamics and to reduce the setup overhead, essential for runtime verification. The approach used is a concurrent search into an integer space of discrete values, where search points are chosen based on score functions derived from the desired safety specifications. For evaluation purposes, the approach is applied to a specific reachability tool, but it is valid for any tool that computes rigorous numerical over-approximations of the reachable set.

10:15
[Short] Towards Specificationless Monitoring of Provenance-Emitting Systems
PRESENTER: Martin Stoffers

ABSTRACT. Monitoring often requires insight into the monitored system as well as concrete specifications of patterns to expect or to avoid. More and more systems, however, provide detailed information about their inner procedures by emitting provenance information in a graph format standardized by W3C.

In this work, we present an approach to monitor such provenance data for anomalous behavior by performing spectral graph analysis on slices of the constructed provenance graph and by comparing the characteristics of each slice with those of a sliding window over recently seen slices. We argue that this approach not only simplifies the monitoring of heterogeneous distributed systems, but also enables applying a host of well-studied techniques to monitor such systems.

11:00-12:30 Session 10
11:00
[¶] Optimal Finite-State Monitoring of Partial Traces
PRESENTER: Peeyush Kushwaha

ABSTRACT. Monitoring programs for finite state properties is challenging due to high memory and execution time overheads it incurs. Some events if skipped or lost naturally can reduce both overheads, but lead to uncertainty about the current monitor state. In this work, we present a theoretical framework to model traces that carry partial information (like number of events lost), and provide construction for a monitor capable of monitoring these partial traces without producing false positives while reporting violations. The constructed monitor optimally reports as many violations as possible for the partial traces. We model several loss types of practical relevance using our framework.

11:30
Anticipatory Recurrent Monitoring with Uncertainty and Assumptions
PRESENTER: Hannes Kallwies

ABSTRACT. Runtime Verification is a lightweight verification approach that aims at checking that a run of a system under observation adheres to a formal specification.

A classical approach is to synthesize a monitor from an LTL property.

Usually, such a monitor receives the trace of the system under observation incrementally and checks the property with respect to the first position of any trace that extends the received prefix.

This comes with the disadvantage that once the monitor detects a violation or satisfaction of the verdict it cannot recover and the erroneous position in the trace is not explicitly disclosed.

An alternative monitoring problem, proposed for example for PastLTL evaluation, is to evaluate the LTL property repeatedly at each position in the received trace, which enables recovering and gives a notion of the step in which the property is breached.

In this paper we study this concept of \emph{recurrent monitoring} in detail, particularly we investigate how the notion of anticipation (yielding future verdicts when they are inevitable) can be extended to recurrent monitoring.

Furthermore, we show how two fundamental approaches in Runtime Verification can be applied to recurrent monitoring, namely \emph{Uncertainty}---which deals with the handling of inaccurate or unavailable information in the input trace---and \emph{Assumptions}, i.e. the inclusion of additional knowledge about system invariants in the monitoring process.

12:00
[¶] Abstract Monitors for Quantitative Specifications

ABSTRACT. Quantitative monitoring can be universal and approximate: for every finite sequence of observations, the specification provides a value and the monitor outputs a best-effort approximation of it. The quality of the approximation may depend on the resources that are available to the monitor. By taking to the limit the sequences of specification values and monitor outputs, we obtain precision-resource trade-offs also for limit monitoring. This paper provides a formal framework for studying such trade-offs using an abstract interpretation for monitors: for each natural number 'n', the aggregate semantics of a monitor at time 'n' is an equivalence relation over all sequences of at most 'n' observations so that two equivalent sequences are indistinguishable to the monitor and thus mapped to the same output. This abstract interpretation of quantitative monitors allows us to measure the number of equivalence classes (or "resource use") that is necessary for a certain precision up to a certain time, or at any time. Our framework offers several insights. For example, we identify a family of specifications for which any resource-optimal exact limit monitor is independent of any error permitted over finite traces. Moreover, we present a specification for which any resource-optimal approximate limit monitor does not minimize its resource use at any time.

14:00-15:15 Session 11
14:00
[¶] Automated Surgical Procedure Assistance Framework using Deep Learning and Formal Runtime Monitoring
PRESENTER: Gaurav Gupta

ABSTRACT. There have been tremendous developments in minimally invasive approaches for various surgical treatments due to the benefits for patients such as less pain and faster recovery. However, surgeons face a number of obstacles while performing these surgeries, including inadequate depth perception, limited range of motion, and difficulty gauging the force to be delivered in the tissue. As a result, improved support for these surgeries is needed to provide surgeons with automated assistance, reducing complications and needless patient damage.

In this work, we propose an approach, leveraging deep learning and formal methods, to develop an automated surgical procedure assistance framework. To the best of our knowledge, our framework is the first to develop an automated surgical procedure assistant using deep learning and formal methods. We use Faster R-CNN to identify the surgical instruments/tools used to perform the surgical procedure. Based on the high-level description of the crucial guidelines that should be obeyed during a good surgical procedure, we obtain the monitoring code that identifies a bad behaviour in a surgical procedure using formal monitor synthesis techniques. For example, any violation in the tools’ usage during the surgical procedure can alert surgeons to take immediate corrective measures. To illustrate the practical applicability of the proposed approach, we consider the case of cholecystectomy (laparoscopic) surgery and illustrate how our framework can assist a surgeon during a laparoscopic surgical procedure. We implemented the proposed framework, and validated its technical feasibility using (offline) video samples of the surgical procedure from the modified Cholec80 dataset.

14:30
[¶] Rule-based Runtime Mitigation against Poison Attacks on Neural Networks
PRESENTER: Divya Gopinath

ABSTRACT. Poisoning or backdoor attacks are well-known attacks on image classification neural networks, whereby an attacker inserts a trigger into a subset of the training data, in such a way that the network learns to mis-classify any input with the trigger to a specific target label. We propose a set of runtime mitigation techniques, embodied by the tool AntidoteRT, which employs rules in terms of neuron patterns to detect and correct network behavior on poisoned inputs. The neuron patterns for correct and incorrect classifications are mined from the network based on running it on a clean and an optional set of poisoned samples with known ground-truth labels. AntidoteRT offers two methods for runtime correction: (i) Pattern-based correction which employs patterns as oracles to estimate the ideal label, and (ii) Input-based correction which corrects the input image by localizing the trigger and resetting it to a neutral color. We demonstrate that our techniques outperform existing defenses such as NeuralCleanse and STRIP on popular benchmarks such as MNIST, CIFAR-10, and GTSRB against the popular BadNets attack and the more complex DFST attack.

15:00
[Short,¶] Lock Contention Classification for Java Intrinsic Locks
PRESENTER: Ramiro Liscano

ABSTRACT. Locks are essential in java-based multi-threaded applications as they provide a solution to synchronization of shared resources. However, improper management of locks and threads can lead to contention; as a result, they can cause performance degradation and prevent java applications from further scaling. These types of faults are challenging to debug because they are caused by complex interactions among the threads and can only be detected at run time. Nowadays, performance engineers use legacy tools and their experience to determine causes of lock contention. In this paper, a clustering-based approach is presented to help identify the type of lock contention fault to facilitate the procedure that performance engineers follow, intending to eventually support developers with less experience. The classifier is based on the premise that if lock contention exists it is reflected as either a) threads spend too much time inside the critical section and/or b) threads’ high frequency access to the locked resources. Our results show that a classifier can be effectively trained to detect lock contention caused by high hold time and contention due to high frequency with which threads send access requests to the locked resources.