Bounded model checking of C++ programs based on the Qt cross-platform framework: BMC of C++ Programs based on Qt Cross-Platform Framework

Felipe R. Monteiro, Mário A. P. Garcia, Lucas C. Cordeiro, Eddie B. De Lima Filho

Research output: Contribution to journalArticlepeer-review

347 Downloads (Pure)

Abstract

The software development process for embedded systems is getting faster and faster, which generally incurs an increase in the associated complexity. As a consequence, technology companies tend to invest in fast and automatic verification mechanisms, to create robust systems and reduce product recall rates. In addition, further development‐time reduction and system robustness can be achieved through cross‐platform frameworks, such as Qt, which favor the reliable port of software stacks to different devices. Based on that, the present paper proposes a simplified version of the Qt framework, which is integrated into a checker based on satisfiability modulo theories (SMT), known as the Efficient SMT‐based Context‐Bounded Model Checker, for verifying actual Qt‐based applications, with a success rate of 89%, for the developed benchmark suite. Furthermore, the simplified version of the Qt framework, named as Qt Operational Model, was also evaluated using other state‐of‐the‐art verifiers for C++ programs. In fact, Qt Operational Model was combined with 2 different verification approaches: explicit‐state model checking and also symbolic (bounded) model checking, during the experimental evaluation, which highlights its flexibility. The proposed methodology is the first one to formally verify Qt‐based applications, which has the potential to devise new directions for software verification of portable code.
Original languageEnglish
Pages (from-to)e1632
JournalSoftware Testing, Verification and Reliability
Volume27
Issue number3
Early online date2 Mar 2017
DOIs
Publication statusPublished - 2017

Fingerprint

Dive into the research topics of 'Bounded model checking of C++ programs based on the Qt cross-platform framework: BMC of C++ Programs based on Qt Cross-Platform Framework'. Together they form a unique fingerprint.

Cite this