【技术实现步骤摘要】
本申请涉及软件工程,具体涉及一种基于程序静态分析的契约合成方法、装置、设备及介质。
技术介绍
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所述的基于程序静态分...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。