A verified VCGen based on dynamic logic: An exercise in meta-verification with Why3

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