当前位置: 首页 > 专利查询>武汉大学专利>正文

基于程序静态分析的契约合成方法、装置、设备及介质制造方法及图纸

技术编号:42247935 阅读:25 留言:0更新日期:2024-08-02 13:57
一种基于程序静态分析的契约合成方法、装置、设备及介质,涉及软件工程领域,包括为存在多个静态信息类别的每种编程语言构建契约合成模板集合且其包括与各静态信息类别对应的契约合成模板;基于静态分析方法对目标源文件工程进行语义分析得到静态语义信息;按照与目标源文件工程的目标编程语言对应的静态信息类别对静态语义信息进行分类得到多类目标静态语义信息;针对每类目标静态语义信息,当目标编程语言对应的契约合成模板集合中存在与目标静态语义信息对应的目标契约合成模版,基于目标静态语义信息对目标契约合成模板进行实例化生成子契约;根据所有子契约生成目标契约,以降低契约合成的开销,消除契约假阳性并提高契约表达的准确性。

【技术实现步骤摘要】

本申请涉及软件工程,具体涉及一种基于程序静态分析的契约合成方法、装置、设备及介质


技术介绍

1、契约概念来自契约式设计(design by contract),其规定软件设计者应该为软件组件定义形式化的、精确的与可验证的接口规范,且这些规范扩展了抽象数据类型定义(比如前置条件(precondition)、后置条件(postcondition)和不变量(invariant)等),其被统一称为“契约”。良好的契约式设计可以清晰准确地指导软件设计过程、指明程序的继承关系、确定程序的异常处理流程以及自动关联软件文档。其中,编写契约往往需要程序员深刻理解软件设计并精通相应的契约语言,而学习不同的契约语言会增加程序员的学习成本,且编写高质量契约也存在相当大的难度;同时,编写契约还会增加程序员编码之外的工作量,所以仅从时间成本上看,人工编写契约也很难快速完成。因此,针对人工编写高质量契约的困难,契约合成的相关研究希望通过自动化的方法生成契约,以降低描述软件规范的成本,辅助程序员理解程序。

2、相关技术中,以动态分析方法为代表来自动生成契约,这类自动化方法一本文档来自技高网...

【技术保护点】

1.一种基于程序静态分析的契约合成方法,其特征在于,包括以下步骤:

2.如权利要求1所述的基于程序静态分析的契约合成方法,其特征在于,所述根据所有子契约生成与所述目标源文件工程对应的目标契约,包括:

3.如权利要求1所述的基于程序静态分析的契约合成方法,其特征在于,在所述根据所有子契约生成与所述目标源文件工程对应的目标契约的步骤之后,还包括:

4.如权利要求1所述的基于程序静态分析的契约合成方法,其特征在于,所述方法还包括:

5.如权利要求1所述的基于程序静态分析的契约合成方法,其特征在于,所述基于静态分析方法对目标源文件工程进行语义分析,...

【技术特征摘要】

1.一种基于程序静态分析的契约合成方法,其特征在于,包括以下步骤:

2.如权利要求1所述的基于程序静态分析的契约合成方法,其特征在于,所述根据所有子契约生成与所述目标源文件工程对应的目标契约,包括:

3.如权利要求1所述的基于程序静态分析的契约合成方法,其特征在于,在所述根据所有子契约生成与所述目标源文件工程对应的目标契约的步骤之后,还包括:

4.如权利要求1所述的基于程序静态分析的契约合成方法,其特征在于,所述方法还包括:

5.如权利要求1所述的基于程序静态分析的契约合成方法,其特征在于,所述基于静态分析方法对目标源文件工程进行语义分析,得到静态语义信息,包括:

6.一种基于程序静态分析的契约合成装置,其特征在于,包括:

7.如权利要求6所述的基于程序静态分...

【专利技术属性】
技术研发人员:玄跻峰王启凡刘孝凡
申请(专利权)人:武汉大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1