2025-01-06 Latest Version of Boogie Verifier
执行路径
BoogieDriver导入参数,ExecutionEngine执行验证任务
ProcessProgramFiles 为单个文件的验证入口
InferAndVerify为不变式生成+验证算法入口
VerifyImplementationWithLargeThread处开始调用VCGenerator接口
在不考虑Split的情况下,SplitAndVerifyWorker的DoWork函数开始进行验证
数据结构
Procedure和Implementation分开,规约在Procedure里
Implementation中的语句在语法解析时就被转换成基本块Block,每个Block有若干语句,以及TransferCmd(可能是另一个Block,或者Return)
ConditionGeneration是VC生成算法的抽象类 ⇒ VerificationConditionGenerator。剪除回边和passify都是在prepareImplementation中完成