A verified VCGen based on dynamic logic: An exercise in meta-verification with Why3
Main Author: | |
---|---|
Publication Date: | 2023 |
Other Authors: | |
Format: | Article |
Language: | eng |
Source: | Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
Download full: | https://hdl.handle.net/1822/85840 |
Summary: | The Why3 files containing the above modules are available from the repository https://github.com/jspdium/dlKeY, which also includes proof session folders and html proof summaries. |
id |
RCAP_8f3e79b417e941abe1904ab8c352b18f |
---|---|
oai_identifier_str |
oai:repositorium.sdum.uminho.pt:1822/85840 |
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 verified VCGen based on dynamic logic: An exercise in meta-verification with Why3Hoare logicVerification conditionsProgram verificationProgram annotationsWeakest preconditionsUpdatesEngenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e InformáticaScience & TechnologyThe Why3 files containing the above modules are available from the repository https://github.com/jspdium/dlKeY, which also includes proof session folders and html proof summaries.With the incresasing importance of program verification, an issue that has been receiving more attention is the certification of verification tools, addressing the vernacular question: "Who verifies the verifier?". In this paper we approach this meta-verification problem by focusing on a fundamental component of program verifiers: the "Verification Conditions Generator" (VCGen), responsible for producing a set of proof obligations from a program and a specification. The semantic foundations of VCGens lie in program logics, such as Hoare logic, Dynamic logic, or Separation logic, and related predicate transformers. Dynamic logic is the basis of the KeY system, one of the foremost deductive verifiers, whose logic makes use of the notion of update, which is quite intricate to formalize. In this paper we derive systematically, based on a KeY-style dynamic logic, a correct-by-construction VCGen for a toy programming language. Our workflow covers the entire process, from the logic to the VCGen. It is implemented in the Why3 tool, which is itself a program verifier. We prove the soundness and (an appropriate notion of) completeness of the logic, then define a VCGen for our language and establish its soundness. Dynamic logic is one of a variety of research topics that our dear friend and colleague Luis Soares Barbosa has, over the years, initiated and promoted at the University of Minho. It is a pleasure for us to dedicate this work to him on the occasion of his 60th birthday.Elsevier B.V.Universidade do MinhoFrade, M. J.Pinto, Jorge Sousa2023-04-032023-04-03T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/articleapplication/pdfhttps://hdl.handle.net/1822/85840engFrade, M. J., & Sousa Pinto, J. (2023, June). A verified VCGen based on dynamic logic: An exercise in meta-verification with Why3. Journal of Logical and Algebraic Methods in Programming. Elsevier BV. http://doi.org/10.1016/j.jlamp.2023.1008712352-220810.1016/j.jlamp.2023.100871https://www.sciencedirect.com/science/article/pii/S2352220823000251info: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:RCAAP2025-04-19T01:17:36Zoai:repositorium.sdum.uminho.pt:1822/85840Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireinfo@rcaap.ptopendoar:https://opendoar.ac.uk/repository/71602025-05-28T16:03:05.091232Repositó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 verified VCGen based on dynamic logic: An exercise in meta-verification with Why3 |
title |
A verified VCGen based on dynamic logic: An exercise in meta-verification with Why3 |
spellingShingle |
A verified VCGen based on dynamic logic: An exercise in meta-verification with Why3 Frade, M. J. Hoare logic Verification conditions Program verification Program annotations Weakest preconditions Updates Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática Science & Technology |
title_short |
A verified VCGen based on dynamic logic: An exercise in meta-verification with Why3 |
title_full |
A verified VCGen based on dynamic logic: An exercise in meta-verification with Why3 |
title_fullStr |
A verified VCGen based on dynamic logic: An exercise in meta-verification with Why3 |
title_full_unstemmed |
A verified VCGen based on dynamic logic: An exercise in meta-verification with Why3 |
title_sort |
A verified VCGen based on dynamic logic: An exercise in meta-verification with Why3 |
author |
Frade, M. J. |
author_facet |
Frade, M. J. Pinto, Jorge Sousa |
author_role |
author |
author2 |
Pinto, Jorge Sousa |
author2_role |
author |
dc.contributor.none.fl_str_mv |
Universidade do Minho |
dc.contributor.author.fl_str_mv |
Frade, M. J. Pinto, Jorge Sousa |
dc.subject.por.fl_str_mv |
Hoare logic Verification conditions Program verification Program annotations Weakest preconditions Updates Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática Science & Technology |
topic |
Hoare logic Verification conditions Program verification Program annotations Weakest preconditions Updates Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática Science & Technology |
description |
The Why3 files containing the above modules are available from the repository https://github.com/jspdium/dlKeY, which also includes proof session folders and html proof summaries. |
publishDate |
2023 |
dc.date.none.fl_str_mv |
2023-04-03 2023-04-03T00:00:00Z |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/article |
format |
article |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
https://hdl.handle.net/1822/85840 |
url |
https://hdl.handle.net/1822/85840 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.relation.none.fl_str_mv |
Frade, M. J., & Sousa Pinto, J. (2023, June). A verified VCGen based on dynamic logic: An exercise in meta-verification with Why3. Journal of Logical and Algebraic Methods in Programming. Elsevier BV. http://doi.org/10.1016/j.jlamp.2023.100871 2352-2208 10.1016/j.jlamp.2023.100871 https://www.sciencedirect.com/science/article/pii/S2352220823000251 |
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 |
Elsevier B.V. |
publisher.none.fl_str_mv |
Elsevier B.V. |
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_ |
1833595702220947456 |