Towards Automatic Deductive Verification of C Programs with Sisal Loops Using the C-lightVer System

Gespeichert in:
Bibliographische Detailangaben
Titel: Towards Automatic Deductive Verification of C Programs with Sisal Loops Using the C-lightVer System
Autoren: D. A. Kondratyev
Quelle: Моделирование и анализ информационных систем, Vol 28, Iss 4, Pp 372-393 (2021)
Verlagsinformationen: P.G. Demidov Yaroslavl State University, 2021.
Publikationsjahr: 2021
Schlagwörter: symbolic method of verification of definite iterations, cloud parallel programming system, 0202 electrical engineering, electronic engineering, information engineering, loop invariant, c-lightver, Information technology, 0102 computer and information sciences, 02 engineering and technology, deductive verification, T58.5-58.64, 01 natural sciences, acl2
Beschreibung: The C-lightVer system is developed in IIS SB RAS for C-program deductive verification. C-kernel is an intermediate verification language in this system. Cloud parallel programming system (CPPS) is also developed in IIS SB RAS. Cloud Sisal is an input language of CPPS. The main feature of CPPS is implicit parallel execution based on automatic parallelization of Cloud Sisal loops. Cloud-Sisal-kernel is an intermediate verification language in the CPPS system. Our goal is automatic parallelization of such a superset of C that allows implementing automatic verification. Our solution is such a superset of C-kernel as C-Sisal-kernel. The first result presented in this paper is an extension of C-kernel by Cloud-Sisal-kernel loops. We have obtained the C-Sisal-kernel language. The second result is an extension of C-kernel axiomatic semantics by inference rule for Cloud-Sisal-kernel loops. The paper also presents our approach to the problem of deductive verification automation in the case of finite iterations over data structures. This kind of loops is referred to as definite iterations. Our solution is a composition of symbolic method of verification of definite iterations, verification condition metageneration and mixed axiomatic semantics method. Symbolic method of verification of definite iterations allows defining inference rules for these loops without invariants. Symbolic replacement of definite iterations by recursive functions is the base of this method. Obtained verification conditions with applications of recursive functions correspond to logical base of ACL2 prover. We use ACL2 system based on computable recursive functions. Verification condition metageneration allows simplifying implementation of new inference rules in a verification system. The use of mixed axiomatic semantics results to simpler verification conditions in some cases.
Publikationsart: Article
ISSN: 2313-5417
1818-1015
DOI: 10.18255/1818-1015-2021-4-372-393
DOI: 10.3103/s0146411622070070
Zugangs-URL: https://www.mais-journal.ru/jour/article/download/1566/1196
https://doaj.org/article/ff6a7cc2c6214b5c8b4e028660412423
Rights: CC BY
Springer Nature TDM
URL: https://www.mais-journal.ru/jour/about/editorialPolicies#openAccessPolicy
Dokumentencode: edsair.doi.dedup.....5a55edcf8da6ee6519b4b9af8a72bb5c
Datenbank: OpenAIRE
Beschreibung
Abstract:The C-lightVer system is developed in IIS SB RAS for C-program deductive verification. C-kernel is an intermediate verification language in this system. Cloud parallel programming system (CPPS) is also developed in IIS SB RAS. Cloud Sisal is an input language of CPPS. The main feature of CPPS is implicit parallel execution based on automatic parallelization of Cloud Sisal loops. Cloud-Sisal-kernel is an intermediate verification language in the CPPS system. Our goal is automatic parallelization of such a superset of C that allows implementing automatic verification. Our solution is such a superset of C-kernel as C-Sisal-kernel. The first result presented in this paper is an extension of C-kernel by Cloud-Sisal-kernel loops. We have obtained the C-Sisal-kernel language. The second result is an extension of C-kernel axiomatic semantics by inference rule for Cloud-Sisal-kernel loops. The paper also presents our approach to the problem of deductive verification automation in the case of finite iterations over data structures. This kind of loops is referred to as definite iterations. Our solution is a composition of symbolic method of verification of definite iterations, verification condition metageneration and mixed axiomatic semantics method. Symbolic method of verification of definite iterations allows defining inference rules for these loops without invariants. Symbolic replacement of definite iterations by recursive functions is the base of this method. Obtained verification conditions with applications of recursive functions correspond to logical base of ACL2 prover. We use ACL2 system based on computable recursive functions. Verification condition metageneration allows simplifying implementation of new inference rules in a verification system. The use of mixed axiomatic semantics results to simpler verification conditions in some cases.
ISSN:23135417
18181015
DOI:10.18255/1818-1015-2021-4-372-393