Towards Automatic Deductive Verification of C Programs with Sisal Loops Using the C-lightVer System
Saved in:
| Title: | Towards Automatic Deductive Verification of C Programs with Sisal Loops Using the C-lightVer System |
|---|---|
| Authors: | D. A. Kondratyev |
| Source: | Моделирование и анализ информационных систем, Vol 28, Iss 4, Pp 372-393 (2021) |
| Publisher Information: | P.G. Demidov Yaroslavl State University, 2021. |
| Publication Year: | 2021 |
| Subject Terms: | 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 |
| Description: | 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. |
| Document Type: | Article |
| ISSN: | 2313-5417 1818-1015 |
| DOI: | 10.18255/1818-1015-2021-4-372-393 |
| DOI: | 10.3103/s0146411622070070 |
| Access 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 |
| Accession Number: | edsair.doi.dedup.....5a55edcf8da6ee6519b4b9af8a72bb5c |
| Database: | OpenAIRE |
| 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 |
Full Text Finder
Nájsť tento článok vo Web of Science