A generalized program verification workflow based on loop elimination and SA form

Bibliographic Details
Main Author: Belo Lourenco, Claudio
Publication Date: 2019
Other Authors: Frade, M. J., Pinto, Jorge Sousa
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