@article {Frade:2011:VCS:2296009.2296077, title = {Verification conditions for source-level imperative programs}, journal = {Computer Science Review}, volume = {5}, number = {3}, year = {2011}, pages = {252{\textendash}277}, publisher = {Elsevier Science Publishers B. V.}, address = {Amsterdam, The Netherlands, The Netherlands}, abstract = {

This paper is a systematic study of verification conditions and their use in the context of program verification. We take Hoare logic as a starting point and study in detail how a verification conditions generator can be obtained from it. The notion of program annotation is essential in this process. Weakest preconditions and the use of updates are also studied as alternative approaches to verification conditions. Our study is carried on in the context of a While language. Important extensions to this language are considered toward the end of the paper. We also briefly survey modern program verification tools and their approaches to the generation of verification conditions.

}, keywords = {Hoare logic, Program annotations, Program verification, Updates, Verification conditions, Weakest preconditions}, issn = {1574-0137}, doi = {10.1016/j.cosrev.2011.02.002}, attachments = {https://haslab.uminho.pt/sites/default/files/jsp/files/verification-conditions-revised_2.pdf}, author = {Maria Jo{\~a}o Frade and Jorge Sousa Pinto} }