0
views
0
recommends
+1 Recommend
0 collections
    0
    shares
      • Record: found
      • Abstract: found
      • Article: found
      Is Open Access

      Model Checking a C++ Software Framework, a Case Study

      Preprint
      ,

      Read this article at

      Bookmark
          There is no author summary for this article yet. Authors can add summaries to their articles on ScienceOpen to make them more accessible to a non-specialist audience.

          Abstract

          This paper presents a case study on applying two model checkers, SPIN and DIVINE, to verify key properties of a C++ software framework, known as ADAPRO, originally developed at CERN. SPIN was used for verifying properties on the design level. DIVINE was used for verifying simple test applications that interacted with the implementation. Both model checkers were found to have their own respective sets of pros and cons, but the overall experience was positive. Because both model checkers were used in a complementary manner, they provided valuable new insights into the framework, which would arguably have been hard to gain by traditional testing and analysis tools only. Translating the C++ source code into the modeling language of the SPIN model checker helped to find flaws in the original design. With DIVINE, defects were found in parts of the code base that had already been subject to hundreds of hours of unit tests, integration tests, and acceptance tests. Most importantly, model checking was found to be easy to integrate into the workflow of the software project and bring added value, not only as verification, but also validation methodology. Therefore, using model checking for developing library-level code seems realistic and worth the effort.

          Related collections

          Most cited references19

          • Record: found
          • Abstract: not found
          • Conference Proceedings: not found

          The temporal logic of programs

            Bookmark
            • Record: found
            • Abstract: not found
            • Article: not found

            The model checker SPIN

              Bookmark
              • Record: found
              • Abstract: not found
              • Article: not found

              Software model checking

                Bookmark

                Author and article information

                Journal
                29 June 2019
                Article
                10.1145/3338906.3340453
                1907.00172
                fa48f2d8-0006-4da4-8afc-6857a5271d5e

                http://arxiv.org/licenses/nonexclusive-distrib/1.0/

                History
                Custom metadata
                In Proceedings of the 27th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE '19), August 26-30, 2019, Tallinn, Estonia. ACM, New York, NY, USA, 11 pages
                cs.SE

                Software engineering
                Software engineering

                Comments

                Comment on this article