Catálogo de publicaciones - libros

Compartir en
redes sociales


Título de Acceso Abierto

Tools and Algorithms for the Construction and Analysis of Systems: Tools and Algorithms for the Construction and Analysis of Systems

Parte de: Theoretical Computer Science and General Issues

En conferencia: 24º International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS) . Thessaloniki, Greece . April 14, 2018 - April 20, 2018

Resumen/Descripción – provisto por la editorial

No disponible.

Palabras clave – provistas por la editorial

computer architecture; computer software selection and evaluation; formal logic; formal methods; model checker; model checking; multi core processors; program compilers; programming languages; semantics; software engineering; specifications; state space; verification

Disponibilidad
Institución detectada Año de publicación Navegá Descargá Solicitá
No requiere 2018 Directory of Open access Books acceso abierto
No requiere 2018 SpringerLink acceso abierto

Información

Tipo de recurso:

libros

ISBN impreso

978-3-319-89962-6

ISBN electrónico

978-3-319-89963-3

Editor responsable

Springer Nature

País de edición

Reino Unido

Fecha de publicación

Tabla de contenidos

Computing the Concurrency Threshold of Sound Free-Choice Workflow Nets

Philipp J. Meyer; Javier Esparza; Hagen Völzer

Workflow graphs extend classical flow charts with concurrent fork and join nodes. They constitute the core of business processing languages such as BPMN or UML Activity Diagrams. The activities of a workflow graph are executed by humans or machines, generically called resources. If concurrent activities cannot be executed in parallel by lack of resources, the time needed to execute the workflow increases. We study the problem of computing the minimal number of resources necessary to fully exploit the concurrency of a given workflow, and execute it as fast as possible (i.e., as fast as with unlimited resources).

We model this problem using free-choice Petri nets, which are known to be equivalent to workflow graphs. We analyze the computational complexity of two versions of the problem: computing the resource and concurrency thresholds. We use the results to design an algorithm to approximate the concurrency threshold, and evaluate it on a benchmark suite of 642 industrial examples. We show that it performs very well in practice: It always provides the exact value, and never takes more than 30 ms for any workflow, even for those with a huge number of reachable markings.

- Concurrent and Distributed Systems | Pp. 3-19

Fine-Grained Complexity of Safety Verification

Peter Chini; Roland Meyer; Prakash Saivasan

We study the fine-grained complexity of Leader Contributor Reachability () and Bounded-Stage Reachability (), two variants of the safety verification problem for shared-memory concurrent programs. For both problems, the memory is a single variable over a finite data domain. We contribute new verification algorithms and lower bounds based on the Exponential Time Hypothesis () and kernels.

is the question whether a designated leader thread can reach an unsafe state when interacting with a certain number of equal contributor threads. We suggest two parameterizations: (1) By the size of the data domain and the size of the leader , and (2) by the size of the contributors . We present two algorithms, running in and time, showing that both parameterizations are fixed-parameter tractable. Further, we suggest a modification of the first algorithm suitable for practical instances. The upper bounds are complemented by (matching) lower bounds based on and kernels.

For , we consider programs involving different threads. We restrict the analysis to computations where the write permission changes times between the threads. asks whether a given configuration is reachable via such an -stage computation. When parameterized by , the maximum size of a thread, and , the interesting observation is that the problem has a large number of difficult instances. Formally, we show that there is no polynomial kernel, no compression algorithm that reduces or to a polynomial dependence on and . This indicates that symbolic methods may be harder to find for this problem.

A full version of the paper is available as [].

- Concurrent and Distributed Systems | Pp. 20-37

Parameterized Verification of Synchronization in Constrained Reconfigurable Broadcast Networks

A. R. Balasubramanian; Nathalie Bertrand; Nicolas Markey

Reconfigurable broadcast networks provide a convenient formalism for modelling and reasoning about networks of mobile agents broadcasting messages to other agents following some (evolving) communication topology. The parameterized verification of such models aims at checking whether a given property holds irrespective of the initial configuration (number of agents, initial states and initial communication topology). We focus here on the synchronization property, asking whether all agents converge to a set of target states after some execution. This problem is known to be decidable in polynomial time when no constraints are imposed on the evolution of the communication topology (while it is undecidable for static broadcast networks).

In this paper we investigate how various constraints on reconfigurations affect the decidability and complexity of the synchronization problem. In particular, we show that when bounding the number of reconfigured links between two communications steps by a constant, synchronization becomes undecidable; on the other hand, synchronization remains decidable in PTIME when the bound grows with the number of agents.

- Concurrent and Distributed Systems | Pp. 38-54

EMME: A Formal Tool for ECMAScript Memory Model Evaluation

Cristian Mattarei; Clark Barrett; Shu-yu Guo; Bradley Nelson; Ben Smith

Nearly all web-based interfaces are written in JavaScript. Given its prevalence, the support for high performance JavaScript code is crucial. The ECMA Technical Committee 39 (TC39) has recently extended the ECMAScript language (i.e., JavaScript) to support shared memory accesses between different threads. The extension is given in terms of a natural language memory model specification. In this paper we describe a formal approach for validating both the memory model and its implementations in various JavaScript engines. We first introduce a formal version of the memory model and report results on checking the model for consistency and other properties. We then introduce our tool, EMME, built on top of the Alloy analyzer, which leverages the model to generate all possible valid executions of a given JavaScript program. Finally, we report results using EMME together with small test programs to analyze industrial JavaScript engines. We show that EMME can find bugs as well as missed opportunities for optimization.

- Concurrent and Distributed Systems | Pp. 55-71

What a Difference a Variable Makes

Marijn J. H. Heule; Armin Biere

We present an algorithm and tool to convert derivations from the powerful recently proposed PR proof system into the widely used DRAT proof system. The PR proof system allows short proofs without new variables for some hard problems, while the DRAT proof system is supported by top-tier SAT solvers. Moreover, there exist efficient, formally verified checkers of DRAT proofs. Thus our tool can be used to validate PR proofs using these verified checkers. Our simulation algorithm uses only one new Boolean variable and the size increase is at most quadratic in the size of the propositional formula and the PR proof. The approach is evaluated on short PR proofs of hard problems, including the well-known pigeon-hole and Tseitin formulas. Applying our tool to PR proofs of pigeon-hole formulas results in short DRAT proofs, linear in size with respect to the size of the input formula, which have been certified by a formally verified proof checker.

- SAT and SMT II | Pp. 75-92

Abstraction Refinement for Emptiness Checking of Alternating Data Automata

Radu Iosif; Xiao Xu

Alternating automata have been widely used to model and verify systems that handle data from finite domains, such as communication protocols or hardware. The main advantage of the alternating model of computation is that complementation is possible in linear time, thus allowing to concisely encode trace inclusion problems that occur often in verification. In this paper we consider alternating automata over infinite alphabets, whose transition rules are formulae in a combined theory of Booleans and some infinite data domain, that relate past and current values of the data variables. The data theory is not fixed, but rather it is a parameter of the class. We show that union, intersection and complementation are possible in linear time in this model and, though the emptiness problem is undecidable, we provide two efficient semi-algorithms, inspired by two state-of-the-art abstraction refinement model checking methods: lazy predicate abstraction [] and the  semi-algorithm []. We have implemented both methods and report the results of an experimental comparison.

- SAT and SMT II | Pp. 93-111

Revisiting Enumerative Instantiation

Andrew Reynolds; Haniel Barbosa; Pascal Fontaine

Formal methods applications often rely on SMT solvers to automatically discharge proof obligations. SMT solvers handle quantified formulas using incomplete heuristic techniques like E-matching, and often resort to model-based quantifier instantiation (MBQI) when these techniques fail. This paper revisits enumerative instantiation, a technique that considers instantiations based on exhaustive enumeration of ground terms. Although simple, we argue that enumerative instantiation can supplement other instantiation techniques and be a viable alternative to MBQI for valid proof obligations. We first present a stronger Herbrand Theorem, better suited as a basis for the instantiation loop used in SMT solvers; it furthermore requires considering less instances than classical Herbrand instantiation. Based on this result, we present different strategies for combining enumerative instantiation with other instantiation techniques in an effective way. The experimental evaluation shows that the implementation of these new techniques in the SMT solver CVC4 leads to significant improvements in several benchmark libraries, including many stemming from verification efforts.

- SAT and SMT II | Pp. 112-131

A Non-linear Arithmetic Procedure for Control-Command Software Verification

Pierre Roux; Mohamed Iguernlala; Sylvain Conchon

State-of-the-art (semi-)decision procedures for non-linear real arithmetic address polynomial inequalities by mean of symbolic methods, such as quantifier elimination, or numerical approaches such as interval arithmetic. Although (some of) these methods offer nice completeness properties, their high complexity remains a limit, despite the impressive efficiency of modern implementations. This appears to be an obstacle to the use of SMT solvers when verifying, for instance, functional properties of control-command programs.

Using off-the-shelf convex optimization solvers is known to constitute an appealing alternative. However, these solvers only deliver approximate solutions, which means they do not readily provide the soundness expected for applications such as software verification. We thus investigate a-posteriori validation methods and their integration in the SMT framework. Although our early prototype, implemented in the Alt-Ergo SMT solver, often does not prove competitive with state of the art solvers, it already gives some interesting results, particularly on control-command programs.

- SAT and SMT II | Pp. 132-151

Approximate Reduction of Finite Automata for High-Speed Network Intrusion Detection

Milan Češka; Vojtěch Havlena; Lukáš Holík; Ondřej Lengál; Tomáš Vojnar

We consider the problem of that appear in hardware-accelerated network intrusion detection systems (NIDSes). We define an error of a reduced automaton from the original one as the probability of packets being incorrectly classified by the reduced automaton (wrt the probabilistic distribution of packets in the network traffic). We use this notion to design an that achieves a great size reduction (much beyond the state-of-the-art language preserving techniques) with a controlled and small error. We have implemented our approach and evaluated it on use cases from , a popular NIDS. Our results provide experimental evidence that the method can be highly efficient in practice, allowing NIDSes to follow the rapid growth in the speed of networks.

- Security and Reactive Systems | Pp. 155-175

Validity-Guided Synthesis of Reactive Systems from Assume-Guarantee Contracts

Andreas Katis; Grigory Fedyukovich; Huajun Guo; Andrew Gacek; John Backes; Arie Gurfinkel; Michael W. Whalen

Automated synthesis of reactive systems from specifications has been a topic of research for decades. Recently, a variety of approaches have been proposed to extend synthesis of reactive systems from propositional specifications towards specifications over rich theories. We propose a novel, completely automated approach to program synthesis which reduces the problem to deciding the validity of a set of -formulas. In spirit of IC3/PDR, our problem space is recursively refined by blocking out regions of unsafe states, aiming to discover a fixpoint that describes safe reactions. If such a fixpoint is found, we construct a witness that is directly translated into an implementation. We implemented the algorithm on top of the model checker, and exercised it against contracts written using the Lustre specification language. Experimental results show how the new algorithm outperforms ’s already existing synthesis procedure based on -induction and addresses soundness issues in the -inductive approach with respect to unrealizable results.

- Security and Reactive Systems | Pp. 176-193