Three-valued bounded model checking with cause-guided abstraction refinement

dc.contributor.authorTimm, Nils
dc.contributor.authorGruner, Stefan
dc.contributor.emailntimm@cs.up.ac.zaen_ZA
dc.date.accessioned2020-08-26T15:23:07Z
dc.date.available2020-08-26T15:23:07Z
dc.date.issued2019-04
dc.description.abstractWe present a technique for verifying concurrent software systems via SAT-based three-valued bounded model checking. It is based on a direct transfer of the system to be analysed and a temporal logic property into a propositional logic formula that encodes the corresponding model checking problem. In our approach we first employ three-valued abstraction which gives us an abstract system defined over predicates with the possible truth values true, false and unknown. The state space of the abstract system is then logically encoded. The verification result of the encoded three-valued model checking problem can be obtained via two satisfiability checks, one for an over-approximation of the encoding and one for an under-approximation. True and false results can be immediately transferred to the system under consideration. In case of an unknown result, the current abstraction is too imprecise for a definite outcome. In order to achieve the necessary precision, we have developed a novel cause-guided abstraction refinement procedure. An unknown result always entails a truth assignment that only satisfies the over-approximation, but not the under-approximation. We determine the propositional logic clauses of the under-approximation that are not satisfied under the assignment. These clauses contain unknown as a constant. Each unknown is associated with a cause of uncertainty that refers to missing predicates that are required for a definite model checking result. Our procedure adds these predicates to the abstraction and constructs the encoding corresponding to the refined model checking problem. The procedure is iteratively applied until a definite result can be obtained. We have integrated our novel refinement approach into a SAT-based three-valued bounded model checker. In an experimental evaluation, we show that our approach allows to automatically and quickly reach the right level of abstraction for solving software verification tasks.en_ZA
dc.description.departmentComputer Scienceen_ZA
dc.description.librarianhj2020en_ZA
dc.description.urihttp://www.elsevier.com/locate/scicoen_ZA
dc.identifier.citationTimm, N. & Gruner, S. 2019, 'Three-valued bounded model checking with cause-guided abstraction refinement', Science of Computer Programming, vol. 175, pp. 37-62.en_ZA
dc.identifier.issn0167-6423 (print)
dc.identifier.issn1872-7964 (online)
dc.identifier.other10.1016/j.scico.2019.02.002
dc.identifier.urihttp://hdl.handle.net/2263/75921
dc.language.isoenen_ZA
dc.publisherElsevieren_ZA
dc.rights© 2019 Elsevier B.V. All rights reserved. Notice : this is the author’s version of a work that was accepted for publication in Science of Computer Programming. Changes resulting from the publishing process, such as peer review, editing, corrections, structural formatting, and other quality control mechanisms may not be reflected in this document. A definitive version was subsequently published in Science of Computer Programming, vol. 175, pp. 37-62, 2019. doi : 10.1016/j.scico.2019.02.002.en_ZA
dc.subjectBounded model checkingen_ZA
dc.subjectCause-guided abstraction refinementen_ZA
dc.subjectConcurrent software systemsen_ZA
dc.subjectFairnessen_ZA
dc.subjectThree-valued abstraction (3VA)en_ZA
dc.titleThree-valued bounded model checking with cause-guided abstraction refinementen_ZA
dc.typePreprint Articleen_ZA

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Timm_ThreeValued_2019.pdf
Size:
471.69 KB
Format:
Adobe Portable Document Format
Description:
Preprint Article

License bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
license.txt
Size:
1.75 KB
Format:
Item-specific license agreed upon to submission
Description: