Méthode de conception de logiciel système critique couplée à une démarche de vérification formelle

Abstract : Software systems are critical and complex. In order to guarantee their correctness, the use of formal methodsis important. These methods can be defined as mathematically based techniques, languages and tools for specifying and reasoning about systems. But, the application of formal methods to software systems, implemented in C, is challenging due to the presence of pointers, pointer arithmetic andinteraction with hardware. Moreover, software systems are often concurrent, making the verification process infeasible. This work provides a methodology to specify and verify C software systems usingmodel-checking technique. The proposed methodology is based on translating the semantics of Cinto TLA+, a formal specification language for reasoning about concurrent and reactive systems. We define a memory and execution model for a sequential program and a set of translation rules from C to TLA+ that we developed in a tool called C2TLA+. Based on this model, we show that it can be extended to support concurrency, synchronization primitives and process scheduling. Although model-checking is an efficient and automatic technique, it faces the state explosion problem when the system becomes large. To overcome this problem, we propose a state-space reduction technique. The latter is based on agglomerating a set of C instructions during the generation phase of the TLA+ specification. This methodology has been applied to a concrete case study, a microkernel of an industrial real-time operating system, on which a set of functional properties has been verified. The application of the agglomeration technique to the case study shows the usefulness of the proposed technique in reducing the complexity of verification. The obtained results allow us to study the behavior of the system and to find errors undetectable using traditional testing techniques.
Complete list of metadatas

Cited literature [135 references]  Display  Hide  Download

https://tel.archives-ouvertes.fr/tel-01445983
Contributor : Abes Star <>
Submitted on : Wednesday, January 25, 2017 - 2:59:25 PM
Last modification on : Saturday, December 21, 2019 - 3:44:09 AM
Long-term archiving on: Wednesday, April 26, 2017 - 3:22:14 PM

File

METHNI_Amira-2016.pdf
Version validated by the jury (STAR)

Identifiers

  • HAL Id : tel-01445983, version 1

Collections

Citation

Amira Methni. Méthode de conception de logiciel système critique couplée à une démarche de vérification formelle. Logique en informatique [cs.LO]. Conservatoire national des arts et metiers - CNAM, 2016. Français. ⟨NNT : 2016CNAM1057⟩. ⟨tel-01445983⟩

Share

Metrics

Record views

534

Files downloads

774