BAUCH, Petr, Vojtěch HAVEL and Jiří BARNAT. Control Explicit-Data Symbolic Model Checking. ACM Transactions on Software Engineering and Methodology. vol. 25, No 2, p. 15-62. ISSN 1049-331X. doi:10.1145/2888393. 2016.
Other formats:   BibTeX LaTeX RIS
Basic information
Original name Control Explicit-Data Symbolic Model Checking
Authors BAUCH, Petr (203 Czech Republic, belonging to the institution), Vojtěch HAVEL (203 Czech Republic, belonging to the institution) and Jiří BARNAT (203 Czech Republic, guarantor, belonging to the institution).
Edition ACM Transactions on Software Engineering and Methodology, 2016, 1049-331X.
Other information
Original language English
Type of outcome Article in a journal
Field of Study 10201 Computer sciences, information science, bioinformatics
Country of publisher United States of America
Confidentiality degree is not subject to a state or trade secret
WWW URL
Impact factor Impact factor: 2.516
RIV identification code RIV/00216224:14330/16:00088090
Organization unit Faculty of Informatics
Doi http://dx.doi.org/10.1145/2888393
UT WoS 000377289000005
Keywords in English formal methods; model checking; static analysis; modular arithmetic
Tags International impact, Reviewed
Changed by Changed by: prof. RNDr. Jiří Barnat, Ph.D., učo 3496. Changed: 23/8/2016 11:04.
Abstract
Automatic verification of programs and computer systems with data nondeterminism (e.g., reading from user input) represents a significant and well-motivated challenge. The case of parallel programs is especially difficult, because then also the control flow nontrivially complicates the verification process. We apply the techniques of explicit-state model checking to account for the control aspects of a program to be verified and use set-based reduction of the data flow, thus handling the two sources of nondeterminism separately. We build the theory of set-based reduction using first-order formulae in the bit-vector theory to encode the sets of variable evaluations representing program data. These representations are tested for emptiness and equality (state matching) during the verification, and we harness modern satisfiability modulo theory solvers to implement these tests. We design two methods of implementing the state matching, one using quantifiers and one that is quantifier-free, and we provide both analytical and experimental comparisons. Further experiments evaluate the efficiency of the set-based reduction method, showing the classical, explicit approach to fail to scale with the size of data domains. Finally, we propose and evaluate two heuristics to decrease the number of expensive satisfiability queries, together yielding a 10-fold speedup.
Links
GA15-08772S, research and development projectName: Analýza korektnosti vícevláknových programů v C a C++
Investor: Czech Science Foundation
PrintDisplayed: 29/3/2024 13:47