Cargando…
CoVEGI: Cooperative Verification via Externally Generated Invariants
Software verification has recently made enormous progress due to the development of novel verification methods and the speed-up of supporting technologies like SMT solving. To keep software verification tools up to date with these advances, tool developers keep on integrating newly designed methods...
Autores principales: | , |
---|---|
Formato: | Online Artículo Texto |
Lenguaje: | English |
Publicado: |
2021
|
Materias: | |
Acceso en línea: | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7978801/ http://dx.doi.org/10.1007/978-3-030-71500-7_6 |
_version_ | 1783667226897809408 |
---|---|
author | Haltermann, Jan Wehrheim, Heike |
author_facet | Haltermann, Jan Wehrheim, Heike |
author_sort | Haltermann, Jan |
collection | PubMed |
description | Software verification has recently made enormous progress due to the development of novel verification methods and the speed-up of supporting technologies like SMT solving. To keep software verification tools up to date with these advances, tool developers keep on integrating newly designed methods into their tools, almost exclusively by re-implementing the method within their own framework. While this allows for a conceptual re-use of methods, it nevertheless requires novel implementations for every new technique. In this paper, we employ cooperative verification in order to avoid re-implementation and enable usage of novel tools as black-box components in verification. Specifically, cooperation is employed for the core ingredient of software verification which is invariant generation. Finding an adequate loop invariant is key to the success of a verification run. Our framework named CoVEGI allows a master verification tool to delegate the task of invariant generation to one or several specialized helper invariant generators. Their results are then utilized within the verification run of the master verifier, allowing in particular for crosschecking the validity of the invariant. We experimentally evaluate our framework on an instance with two masters and three different invariant generators using a number of benchmarks from SV-COMP 2020. The experiments show that the use of CoVEGI can increase the number of correctly verified tasks without increasing the used resources. |
format | Online Article Text |
id | pubmed-7978801 |
institution | National Center for Biotechnology Information |
language | English |
publishDate | 2021 |
record_format | MEDLINE/PubMed |
spelling | pubmed-79788012021-03-23 CoVEGI: Cooperative Verification via Externally Generated Invariants Haltermann, Jan Wehrheim, Heike Fundamental Approaches to Software Engineering Article Software verification has recently made enormous progress due to the development of novel verification methods and the speed-up of supporting technologies like SMT solving. To keep software verification tools up to date with these advances, tool developers keep on integrating newly designed methods into their tools, almost exclusively by re-implementing the method within their own framework. While this allows for a conceptual re-use of methods, it nevertheless requires novel implementations for every new technique. In this paper, we employ cooperative verification in order to avoid re-implementation and enable usage of novel tools as black-box components in verification. Specifically, cooperation is employed for the core ingredient of software verification which is invariant generation. Finding an adequate loop invariant is key to the success of a verification run. Our framework named CoVEGI allows a master verification tool to delegate the task of invariant generation to one or several specialized helper invariant generators. Their results are then utilized within the verification run of the master verifier, allowing in particular for crosschecking the validity of the invariant. We experimentally evaluate our framework on an instance with two masters and three different invariant generators using a number of benchmarks from SV-COMP 2020. The experiments show that the use of CoVEGI can increase the number of correctly verified tasks without increasing the used resources. 2021-02-24 /pmc/articles/PMC7978801/ http://dx.doi.org/10.1007/978-3-030-71500-7_6 Text en © The Author(s) 2021 Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license and indicate if changes were made. The images or other third party material in this chapter are included in the chapter's Creative Commons license, unless indicated otherwise in a credit line to the material. If material is not included in the chapter's Creative Commons license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. |
spellingShingle | Article Haltermann, Jan Wehrheim, Heike CoVEGI: Cooperative Verification via Externally Generated Invariants |
title | CoVEGI: Cooperative Verification via Externally Generated Invariants |
title_full | CoVEGI: Cooperative Verification via Externally Generated Invariants |
title_fullStr | CoVEGI: Cooperative Verification via Externally Generated Invariants |
title_full_unstemmed | CoVEGI: Cooperative Verification via Externally Generated Invariants |
title_short | CoVEGI: Cooperative Verification via Externally Generated Invariants |
title_sort | covegi: cooperative verification via externally generated invariants |
topic | Article |
url | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7978801/ http://dx.doi.org/10.1007/978-3-030-71500-7_6 |
work_keys_str_mv | AT haltermannjan covegicooperativeverificationviaexternallygeneratedinvariants AT wehrheimheike covegicooperativeverificationviaexternallygeneratedinvariants |