最近seL4的出现再次引起大家对形式化方法的兴趣 ,一个形式化验证过的OS微内核。它网站自己介绍“seL4 is a high-assurance, high-performance operating system microkernel. It is unique because of its comprehensive formal verification, without compromising  performance. ”
对specification和代码做了一致性验证;对代码和二进制做了一致性验证,可以算走了完整的链条了。主要采用定理证明器isabelle。非常扎实的工作!也因为这么扎实,节奏肯定快不了,另外也需要有产业使用。似乎现状不是太容易,希望能坚持下去啊~

-----some background-----
形式化方法使用严格的数学语言对计算机系统(硬件或软件)建模,并在计算机的辅助下验证系统的正确性。与测试不同,形式化方法可以完全排除某些类型的错误。
形式化方法的两大关键技术是约束求解和定理证明。著名的定理证明器isabelle大概30几万行代码(后端30万行ML语言(函数式编程语言),前端Scala语言),著名的约束求解器Z3大概60万行代码(不包括那些生成的,主要是C++,少量python及其他)。要论代码量,当然也大,但令人望而却步的是,要看懂这些代码,需要学习的知识,以及很长的学习周期,以及坐住冷板凳的耐心。

从seL4谈形式化验证相关推荐

  1. 随想录(形式化验证小结)

    [ 声明:版权所有,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 形式化验证,英文是formal verification,是验证软硬件逻辑很重要的一种方法.特 ...

  2. 操作系统形式化验证实践教程(7) - C代码的自动验证

    操作系统形式化验证实践教程(7) - C代码的自动验证 上一节教程不知道大家看晕了没有,其实虽然细节很多还没有讲清楚,但是从结构上大家可以看到,其实是很模式化的工作. 那么能不能让这个模式化的工作自动 ...

  3. 操作系统形式化验证实践教程(7) - C代码的自动验证(转载)

    操作系统形式化验证实践教程(7) - C代码的自动验证 上一节教程不知道大家看晕了没有,其实虽然细节很多还没有讲清楚,但是从结构上大家可以看到,其实是很模式化的工作. 那么能不能让这个模式化的工作自动 ...

  4. 操作系统形式化验证实践教程(10) - 一阶直觉逻辑

    操作系统形式化验证实践教程(10) - 一阶直觉逻辑 前面我们用了九讲的篇幅把seL4验证操作系统的地图给大家迅速过了一遍,基础好的同学已经可以基于前面的知识开始自己的工作了. 对于只学过离散数学,而 ...

  5. 鉴源论坛 · 观模丨µC/OS内核的形式化验证技术

    作者 | 郭建 上海控安可信软件创新研究院特聘专家          丁继政 上海控安研发中心研究员 版块 | 鉴源论坛 · 观模 操作系统作为软件系统的核心,其安全性与可靠性是构造高可信软件最为关键 ...

  6. 形式化验证的原理和过程

    形式化验证包含两种方式:定理证明(数学定理的方式,所以对任意状态数的系统都适用,缺点是不能很好的给出反例),模型检测(主要是进行所有的状态检测,并能给出反例,缺点是存在复杂系统的状态爆炸问题).模型检 ...

  7. 形式化验证工具TLA+:程序员视角的入门之道

    简介: 女娲是飞天分布式系统中提供分布式协同的基础服务,支撑着阿里云的计算.网络.存储等几乎所有云产品.在女娲分布式协同服务中,一致性引擎是核心基础模块,支持了Paxos,Raft,EPaxos等多种 ...

  8. 国产自主可控的形式化验证代码自动生成工具ModelCoder可替代Matlab/Sumlink

    在安全关键领域,基于模型的软件工程或者软件开发已逐渐进入了我国的装备研制过程中.使用SimuLink或者SCADE等嵌入式软件建模工具对算法或者控制逻辑进行可视化建模,然后生成高可靠的二进制代码逐渐成 ...

  9. linux内核形式化验证,说说形式化验证(Formal Verification)吧

    原标题:说说形式化验证(Formal Verification)吧 前言:被@暴走恭亲王点名,不得不写这个小文,笔者学识浅薄,而形式化验证这个题目不但大,而且深,笔者掌握的数学知识在专业人士里也就是幼 ...

最新文章

  1. linux 常用命令:
  2. Document,Node,Element,HTMLDocument ,HTMLCollection,HTMLElement,NodeList
  3. 程序出错后,程序员给测试人员的20条高频回复
  4. Elasticsearch 动态添加mapping
  5. OGRE分析之设计模式
  6. Eclipse快捷键 10个最有用的快捷键---摘录
  7. Linux(Ubuntu14.04)下Google Chrome / Chromium标题栏乱码问题
  8. GJB 软件定型测评大纲(模板)
  9. 家庭电信网弄外网唤醒并远程内网电脑
  10. Pytorch安装找不到指定的模块\torch\lib\asmjit.dll
  11. 利用百度AI开放平台 实现 图片中的文字识别
  12. 爬取豆瓣音乐Top250详细教程
  13. java 营业执照图片内容识别
  14. 微信公众号主体已注销 如何办理账号迁移和公证书?
  15. js如何获取当天开始时间和结束时时间并传递(时间戳)给后端
  16. 陈天奇:机器学习科研的十年
  17. 理解块存储、文件存储和对象存储的应用场景和选择
  18. 基于Dubbox的微服实战学习3——使用Dubbox+SpringBoot实现微服架构
  19. TeX中的引号我麻了
  20. 【格林深瞳22校招开发岗】笔试

热门文章

  1. 微信android最新版本,微信安卓新版7.0-微信新版本预约7.0.13 安卓正式版-西西软件园...
  2. 【数字图像处理】第8章 二值图像分析
  3. linux tty连wifi,打通linux的tty驱动的数据链路
  4. office 2003 正版验证序列号
  5. 【算法导论】地图染色算法
  6. 历史大讲堂:冷到没朋友的冷知识 Windows命令提示符为什么跟DOS那么像?
  7. 有点凉凉,乌镇饭局上大佬的强颜欢笑!
  8. loopback地址用途
  9. PEG功能化涂层修饰载玻片(生物芯片)
  10. Matplotlib数据可视化方法总结