大规模软件验证若干关键技术研究及支持工具

基本信息
批准号:61672525
项目类别:面上项目
资助金额:62.00
负责人:李梦君
学科分类:
依托单位:中国人民解放军国防科技大学
批准年份:2016
结题年份:2020
起止时间:2017-01-01 - 2020-12-31
项目状态: 已结题
项目参与者:杨沙洲,邢建英,于恒彪,孟宪凯,尹帮虎,张南
关键词:
大规模软件验证EventB方法计算机代数系统Mathematica
结项摘要

Designing the reusable verification infrastructure and enhancing the automatic level of verification are the main ways for verifying scalable software. For software verification, the semantic gap between the specification and the codes is the hard problem, constructing multiple-layer refinement models is an effective way to tackle the semantic gap, the multiple-layer refinement models described based on the first-order logic and set theory will be the reusable verification infrastructure. The computer algebra system Mathematica supports the first-order logic and set theory, integrates plenty of mathematic algorithms, reusing these algorithms will enhance the automatic level of software verification. The main contents of this research are focused on the modeling of the software modular specification and the automatic or semi-automatic refinement verification between refinement model and the modular code. Based on the Event-B method and Mathematica, the key problems to be solved in this research consist of: how to enrich the modeling language and improve the proof abilities of proof obligations for Event-B’s modeling tool? Based on the multiple-layer refinement models, how to construct the refinement invariants? And how to design and develop a support tool? In this research, the Event-B modeling method and the Mathematica language will be combined to construct the multiple-layer refinement models, the refinement invariants will be discovered from the multiple-layer refinement models with refinement tactics and random testing, also from codes by constructing equality loop invariants. The support tool will be designed and developed based on Mathematica. Based on the above researches, the support tool will be utilized further to verify the modular codes of the operational system and the TLS security protocol.

针对软件验证大规模化问题,设计可复用验证基础设施、提高验证自动化水平是解决途径。构造规范多层次精化模型可以消除语义断层,以一阶逻辑和集合论描述的多层次精化模型将作为可复用验证基础设施。计算机代数系统Mathematica支持一阶逻辑和集合论,集成了大量数学算法,复用它们可以提高验证自动化水平。本项目研究模块规范建模以及精化模型与模块代码之间精化验证方法。基于Event-B方法和Mathematica语言,拟解决关键问题包括:如何丰富Event-B方法建模工具的建模语言并提升证明义务验证能力?如何构造精化不变式?如何实现验证工具?本项目将基于Mathematica语言和Event-B建模方法构造模块规范多层次精化模型,基于精化策略和随机测试等方法发现精化不变式,基于Mathematica语言实现验证工具。在上述研究基础上,将验证工具应用于操作系统模块和TLS协议程序模块验证。

项目摘要

针对软件验证大规模化问题,设计可复用验证基础设施、提高验证自动化水平是解决途径。构造规范多层次精化模型可以消除语义断层,以一阶逻辑和集合论描述的多层次精化模型将作为可复用验证基础设施。计算机代数系统Mathematica支持一阶逻辑和集合论,集成了大量数学算法,复用它们可以提高验证自动化水平。本项目研究模块规范建模以及精化模型与模块代码之间精化验证方法。本项目的主要研究内容: (1)基于精化策略和随机测试提出了函数等式循环不变式的构造和验证方法,可以构造并验证最大公因数的算法程序、计算幂函数算法程序以及计算阶乘的算法程序等算法程序的函数等式循环不变式。 (2)基于Mathematica软件和抽象解释理论提出了约束优化问题的求解方法,能够计算出一些Mathematica软件无法求解的约束优化问题的最优解。 (3)基于Mathematica语言和Event-B方法设计并实现了建模与验证工具mathRodin,能够建模并验证飞机避让系统等出现实数类型和实函数的复杂系统。(4)调研了基于Event-B方法的安全协议建模与验证方法,基于Event-B方法为简化的Needham-Schroeder协议和改进的Needham-Schroeder协议建立了形式化模型。(5)基于Event-B方法和Event-B方法支持工具Rodin为MSI协议、MESI协议以及MOSEI协议等cache一致性协议建立了形式化模型,严格证明了这些cache一致性协议的正确性。(6)提出了大规模事务型verilog程序的抽象精化迭代验证方法,避免了模型检验大规模事务型verilog程序时的状态空间爆炸问题,并在工程实践中基于模型检验工具Jaspergold发现了私有化l2cache设计中的十几处设计bug。上述研究为基于Mathematica语言和Event-B方法建模并验证大规模软/硬件系统探索了可行途径。

项目成果
{{index+1}}

{{i.achievement_title}}

{{i.achievement_title}}

DOI:{{i.doi}}
发表时间:{{i.publish_year}}

暂无此项成果

数据更新时间:2023-05-31

其他相关文献

1

基于分形L系统的水稻根系建模方法研究

基于分形L系统的水稻根系建模方法研究

DOI:10.13836/j.jjau.2020047
发表时间:2020
2

拥堵路网交通流均衡分配模型

拥堵路网交通流均衡分配模型

DOI:10.11918/j.issn.0367-6234.201804030
发表时间:2019
3

自然灾难地居民风险知觉与旅游支持度的关系研究——以汶川大地震重灾区北川和都江堰为例

自然灾难地居民风险知觉与旅游支持度的关系研究——以汶川大地震重灾区北川和都江堰为例

DOI:10.12054/lydk.bisu.148
发表时间:2020
4

The Role of Osteokines in Sarcopenia: Therapeutic Directions and Application Prospects

The Role of Osteokines in Sarcopenia: Therapeutic Directions and Application Prospects

DOI:10.3389/fcell.2021.735374
发表时间:2021
5

卫生系统韧性研究概况及其展望

卫生系统韧性研究概况及其展望

DOI:10.16506/j.1009-6639.2018.11.016
发表时间:2018

李梦君的其他基金

批准号:90604007
批准年份:2006
资助金额:28.00
项目类别:重大研究计划
批准号:60703075
批准年份:2007
资助金额:18.00
项目类别:青年科学基金项目

相似国自然基金

1

大规模软件基于抽象解释理论的时序性质验证及支持工具

批准号:60703075
批准年份:2007
负责人:李梦君
学科分类:F0202
资助金额:18.00
项目类别:青年科学基金项目
2

面向性质的可信软件建模与时序性质验证及支持工具

批准号:90718017
批准年份:2007
负责人:李舟军
学科分类:F0203
资助金额:50.00
项目类别:重大研究计划
3

基于PETRI网并发软件开发方法及支持工具的研究

批准号:69073336
批准年份:1990
负责人:杨文龙
学科分类:F0203
资助金额:3.50
项目类别:面上项目
4

基于计算机代数的嵌入式软件分析与验证方法及工具

批准号:90718041
批准年份:2007
负责人:杨路
学科分类:F0214
资助金额:250.00
项目类别:重大研究计划