Model checking a C++ software framework: a case study

@article{Lng2019ModelCA,
  title={Model checking a C++ software framework: a case study},
  author={John L{\aa}ng and I. S. W. B. Prasetya},
  journal={Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering},
  year={2019}
}
  • John Lång, I. Prasetya
  • Published 29 June 2019
  • Computer Science
  • Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering
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… 
1 Citations
Model Checking in a Development Workflow: A Study on a Concurrent C++ Hash Table
In this paper, we report on our effort to design a fast, concurrent-safe hash table and implement it in C++, correctly. It is especially the latter that is the focus of this paper: concurrent data

References

SHOWING 1-10 OF 43 REFERENCES
Software model checking in practice: an industrial case study
TLDR
An application of software model checking to the analysis of a large industrial software product: Lucent Technologies' CDMA call-processing library, where it sets up and manages millions of calls to and from mobile devices everyday.
Model checking software with well-defined APIs: the socket case
TLDR
This paper gives a method for using the tool SPIN to verify distributed software systems that use the API Socket and the network protocol stack TCPIP for communications.
A practical method for verifying event-driven software
  • G. Holzmann, Margaret H. Smith
  • Computer Science
    Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002)
  • 1999
TLDR
This paper describes a verification method that requires little or no specialized knowledge in model construction and allows us to extract models mechanically from the source of software applications, securing accuracy.
A Case study in Model Checking Software Systems
TLDR
This work verified three cache coherence protocols used in distributed file systems by using McMillan's SMV model checker and found that on the most complicated protocol, SMV took less than 1 s to check over 43600 reachable states.
Principles of model checking
TLDR
Principles of Model Checking offers a comprehensive introduction to model checking that is not only a text suitable for classroom use but also a valuable reference for researchers and practitioners in the field.
Principles of Model Checking (Representation and Mind Series)
TLDR
Principles of Model Checking offers a comprehensive introduction to model checking that is not only a text suitable for classroom use but also a valuable reference for researchers and practitioners in the field.
Bringing Automated Model Checking to PLC Program Development - a CERN Case Study
TLDR
This paper presents a tool generating automatically formal models out of PLC code, and shows that the verification process is automatized and supported by the proposed tool, thus its difficulty is completely hidden for the control engineer.
A symbolic model checking approach to verifying satellite onboard software
TLDR
This paper discusses the use of symbolic model checking technology to verify the design of an embedded satellite software control system called the attitude and orbit control system (AOCS), and adapt a previously unexplored form of the liveness-to-safety approach to the problem.
Linear Temporal Logic Symbolic Model Checking
TLDR
This survey provides a perspective on the formal verification technique of linear temporal logic (LTL) symbolic model checking, from its history and evolution leading up to the state-of-the-art, by applying each step to a real-life aerospace example.
NuSMV 2: An OpenSource Tool for Symbolic Model Checking
TLDR
This paper describes version 2 of the NuSMV tool, a state-of-the-art symbolic model checker designed to be applicable in technology transfer projects and is robust and close to industrial systems standards.
...
1
2
3
4
5
...