Debugging of Behavioural Models using Counterexample Analysis - Archive ouverte HAL Access content directly
Journal Articles IEEE Transactions on Software Engineering Year : 2021

Debugging of Behavioural Models using Counterexample Analysis

(1) , (2) , (1)
1
2

Abstract

Model checking is an established technique for automatically verifying that a model satisfies a given temporal property. When the model violates the property, the model checker returns a counterexample, which is a sequence of actions leading to a state where the property is not satisfied. Understanding this counterexample for debugging the specification is a complicated task for several reasons: (i) the counterexample can contain a large number of actions, (ii) the debugging task is mostly achieved manually, and (iii) the counterexample does not explicitly highlight the source of the bug that is hidden in the model. This article presents a new approach that improves the usability of model checking by simplifying the comprehension of counterexamples. To do so, we first extract in the model all the counterexamples. Second, we define an analysis algorithm that identifies actions that make the model skip from incorrect to correct behaviours, making these actions relevant from a debugging perspective. Third, we develop a set of abstraction techniques to extract these actions from counterexamples. Our approach is fully automated by a tool we implemented and was applied on real-world case studies from various application areas for evaluation purposes.
Fichier principal
Vignette du fichier
tse.pdf (1005.65 Ko) Télécharger le fichier
Origin : Files produced by the author(s)
Loading...

Dates and versions

hal-02145610 , version 1 (03-06-2019)

Identifiers

Cite

Gianluca Barbon, Vincent Leroy, Gwen Salaün. Debugging of Behavioural Models using Counterexample Analysis. IEEE Transactions on Software Engineering, 2021, 47 (6), pp.1184-1197. ⟨10.1109/TSE.2019.2915303⟩. ⟨hal-02145610⟩
156 View
211 Download

Altmetric

Share

Gmail Facebook Twitter LinkedIn More