100 likes | 373 Views
基于公式 学习的 循环不变式的推导. 学生:哈晓琳 导师:李勇坚. 主要内容:. 背景 公式学习算法( CDNF ) 公式 学习寻找不变式的方法 公式学习 算法目前的应用. 背景. 正确性是程序的最重要的属性之一 软件测试能发现错误,但不能确保无误 程序验证可以证明程序的逻辑正确性 霍尔逻辑 将程序验证转换为 逻辑推理 验证循环程序的正确性最具挑战 自动寻找循环不变式是最大困难. 公式学习算法( CDNF ). 机器学习寻找不变量的方法. 2010 年由 Kong,S . 和 Wang,B.Y . 等 人 首次提出.
E N D
基于公式学习的循环不变式的推导 学生:哈晓琳 导师:李勇坚
主要内容: • 背景 • 公式学习算法(CDNF) • 公式学习寻找不变式的方法 • 公式学习算法目前的应用
背景 • 正确性是程序的最重要的属性之一 • 软件测试能发现错误,但不能确保无误 • 程序验证可以证明程序的逻辑正确性 • 霍尔逻辑将程序验证转换为逻辑推理 • 验证循环程序的正确性最具挑战 • 自动寻找循环不变式是最大困难
机器学习寻找不变量的方法 • 2010年由Kong,S.和Wang,B.Y.等人首次提出
公式学习寻找不变量的方法(续1) • 主要理论依据: • 其中,(c)等价于 • (a)(c)在学习过程中提供学习依据 • (a)(b)(c)的结合判断学习到的当前公式是否是循环不变式,如果不是,则提供学习依据
公式学习寻找不变量的方法(续2) 一系列原子公式 谓词抽象 CDNF 结果 前后断言及循环判断条件 MEM EQ 带前后断言 的循环程序 谓词抽象 SMT 静态分析
公式学习算法CDNF目前应用 • 2010年由Kong,S.和Wang,B.Y.等人首次将其应用到不变式推导中 • 形式验证中的新热点,目前的应用和改进有: • Wang,B.Y.等将其改进到适应无限变量的情况 • 程序终止性证明 • 自动化组合验证(compositional verification) • 规范合成(specification synthesis) • 工具实现
总结 • 1.尽快明确目标方向 • 科研上的目标 • 未来的目标 • 2.找寻实现目标的方法 • 3.付出努力,收获成果