1,553 papers · page 12 of 78
Jelle Bouma, Stijn de Gouw, Sung-Shik Jongmans
Abstract Multiparty session typing (MPST) is a method to automatically prove safety and liveness of protocol implementations relative to specifications. We present BGJ: a new tool to apply the MPST method in combination with Java. The checks performed using our tool are purely st…
Véronique Bruyère, Guillermo A. Pérez, Gaëtan Staquet
Abstract We present a new streaming algorithm to validate JSON documents against a set of constraints given as a JSON schema. Among the possible values a JSON document can hold, objects are unordered collections of key-value pairs while arrays are ordered collections of values. W…
Michaël Cadilhac, Guillermo A. Pérez
Abstract We describe our implementation of downset-manipulating algorithms used to solve the realizability problem for linear temporal logic (LTL). These algorithms were introduced by Filiot et al. in the 2010s and implemented in the tools Acacia and Acacia+ in C and Python. We i…
Marek Chalupa, Thomas A. Henzinger
Abstract The main idea behind Bubaak is to run multiple program analyses in parallel and use runtime monitoring and enforcement to observe and control their progress in real time. The analyses send information about (un)explored states of the program and discovered invariants to …
Krishnendu Chatterjee, Thomas A. Henzinger, Mathias Lechner, Dorde Zikelic
Abstract Reinforcement learning has received much attention for learning controllers of deterministic systems. We consider a learner-verifier framework for stochastic control systems and survey recent methods that formally guarantee a conjunction of reachability and safety proper…
Alessandro Cimatti, Luca Cristoforetti, Alberto Griggio, Stefano Tonetta, Sara Corfini, Marco Di Natale, Florian Barrau
Abstract We present , a framework for the integration of modern verification tools in the context of AUTOSAR, a widely-used open standard for the development of automotive software systems. Our framework enables the automatic end-to-end verification of system-level properties usi…
João Cortes, Inês Lynce, Vasco Manquinho
Abstract In the last decade, numerous algorithms for single-objective Boolean optimization have been proposed that rely on the iterative usage of a highly effective Propositional Satisfiability (SAT) solver. But the use of SAT solvers in Multi-Objective Combinatorial Optimization…
Priyanka Darke, Bharti Chimdyalwar, Sakshi Agrawal, Shrawan Kumar, R. Venkatesh, Supratik Chakraborty
Abstract We present VeriAbsL, a reachability verifier that performs verification in three stages. First, it slices the input code using a combination of two slicers, then it verifies the slices using predicted strategies, and at last, it composes the result of verifying the indiv…
Pantazis Deligiannis, Aditya Senthilnathan, Fahad Nayyar, Chris Lovett, Akash Lal
Abstract This paper describes the design and implementation of the open-source tool $$\textsc {Coyote} $$ for testing concurrent programs written in the $$\textsc {C}{} \texttt {\#} $$ language. $$\textsc {Coyote} $$ provides algorithmic capabilities to explore the state-space of…
Xavier Denis, Jacques-Henri Jourdan
Abstract In Rust, programs are often written using iterators, but these pose problems for verification: they are non-deterministic, infinite, and often higher-order, effectful and built using adapters. We present a general framework for specifying and reasoning with Rust iterator…
Daniel Dietsch, Matthias Heizmann, Dominik Klumpp, Frank Schüssele, Andreas Podelski
Abstract Ultimate Taipan integrates trace abstraction with algebraic program analysis on path programs. Taipan supports data race checking in concurrent programs through a reduction to reachability checking. Though the subsequent verification is not tuned for data race checking, …
Kyveli Doveri, Pierre Ganty, Luka Hadzi-Dokic
Abstract We define novel algorithms for the inclusion problem between two visibly pushdown languages of infinite words, an EXPTime -complete problem. Our algorithms search for counterexamples to inclusion in the form of ultimately periodic words i.e. words of the form $$uv^{\omeg…
Gidon Ernst
Abstract Korn is a software verifier that infers correctness certificates and violation witnesses sutomatically using state-of-the-art Horn-clause solvers, such as Z3 and Eldarica. The solvers are used in a portfolio together with cheap random sampling where the latter can be ver…
Wenji Fang, Hongce Zhang
Abstract This paper demonstrates the design and usage of WASIM, a word-level abstract symbolic simulation framework with pluggable abstraction/refinement functions. WASIM is useful in the formal verification of functional properties on register-transfer level (RTL) hardware desig…
Wan J. Fokkink, Martijn A. Goorden, Dennis Hendriks, D. A. van Beek, Albert T. Hofkamp, Ferdie F. H. Reijnen, L. F. P. Etman, Lars Moormann + 8 more
Abstract The Eclipse Supervisory Control Engineering Toolkit (ESCET™) is an open-source project to provide a model-based approach and toolkit for developing supervisory controllers, targeting their entire engineering process. It supports synthesis-based engineering of supervisory…
Tobias Fuchs, Jakob Bach, Ashlin Iser
Abstract Benchmarking is a crucial phase when developing algorithms. This also applies to solvers for the SAT (propositional satisfiability) problem. Benchmark selection is about choosing representative problem instances that reliably discriminate solvers based on their runtime. …
Xingwu Guo, Ziwei Zhou, Yueling Zhang, Guy Katz, Min Zhang
Abstract Occlusion is a prevalent and easily realizable semantic perturbation to deep neural networks (DNNs). It can fool a DNN into misclassifying an input image by occluding some segments, possibly resulting in severe errors. Therefore, DNNs planted in safety-critical systems s…
Ernst Moritz Hahn, Mateo Perez, Sven Schewe, Fabio Somenzi, Ashutosh Trivedi, Dominik Wojtczak
Abstract Mungojerrie is an extensible tool that provides a framework to translate linear-time objectives into reward for reinforcement learning (RL). The tool provides convergent RL algorithms for stochastic games, reference implementations of existing reward translations for $$\…
Ameer Hamza, Grigory Fedyukovich
Abstract Equivalence checking of two programs is often reduced to the safety verification of a so-called product program that aligns the programs in lockstep. However, this strategy is not applicable when programs have arbitrary loop structures, e.g., the numbers of loops vary. W…
Arnd Hartmanns, Sebastian Junges, Tim Quatmann, Maximilian Weininger
Abstract Model checking undiscounted reachability and expected-reward properties on Markov decision processes (MDPs) is key for the verification of systems that act under uncertainty. Popular algorithms are policy iteration and variants of value iteration; in tool competitions, m…