scispace - formally typeset
Search or ask a question

Showing papers presented at "Formal Methods for Industrial Critical Systems in 2016"


Book ChapterDOI
26 Sep 2016
TL;DR: This paper integrates inductive proof, bounded model checking, test case generation and equivalence proof techniques to verify an embedded system and is implemented using the Systerel Smart Solver toolset.
Abstract: In this paper, we integrate inductive proof, bounded model checking, test case generation and equivalence proof techniques to verify an embedded system. This approach is implemented using the Systerel Smart Solver (S3) toolset. It is applied to verify properties at system, software, and code levels. The verification process is illustrated on an anti-collision system (ARP for Automatic Rover Protection) implemented on-board a rover. Focus is placed on the verification of safety and functional properties and the proof of equivalence between the design model and the generated code.

7 citations


Book ChapterDOI
26 Sep 2016
TL;DR: A new fault modeling and specification approach for safety-critical systems based on the concept of fault activations that decreases explicit-state model checking and safety analysis times by up to three orders of magnitude is introduced.
Abstract: Deductive Cause Consequence Analysis (Dcca) is a model checking-based safety analysis technique that determines all combinations of faults potentially causing a hazard. This paper introduces a new fault modeling and specification approach for safety-critical systems based on the concept of fault activations that decreases explicit-state model checking and safety analysis times by up to three orders of magnitude. We augment Kripke structures and LTL with fault activations and show how standard model checkers can be used for analysis. Additionally, we present conceptual changes to Dcca that improve efficiency and usability. We evaluate our work using our safety analysis tool Open image in new window (“safety sharp”).

5 citations


Book ChapterDOI
26 Sep 2016
TL;DR: An effective attempt to detect collusion via model-checking a set of apps utilising the K framework, which opens the possibility to carry out threats in a collaborative fashion under the Android OS.
Abstract: The Android OS supports multiple communication methods between apps. This opens the possibility to carry out threats in a collaborative fashion, c.f. the Soundcomber example from 2011. In this paper we demonstrate an effective attempt to detect collusion via model-checking a set of apps utilising the \({\mathbb {K}}\) framework.

5 citations


Book ChapterDOI
26 Sep 2016
TL;DR: Novel semi-Markov models that characterise failure behaviours, based on Weibull failure modes inferred from realistic data sources are developed and CTMC-based model checking tools allow us to automatically and efficiently verify reliability properties relevant to industrial critical systems.
Abstract: Weibull distributions can be used to accurately model failure behaviours of a wide range of critical systems such as on-orbit satellite subsystems. Markov chains have been used extensively to model reliability and performance of engineering systems or applications. However, the exponentially distributed sojourn time of Continuous-Time Markov Chains (CTMCs) can sometimes be unrealistic for satellite systems that exhibit Weibull failures. In this paper, we develop novel semi-Markov models that characterise failure behaviours, based on Weibull failure modes inferred from realistic data sources. We approximate and encode these new models with CTMCs and use the PRISM probabilistic model checker. The key benefit of this integration is that CTMC-based model checking tools allow us to automatically and efficiently verify reliability properties relevant to industrial critical systems.

5 citations


Book ChapterDOI
26 Sep 2016
TL;DR: This paper presents a method for the verification of AUTOSar software models by transforming the software architecture as well as the corresponding AUTOSAR timing constraints into timed automata.
Abstract: Today, automotive software is getting increasingly complex while at the same time development cycles are shortened due to time and cost constraints. For the validation of electronic control unit software, this results in a major challenge. Especially for safety critical software, like automotive software, high quality must be guaranteed. Formal verification of automotive software architecture models enables early verification of safety constraints, before the complete system is assembled and ready for simulation. One option for formal verification of safety critical software is modeling and verification using timed automata. In this paper, we present a method for the verification of AUTOSAR software models by transforming the software architecture as well as the corresponding AUTOSAR timing constraints into timed automata.

5 citations



Book ChapterDOI
26 Sep 2016
TL;DR: The technological evolution of railway signalling equipment promises significant increases in transport capacity, in operation regularity, in quality and safety of the service offered.
Abstract: The technological evolution of railway signalling equipment promises significant increases in transport capacity, in operation regularity, in quality and safety of the service offered.

2 citations


Book ChapterDOI
26 Sep 2016
TL;DR: This work has extended TLA to support this kind of refinement by building a specialized version of it in the Coq theorem prover, which can prove certain difficult kinds of safety properties using mathematical induction, and certify the correctness of the proofs.
Abstract: Sandia engineers use the Temporal Logic of Actions (TLA) early in the design process for digital systems where safety considerations are critical. TLA allows us to easily build models of interactive systems and prove (in the mathematical sense) that those models can never violate safety requirements, all in a single formal language. TLA models can also be refined, that is, extended by adding details in a carefully prescribed way, such that the additional details do not break the original model. Our experience suggests that engineers using refinement can build, maintain, and prove safety for designs that are significantly more complex than they otherwise could. We illustrate the way in which we have used TLA, including refinement, with a case study drawn from a real safety-critical system. This case exposes a need for refinement by composition, which is not currently provided by TLA. We have extended TLA to support this kind of refinement by building a specialized version of it in the Coq theorem prover. Taking advantage of Coq’s features, our version of TLA exhibits other benefits over stock TLA: we can prove certain difficult kinds of safety properties using mathematical induction, and we can certify the correctness of our proofs.

1 citations


Book ChapterDOI
26 Sep 2016
TL;DR: A static analysis based on abstract interpretation is applied to derive reachable values and identify potential programming faults fully automatically and this tool can verify block diagrams with embedded MATLAB code.
Abstract: In this paper we present how formal methods can be applied to MATLAB programs. We apply a static analysis based on abstract interpretation to derive reachable values and identify potential programming faults fully automatically. Our verification is built on a formalization and abstraction of matrices, structures and data types, such as integers and IEEE-754 floats. Combined with previously presented static analysis for Simulink, our tool can verify block diagrams with embedded MATLAB code. We show the feasibility of our tool and compare our solutions against a commercial tool, using real world applications.

1 citations


Book ChapterDOI
26 Sep 2016
TL;DR: An approach for the formal verification of code generation from dataflow languages, such as Simulink, based on translation validation based on BlockLibrary DSL, which relies on the Block library DSL for the structure, semantics and variability of the complex block libraries found in these languages.
Abstract: Model driven engineering is widely used in the development of complex and safety critical systems. Systems’ designs are specified and validated in domain specific modeling languages and software code is often produced by autocoding. Thus the correctness of the final systems depend on the correctness of those tools. We propose an approach for the formal verification of code generation from dataflow languages, such as Simulink, based on translation validation. It relies on the BlockLibrary DSL for the formal specification and verification of the structure, semantics and variability of the complex block libraries found in these languages. These specifications are then used here for deriving model and block-specific semantic contracts that will be woven into the generated C code. We present two different approaches for performing the block matching and weaving step. Finally, we rely on the Frama-C toolset and state-of-the-art SMT solvers for verifying the annotated code.

1 citations