[发明专利]编程代码的先决条件的自动化产生在审

专利信息
申请号: 202210857485.0 申请日: 2022-07-21
公开(公告)号: CN115687072A 公开(公告)日: 2023-02-03
发明(设计)人: A·弗莱克赛德尔;B·施密特;J·邝特;M·施伦德 申请(专利权)人: 罗伯特·博世有限公司
主分类号: G06F11/36 分类号: G06F11/36
代理公司: 中国专利代理(香港)有限公司 72001 代理人: 张涛;刘春元
地址: 德国斯*** 国省代码: 暂无信息
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 编程 代码 先决条件 自动化 产生
【说明书】:

本公开的一个方面涉及一种用于自动化地产生编程代码的先决条件的计算机实现的方法,包括接收编程代码中的起点,其中所述编程代码具有一个或多个输入变量;接收所述起点的标准;检查所述标准是否可以通过所述编程代码从所述起点反向传播到所述一个或多个输入变量中的至少一个输入变量;如果所述检查是肯定的,则为所述一个或多个输入变量中的至少一个输入变量产生至少一个先决条件,其中所述反向传播被设计为,使得符合为一个或多个输入变量产生的先决条件保证了符合所述起点的标准。本公开的第二方面涉及一种电子编程环境,其被设计为执行用于自动化地产生编程代码的先决条件的计算机实现的方法。

背景技术

软件可能包含错误,特别是从具有一定的复杂性开始。一类错误例如由软件运行时期间出现的运行时错误形成。运行时错误可能导致软件崩溃或导致软件行为不正确。软件的不正确行为有时在开发和/或测试期间无法被发现,并且以后在使用时导致软件崩溃。

在软件、特别是与安全相关的软件中不应出现运行时错误。但是,如果在执行软件时出现运行时错误,则可能会不可避免地中断软件的执行。然后不能再提供由软件执行引起的软件功能性(例如,如果安全架构中的冗余未拦截错误结果)。如果运行时错误导致软件行为不正确,则软件的功能性同样可能被破坏或取消。运行时错误例如可能通过以下方式出现,即不符合软件编程所使用的编程语言的隐含假设。例如,在除法中除数不允许为零,或者不允许访问所定义的数组大小之外的数组元素。如果无论如何都这样做,则通常会导致未定义的行为、不正确的结果和/或软件崩溃。

软件可以被设计为监视、控制和/或调节技术系统,特别是例如驾驶系统。执行软件时运行时错误的影响(例如所述错误结果)通常可能取决于许多因素(系统、环境、应用情况、开放的上下文……)。在不好的情况下,所述影响(例如所述错误结果)可能包括事故、损坏、伤害和/或死亡结果。例如,除以零的运行时错误可能导致软件执行遭到中止,然后该执行不能再完成其实际任务(例如操控制动器或触发安全气囊)。另一个示例是用不正确的数据覆盖存储区域,例如当写入超出数组边界以及因此无意地改变了碰巧在那里的其他变量时,这可能导致不正确的行为或甚至导致崩溃。对于技术系统的用户和/或环境而言,技术系统可以是安全关键的。在这种技术系统中使用的软件同样可以是安全关键的。然而,软件也可以与技术系统无关地是安全关键的。

因此需要采取可以/应当确保软件中没有错误的措施,特别是在安全关键软件的情况下。为此,经常对软件进行广泛的测试。但是,测试只能显示错误的存在而不能证明错误不存在,因为测试总是只能检查特定的个体配置或个体场景(“抽查”),而不能检查软件在所有配置/场景中的正确行为。

存在对软件进行形式验证的方案,这些方案可以形式上证明所述软件是无错误的。这些方案通常需要形式规范,而这种规范通常不存在并且创建起来可能很复杂。但是,形式规范一般可用于运行时错误类别。用于形式验证的方案包括抽象解释和模型检查。在抽象解释中,程序的指令在抽象域上执行。因此,在适当选择抽象域的情况下可以确定程序行为的良好过度近似。相反,模型检查相对于形式规范来检查程序模型,例如在时间逻辑上。有界模型检查(BMC)是模型检查的一种特殊变体,其只在给定限制(Bound)内做出有效说明。BMC与许多模型检查方案相比可以更好自动化地使用。

存在多种商业工具(英语:tool)可以使用这些方法检查软件的运行时错误(例如AbsInt的Astrée和MathWorks的Polyspace CodeProver),以及一些来自学术领域的工具(例如牛津大学的CBMC)。然而,所有这些工具都存在以下问题,即这些工具要么无法扩展到大型软件系统,要么提供许多虚假肯定的结果。后者通常是由于这些工具为了免于忽略任何错误(“健全性”)而设计得保守,这在原则上对安全相关系统可能有意义。然而,要分析的系统越复杂,分析就越不精确,并且可能显示越多的虚假肯定的错误消息。虚假肯定的错误消息可以例如是实际上可能永远不会出现的错误的消息。这尤其是因为随着系统变得越来越复杂,并非所有信息都可以准确保存(即必须对信息进行汇编或抽象),否则存储器消耗和运行时间将以指数方式增加,然后无法再进行错误分析。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于罗伯特·博世有限公司,未经罗伯特·博世有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202210857485.0/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top