skip to main content
10.1145/3605159.3605857acmconferencesArticle/Chapter ViewAbstractPublication PagesisstaConference Proceedingsconference-collections
extended-abstract

Combining Static and Runtime Verification with AC and Coq

Published:18 July 2023Publication History

ABSTRACT

The importance of monitoring groups of devices working together towards shared global objectives is growing, for instance when they are used for crucial purposes like search and rescue operations during emergencies. Effective approaches in this context include expressing global properties of a swarm as logical formulas in a spatial or temporal logic, which can be automatically translated into executable distributed run-time monitors. This can be accomplished leveraging frameworks such as Aggregate Computing (AC), and proving non-trivial "translation correctness" results, in which subtle bugs may easily hide if relying on hand-made proofs.

In this paper, we present an implementation of AC in Coq, which allows to automatically verify monitor correctness, further raising the security level of the monitored system. This implementation may also allow to integrate static analysis of program correctness properties with run-time monitors for properties too difficult to prove in Coq. We showcase the usefulness of our implementation by means of a paradigmatic example, proving the correctness of an AC monitor for a past-CTL formula in Coq.

References

  1. Giorgio Audrito, Roberto Casadei, Ferruccio Damiani, Guido Salvaneschi, and Mirko Viroli. 2022. Functional Programming for Distributed Systems with XC. In ECOOP (LIPIcs, Vol. 222). https://doi.org/10.4230/LIPIcs.ECOOP.2022.20 Google ScholarGoogle ScholarCross RefCross Ref
  2. Giorgio Audrito, Roberto Casadei, and Gianluca Torta. 2021. Fostering resilient execution of multi-agent plans through self-organisation. In ACSOS 2021, Companion Volume. IEEE, 81–86. https://doi.org/10.1109/ACSOS-C52956.2021.00076 Google ScholarGoogle ScholarCross RefCross Ref
  3. Giorgio Audrito, Ferruccio Damiani, Volker Stolz, Gianluca Torta, and Mirko Viroli. 2022. Distributed runtime verification by past-CTL and the field calculus. J. Syst. Softw., 187 (2022), 111251. https://doi.org/10.1016/j.jss.2022.111251 Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Giorgio Audrito and Gianluca Torta. 2021. Towards aggregate monitoring of spatio-temporal properties. In VORTEX 2021. ACM, 26–29. https://doi.org/10.1145/3464974.3468448 Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Giorgio Audrito, Mirko Viroli, Ferruccio Damiani, Danilo Pianini, and Jacob Beal. 2019. A Higher-Order Calculus of Computational Fields. ACM Trans. on Computational Logic, 20, 1 (2019), issn:1529-3785 https://doi.org/10.1145/3285956 Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Jacob Beal, Danilo Pianini, and Mirko Viroli. 2015. Aggregate Programming for the Internet of Things. IEEE Computer, 48, 9 (2015), 22–30. isbn:1471-2962 issn:1364-503X https://doi.org/10.1109/MC.2015.261 Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Giorgio Audrito et al. 2021. RM for users’ safety and security in the built environment. In VORTEX 2021. ACM, 13–16. https://doi.org/10.1145/3464974.3468445 Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Adrian Francalanza, Jorge A. Pérez, and César Sánchez. 2018. Runtime Verification for Decentralised and Distributed Systems. Lecture Notes in Computer Science, Vol. 10457. Springer, 176–210. https://doi.org/10.1007/978-3-319-75632-5_6 Google ScholarGoogle ScholarCross RefCross Ref
  9. Adrian Francalanza and Aldrin Seychell. 2015. Synthesising correct concurrent runtime monitors. Formal Methods Syst. Des., 46, 3 (2015), 226–261. https://doi.org/10.1007/s10703-014-0217-9 Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Nicola Gigante, Angelo Montanari, and Mark Reynolds. 2017. A One-Pass Tree-Shaped Tableau for LTL+Past. In LPAR (EPiC Series in Computing, Vol. 46). 456–473. http://www.easychair.org/publications/paper/340363 Google ScholarGoogle Scholar
  11. Leslie Lamport. 1978. Time, Clocks, and the Ordering of Events in a Distributed System. Commun. ACM, 21, 7 (1978), https://doi.org/10.1145/359545.359563 Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. François Laroussinie and Philippe Schnoebelen. 1995. A Hierarchy of Temporal Logics with Past. Theor. Comput. Sci., 148, 2 (1995), 303–324. https://doi.org/10.1016/0304-3975(95)00035-U Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Philip Wadler. 2015. Propositions as types. Commun. ACM, 58, 12 (2015), 75–84. https://doi.org/10.1145/2699407 Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Combining Static and Runtime Verification with AC and Coq

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Conferences
        VORTEX 2023: Proceedings of the 6th International Workshop on Verification and Monitoring at Runtime Execution
        July 2023
        20 pages
        ISBN:9798400702495
        DOI:10.1145/3605159

        Copyright © 2023 Owner/Author

        Permission to make digital or hard copies of part or all 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 third-party components of this work must be honored. For all other uses, contact the Owner/Author.

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 18 July 2023

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • extended-abstract

        Upcoming Conference

        ISSTA '24
      • Article Metrics

        • Downloads (Last 12 months)44
        • Downloads (Last 6 weeks)4

        Other Metrics

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader