Treffer: Residual Runtime Verification via Reachability Analysis

Title:
Residual Runtime Verification via Reachability Analysis
Authors:
Contributors:
Compiler Optimization and Run-time Systems (CORSE), Centre Inria de l'Université Grenoble Alpes, Institut National de Recherche en Informatique et en Automatique (Inria)-Institut National de Recherche en Informatique et en Automatique (Inria)-Laboratoire d'Informatique de Grenoble (LIG), Institut National de Recherche en Informatique et en Automatique (Inria)-Centre National de la Recherche Scientifique (CNRS)-Université Grenoble Alpes (UGA)-Institut polytechnique de Grenoble - Grenoble Institute of Technology (Grenoble INP), Université Grenoble Alpes (UGA)-Centre National de la Recherche Scientifique (CNRS)-Université Grenoble Alpes (UGA)-Institut polytechnique de Grenoble - Grenoble Institute of Technology (Grenoble INP), Université Grenoble Alpes (UGA)
Source:
VSTTE 2022 - 14th International Conference on Verified Software: Theories, Tools, and Experiments ; https://inria.hal.science/hal-03911820 ; VSTTE 2022 - 14th International Conference on Verified Software: Theories, Tools, and Experiments, Oct 2022, Trento, Italy. pp.1-19
Publisher Information:
CCSD
Publication Year:
2022
Collection:
Université Grenoble Alpes: HAL
Subject Geographic:
Time:
Trento, Italy
Document Type:
Konferenz conference object
Language:
English
Rights:
info:eu-repo/semantics/OpenAccess
Accession Number:
edsbas.466B682F
Database:
BASE

Weitere Informationen

International audience ; We leverage static verification to reduce monitoring overhead when runtime verifying a property. We present a sound and efficient analysis to statically find safe execution paths in the control flow at the intra-procedural level of programs. Such paths are guaranteed to preserve the monitored property and thus can be ignored at runtime. Our analysis guides an instrumentation tool to select program points that should be observed at runtime. The monitor is left to perform residual runtime verification for parts of the program that the analysis could not statically prove safe. Our approach does not depend on dataflow analysis, thus separating the task of residual analysis from static analysis; allowing for seamless integration with many RV frameworks and development pipelines. We implement our approach within BISM, which is a recent tool for bytecode-level instrumentation of Java programs. Our experiments on the DaCapo benchmark show a reduction in instrumentation points by a factor of 2.5 on average (reaching 9), and accordingly, a reduction in the number of runtime events by a factor of 1.8 on average (reaching 6).