前瞻科技 ›› 2023, Vol. 2 ›› Issue (1): 33-45.DOI: 10.3981/j.issn.2097-0781.2023.01.003

• 综述与述评 • 上一篇    下一篇

形式化方法与系统软件:实践与发展建议

丁浩然1(), 王肇国1, 付明2, 陈海波1,()   

  1. 1.上海交通大学软件学院,上海 200240
    2.华为德累斯顿研究所,德国德累斯顿 01069
  • 收稿日期:2023-01-06 修回日期:2023-02-09 出版日期:2023-03-20 发布日期:2023-03-24
  • 通讯作者:
  • 作者简介:丁浩然,博士研究生。研究方向为基于形式化方法的系统软件验证与优化。参与设计和实现了世界上第1个形式化验证过的细粒度并发内存文件系统AtomFS、自动生成并验证SQL优化规则的工具WeTune等,相关成果发表在中国计算机学会推荐的系统和数据库领域A类国际顶级会议SOSP和SIGMOD。电子信箱:nhaorand@sjtu.edu.cn
    陈海波,上海交通大学特聘教授,博士研究生导师。上海交通大学并行与分布式系统研究所所长,领域操作系统教育部工程研究中心主任。中国计算机学会系统软件专业委员会副主任,OpenHarmony技术指导委员会创始主席,国际计算机学会(ACM)旗舰杂志Communications of the ACM首位中国学者编委与领域共同主席。国家杰出青年科学基金获得者,国际电气与电子工程师协会(IEEE)会士,ACM杰出科学家。主要研究领域为操作系统、分布式系统与形式化方法。研究成果通过产学研深度结合被应用到数十亿设备,产生了广泛的学术与产业影响。获陈嘉庚青年科学奖、教育部技术发明奖一等奖、中国青年科技奖、全国优秀博士学位论文奖及华为卓越贡献个人奖,ASPLOS、EuroSys、VEE等最佳论文奖,DSN时间检验奖,SIGMOD研究亮点奖等。主持撰写的《现代操作系统:原理与实现》获得2020年度“最受读者喜爱的IT图书奖”。电子信箱:haibochen@sjtu.edu.cn

Formal Methods and System Software: Practice and Suggestions

DING Haoran1(), WANG Zhaoguo1, FU Ming2, CHEN Haibo1,()   

  1. 1. School of Software, Shanghai Jiao Tong University, Shanghai 200240, China
    2. Huawei Dresden Research Center, Dresden 01069, Germany
  • Received:2023-01-06 Revised:2023-02-09 Online:2023-03-20 Published:2023-03-24
  • Contact:

摘要:

对高可靠系统软件需求的不断增加使得形式化方法在工业界引起了广泛的兴趣。文章概述了当前主流形式化方法,分析了国内外研究态势,并介绍了形式化方法在设计和实现操作系统、编译器、同步原语、文件系统、数据库系统和分布式共识协议等方面的实践。基于这些实践,进一步总结了形式化方法在系统软件中应用的经验,并从理论和工程两方面讨论其可能面临的挑战,最后针对这些挑战提出发展建议。

关键词: 形式化方法, 操作系统, 数据库, 文件系统, 分布式共识协议

Abstract:

The growing need for highly reliable system software has drawn widespread interest in formal methods in the industry. This paper presents an overview of the mainstream formal methods and analyzes the current research status in this regard. Then, it describes the application of formal methods in the design and implementation of operating systems, compilers, synchronization primitives, file systems, database systems, and distributed consensus protocols. On this basis, it summarizes the experience learned in applying formal methods to system software and discusses potential challenges from the theoretical and engineering aspects. Finally, it gives some suggestions on how to address these challenges.

Key words: formal methods, operating systems, database, file systems, distributed consensus protocols