A generalized program verification workflow based on loop elimination and SA form
Main Author: | |
---|---|
Publication Date: | 2019 |
Other Authors: | , |
Language: | eng |
Source: | Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
Download full: | http://hdl.handle.net/1822/66206 |
Summary: | This paper presents a minimal model of the functioning of program verification and property checking tools based on (i) the encoding of loops as non-iterating programs, either conservatively, making use of invariants and assume/assert commands, or in a bounded way; and (ii) the use of an intermediate single-assignment (SA) form. The model captures the basic workflow of tools like Boogie, Why3, or CBMC, building on a clear distinction between operational and axiomatic semantics. This allows us to consider separately the soundness of program annotation, loop encoding, translation into SA form, and VC generation, as well as appropriate notions of completeness for each of these processes. To the best of our knowledge, this is the first formalization of a bounded model checking of software technique, including soundness and completeness proofs using Hoare logic; we also give the first completeness proof of a deductive verification technique based on a conservative encoding of invariant-annotated loops with assume/assert in SA form, as well as the first soundness proof based on a program logic. |
id |
RCAP_47dbd2bb8e287c5f7f6a1888fc304e68 |
---|---|
oai_identifier_str |
oai:repositorium.sdum.uminho.pt:1822/66206 |
network_acronym_str |
RCAP |
network_name_str |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
repository_id_str |
https://opendoar.ac.uk/repository/7160 |
spelling |
A generalized program verification workflow based on loop elimination and SA formbounded verificationdeductive verificationhoare logicloop encodingsingle assignment programsScience & TechnologyThis paper presents a minimal model of the functioning of program verification and property checking tools based on (i) the encoding of loops as non-iterating programs, either conservatively, making use of invariants and assume/assert commands, or in a bounded way; and (ii) the use of an intermediate single-assignment (SA) form. The model captures the basic workflow of tools like Boogie, Why3, or CBMC, building on a clear distinction between operational and axiomatic semantics. This allows us to consider separately the soundness of program annotation, loop encoding, translation into SA form, and VC generation, as well as appropriate notions of completeness for each of these processes. To the best of our knowledge, this is the first formalization of a bounded model checking of software technique, including soundness and completeness proofs using Hoare logic; we also give the first completeness proof of a deductive verification technique based on a conservative encoding of invariant-annotated loops with assume/assert in SA form, as well as the first soundness proof based on a program logic.This work is partially financed by the ERDF – European RegionalDevelopment Fund through the Operational Programme for Com-petitiveness and Internationalisation - COMPETE 2020 Programmewithin project ‘POCI-01-0145-FEDER-006961’, and by NationalFunds through the Portuguese funding agency, FCT - Fundação para aCiência e a Tecnologia as part of project ‘UID/EEA/50014/2013’. The first author is also sponsored by FCT grant SFRH/BD/52236/2013.Institute of Electrical and Electronics Engineers Inc.Universidade do MinhoBelo Lourenco, ClaudioFrade, M. J.Pinto, Jorge Sousa20192019-01-01T00:00:00Zconference paperinfo:eu-repo/semantics/publishedVersionapplication/pdfhttp://hdl.handle.net/1822/66206eng97817281337372380-873X10.1109/FormaliSE.2019.00017https://ieeexplore.ieee.org/document/8807603info:eu-repo/semantics/openAccessreponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiainstacron:RCAAP2024-05-11T04:47:14Zoai:repositorium.sdum.uminho.pt:1822/66206Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireinfo@rcaap.ptopendoar:https://opendoar.ac.uk/repository/71602025-05-28T14:58:35.204335Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiafalse |
dc.title.none.fl_str_mv |
A generalized program verification workflow based on loop elimination and SA form |
title |
A generalized program verification workflow based on loop elimination and SA form |
spellingShingle |
A generalized program verification workflow based on loop elimination and SA form Belo Lourenco, Claudio bounded verification deductive verification hoare logic loop encoding single assignment programs Science & Technology |
title_short |
A generalized program verification workflow based on loop elimination and SA form |
title_full |
A generalized program verification workflow based on loop elimination and SA form |
title_fullStr |
A generalized program verification workflow based on loop elimination and SA form |
title_full_unstemmed |
A generalized program verification workflow based on loop elimination and SA form |
title_sort |
A generalized program verification workflow based on loop elimination and SA form |
author |
Belo Lourenco, Claudio |
author_facet |
Belo Lourenco, Claudio Frade, M. J. Pinto, Jorge Sousa |
author_role |
author |
author2 |
Frade, M. J. Pinto, Jorge Sousa |
author2_role |
author author |
dc.contributor.none.fl_str_mv |
Universidade do Minho |
dc.contributor.author.fl_str_mv |
Belo Lourenco, Claudio Frade, M. J. Pinto, Jorge Sousa |
dc.subject.por.fl_str_mv |
bounded verification deductive verification hoare logic loop encoding single assignment programs Science & Technology |
topic |
bounded verification deductive verification hoare logic loop encoding single assignment programs Science & Technology |
description |
This paper presents a minimal model of the functioning of program verification and property checking tools based on (i) the encoding of loops as non-iterating programs, either conservatively, making use of invariants and assume/assert commands, or in a bounded way; and (ii) the use of an intermediate single-assignment (SA) form. The model captures the basic workflow of tools like Boogie, Why3, or CBMC, building on a clear distinction between operational and axiomatic semantics. This allows us to consider separately the soundness of program annotation, loop encoding, translation into SA form, and VC generation, as well as appropriate notions of completeness for each of these processes. To the best of our knowledge, this is the first formalization of a bounded model checking of software technique, including soundness and completeness proofs using Hoare logic; we also give the first completeness proof of a deductive verification technique based on a conservative encoding of invariant-annotated loops with assume/assert in SA form, as well as the first soundness proof based on a program logic. |
publishDate |
2019 |
dc.date.none.fl_str_mv |
2019 2019-01-01T00:00:00Z |
dc.type.driver.fl_str_mv |
conference paper |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
http://hdl.handle.net/1822/66206 |
url |
http://hdl.handle.net/1822/66206 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.relation.none.fl_str_mv |
9781728133737 2380-873X 10.1109/FormaliSE.2019.00017 https://ieeexplore.ieee.org/document/8807603 |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf |
dc.publisher.none.fl_str_mv |
Institute of Electrical and Electronics Engineers Inc. |
publisher.none.fl_str_mv |
Institute of Electrical and Electronics Engineers Inc. |
dc.source.none.fl_str_mv |
reponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia instacron:RCAAP |
instname_str |
FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia |
instacron_str |
RCAAP |
institution |
RCAAP |
reponame_str |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
collection |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
repository.name.fl_str_mv |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia |
repository.mail.fl_str_mv |
info@rcaap.pt |
_version_ |
1833595014844776448 |