120 likes | 303 Views
迎新报告. 报告人: 陈然. 自我介绍. 研究方向:程序验证 导师:张文辉 年级: 12 级硕士、 14 级博士. 最近一年的主要工作. 自 13 年 10 月起,我在法国教授 Jean-Jacques Levy 的指导下,做基于 Why3 平台的形式化验证。我们完成了 Sedgewick 书中一些基本算法的正确性验证,包括几种排序算法、树算法、以及基于深度优先搜索的各种图算法。 我们希望能简洁而逻辑清晰的验证图算法,并总结出一个可用的形式化验证库。. 基于why3平台的形式化验证. DFS 算法性质的证明
E N D
迎新报告 报告人:陈然
自我介绍 • 研究方向:程序验证 • 导师:张文辉 • 年级:12级硕士、14级博士
最近一年的主要工作 • 自13年10月起,我在法国教授Jean-JacquesLevy的指导下,做基于Why3平台的形式化验证。我们完成了Sedgewick书中一些基本算法的正确性验证,包括几种排序算法、树算法、以及基于深度优先搜索的各种图算法。 • 我们希望能简洁而逻辑清晰的验证图算法,并总结出一个可用的形式化验证库。
基于why3平台的形式化验证 • DFS算法性质的证明 • DFS算法可以获得有关图结构的有价值的信息。对DFS作一些变化记录一些额外信息,可以用于检测图的无环性、搜索图的强连通分支、计算图的割点进而得到图的重连通分量。 • DFS算法的性质: • 从初始点开始搜索,所有初始点开始的白色路径可达的点都会被扫描到 • 所有被扫描到的点都可由初始点产生一条白色路径而达到
基于why3平台的形式化验证 • 使用的工具与所学的技术 • why3 http://why3.lri.fr/ • 自动化外部证明工具 (霍尔逻辑公式的写法影响证明工具的效果) • Alt-Ergo (效果最好) • CVC3 (对于递归数据类型非常有效) • CVC4 • E-prover • Z3 • 交互式证明系统 • Coq • MLW语言 • 小型的类Pascal语言 • 基于霍尔逻辑的不变量和断言
基于why3平台的形式化验证 • 参考文献 • Introduction to Algorithms, second edition. Tomas H. Cormen. • Depth-First Search and Linear Graph Algorithms. Robert Tarjan. • Algorithms in C, Parts 5, Graph Algorithms. Robert Sedgewick. • The Why3 platform, Version 0.81, March 2013. François Bobot. • Binary Heaps Formally Verified in Why3. Asma Tafat — Claude Marché. • Verifying Two Lines of C with Why3 : an Exercise in Program Verification? Jean-Christophe Filliatre. • Why3 — Where Programs Meet Provers. Jean-Christophe Filliâtre and Andrei Paskevich. • Prototyping Static Analysis Certification using Why3. Pierre-Emmanuel Cornilleau. • Certified Programming with Dependent Types. Adam Chlipala. • The Coq Proof Assistant Reference Manual. Version 8.4pl2. • From Type Theory to Programming Languages. J.-F. Monin. • Coq in a Hurry. Yves Bertot. • A Small Scale Reflection Extension for the Coq system. Georges Gonthier —Assia Mahboubi.
未来研究工作展望 • 循环不变量自动生成算法的研究 • 用模型检测的方法检测Sedgewick书中所有算法的正确性
感想 • 研一学好基础课程 • 研二进入实验室后尽快找好自己的研究方向