skip to main content
10.1145/3644033.3644383acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Automated Repair of Violated Eventually Properties in Concurrent Programs

Published: 06 June 2024 Publication History

Abstract

Model checking automatically verifies that a model, e.g., a Labelled Transition System (LTS), obtained from higher-level specification languages, satisfies a given temporal property. When the model violates the property, the model checker returns a counterexample, but this counterexample does not precisely identify the source of the bug. Moreover, manually correcting the given specification or model can be a painful and complicated task. In this paper, we propose some techniques for computing patches that can correct an erroneous specification violating an eventually property. These techniques first extract from the whole behavioural model the part which does not satisfy the given property. In a second step, this erroneous part is analysed using several algorithms in order to compute the minimal number of patches in the specification so as to make it satisfy the given property. The approach is fully automated using a tool we implemented and applied on a series of examples for validation purposes.

References

[1]
2023. Eventually Properties Patching Tool. https://anonymous.4open.science/r/EventuallyPropertiesPatcher-0334.
[2]
C. Baier and J.-P. Katoen. 2008. Principles of Model Checking. MIT Press.
[3]
Gianluca Barbon, Vincent Leroy, and Gwen Salaün. 2018. Counterexample Simplification for Liveness Property Violation. In Proc. of SEFM'18 (LNCS, Vol. 10886). Springer, 173--188.
[4]
Gianluca Barbon, Vincent Leroy, and Gwen Salaün. 2021. Debugging of Behavioural Models using Counterexample Analysis. IEEE Trans. Software Eng. 47, 6 (2021), 1184--1197.
[5]
Gianluca Barbon, Vincent Leroy, Gwen Salaün, and Emmanuel Yah. 2019. Visual Debugging of Behavioural Models. In Proc. of ICSE'19. IEEE / ACM, 107--110.
[6]
Adrian Beer, Stephan Heidinger, Uwe Kühne, Florian Leitner-Fischer, and Stefan Leue. 2015. Symbolic Causality Checking Using Bounded Model Checking. In Proc. of SPIN'15 (LNCS, Vol. 9232). Springer, 203--221.
[7]
Ilan Beer, Shoham Ben-David, Hana Chockler, Avigail Orni, and Richard J. Trefler. 2012. Explaining counterexamples using causality. Formal Methods Syst. Des. 40, 1 (2012), 20--40.
[8]
D. Champelovier, X. Clerc, H. Garavel, Y. Guerte, F. Lang, C. McKinty, V. Powazny, W. Serwe, and G. Smeding. 2018. Reference Manual of the LNT to LOTOS Translator (Version 6.7). (2018). INRIA/VASY and INRIA/CONVECS, 153 pages.
[9]
Edmund M. Clarke, Orna Grumberg, and Doron A. Peled. 2001. Model checking. MIT Press.
[10]
Edmund M. Clarke, Thomas A. Henzinger, Helmut Veith, and Roderick Bloem (Eds.). 2018. Handbook of Model Checking. Springer.
[11]
M. B. Dwyer, G. S. Avrunin, and J. C. Corbett. 1999. Patterns in Property Specifications for Finite-State Verification. In Proc. of ICSE'99. ACM, 411--420.
[12]
Irman Faqrizal and Gwen Salaün. 2020. Clusters of Faulty States for Debugging Behavioural Models. In Proc. of APSEC'20. IEEE, 91--99.
[13]
Irman Faqrizal and Gwen Salaün. 2022. Counting Bugs in Behavioural Models using Counterexample Analysis. In Proc. of FormaliSE@ICSE'22. ACM, 12--22.
[14]
Cormac Flanagan and Patrice Godefroid. 2005. Dynamic partial-order reduction for model checking software. In Proc. of ACM'05. ACM, 110--121.
[15]
Hubert Garavel, Frédéric Lang, Radu Mateescu, and Wendelin Serwe. 2013. CADP 2011: A Toolbox for the Construction and Analysis of Distributed Processes. STTT 15, 2 (2013), 89--107.
[16]
Hubert Garavel, Julian Jacques Maurer, and Jose-Ignacio Requeno. 2015. Bounded Retransmission Protocol (CADP, demo 16). (2015).
[17]
Gregor Gößler and Daniel Le Métayer. 2013. A General Trace-Based Framework of Logical Causality. In Proc. of FACS'13 (LNCS, Vol. 8348). Springer, 157--173.
[18]
Klaus Havelund and Allen Goldberg. 2005. Verify Your Runs. In Proc. of VSTTE'05 (LNCS, Vol. 4171). Springer, 374--383.
[19]
John E. Hopcroft and Jeffrey D. Ullman. 2000. Introduction to Automata Theory, Languages and Computation, Second Edition. Addison-Wesley.
[20]
ISO. 1989. LOTOS --- A Formal Description Technique Based on the Temporal Ordering of Observational Behaviour. Technical Report 8807. ISO.
[21]
HoonSang Jin, Kavita Ravi, and Fabio Somenzi. 2002. Fate and Free Will in Error Traces. In Proc. of TACAS'02 (LNCS, Vol. 2280). Springer, 445--459.
[22]
Raphaël Khoury and Sylvain Hallé. 2015. Runtime Enforcement with Partial Control. In Proc. of FPS'15 (LNCS, Vol. 9482). Springer, 102--116.
[23]
Ajay Krishna, Michel Le Pallec, Radu Mateescu, and Gwen Salaün. 2022. Design and Deployment of Expressive and Correct Web of Things Applications. ACM Trans. Internet Things 3, 1 (2022), 1:1--1:30.
[24]
Martin Leucker and Christian Schallhart. 2009. A brief account of runtime verification. J. Log. Algebraic Methods Program. 78, 5 (2009), 293--303.
[25]
Jay Ligatti and Srikar Reddy. 2010. A Theory of Runtime Enforcement, with Results. In Proc. of ESORICS'10 (LNCS, Vol. 6345). Springer, 87--100.
[26]
Radu Mateescu, Wendelin Serwe, Aymane Bouzafour, and Marc Renaudin. 2020. Modeling an Asynchronous Circuit Dedicated to the Protection Against Physical Attacks. In Proc. of MARS '20 (EPTCS, Vol. 316). 200--239.
[27]
Robin Milner. 1989. Communication and concurrency. Prentice Hall.
[28]
M. Nielsen, G. Rozenberg, and P.S. Thiagarajan. 1995. Transition-Systems, Event Structures, and Unfoldings. Information and Computation 118, 2 (1995), 191--207.
[29]
Umar Ozeer, Gwen Salaün, Loïc Letondeur, François-Gaël Ottogalli, and Jean-Marc Vincent. 2020. Verification of a Failure Management Protocol for Stateful IoT Applications. In Proc. of FMICS 20 (LNCS, Vol. 12327). Springer, 272--287.
[30]
Mike Papadakis and Yves Le Traon. 2014. Effective Fault Localization via Mutation Analysis: A Selective Mutation Approach. In Proc. of SAC'14. ACM, 1293--1300.
[31]
Amir Pnueli. 1977. The Temporal Logic of Programs. In Proc. of FOCS'77. IEEE, 46--67.
[32]
P.J.G. Ramadge and W.M. Wonham. 1989. The control of discrete event systems. Proc. IEEE 77, 1 (1989).
[33]
P.J.G. Ramadge and W. M. Wonham. 1987. Supervisory Control of a Class of Discrete Event Processes. SIAM Journal on Control and Optimization 25, 1 (1987), 206--230.
[34]
Gwen Salaün and Lina Ye. 2015. Debugging Process Algebra Specifications. In Proc. of VMCAI'15 (LNCS, Vol. 8931). Springer, 245--262.
[35]
W. Eric Wong, Ruizhi Gao, Yihao Li, Rui Abreu, and Franz Wotawa. 2016. A Survey on Software Fault Localization. IEEE Trans. Software Eng. 42, 8 (2016), 707--740.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
FormaliSE '24: Proceedings of the 2024 IEEE/ACM 12th International Conference on Formal Methods in Software Engineering (FormaliSE)
April 2024
154 pages
ISBN:9798400705892
DOI:10.1145/3644033
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 06 June 2024

Check for updates

Qualifiers

  • Research-article

Conference

FormaliSE '24
Sponsor:

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 46
    Total Downloads
  • Downloads (Last 12 months)46
  • Downloads (Last 6 weeks)5
Reflects downloads up to 08 Mar 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media