用于分析包含校准值的软件的方法和设备技术

技术编号:6642156 阅读:202 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及用于分析包含校准值的软件的方法和设备,具体是一种用于评测机器可执行软件代码规范的计算机实施方法,该方法包括利用计算机生成与软件代码规范相对应的系统依赖关系图。所述系统依赖关系图包括含有节点和边的元素。计算机评测系统依赖关系图,该评测包括选择在软件代码规范中被修正的变量,给与软件代码规范中的控制语句相对应的系统依赖关系图的控制运算节点提供优选校准状态,遍历到系统依赖关系图的选定元素,其中选定元素与选定变量和控制运算节点的优选校准状态相关,仅评测系统依赖关系图的选定元素,以及标识在选定变量的状态被修正的位置处的那些选定元素。

【技术实现步骤摘要】

本专利技术涉及嵌入式系统设计的设计自动化,特别是涉及使用计算机的软件编程代码规范的结构分析。
技术介绍
本节内容仅提供涉及本专利技术的背景信息,可能不构成现有技术。已知的控制系统包括具有控制模块的嵌入式系统,所述控制模块配置成执行嵌入式软件程序以便实现一个或多个规定功能。所述控制模块和嵌入式软件程序能够同时设计和开发,通常被称为协同设计过程。该控制模块能包含可编程处理设备,其包括专用集成电路(ASIC)、电子电路和中央处理单元一例如微处理器中的一种。可编程处理设备包括存储器和存储设备,或信号性地且可操作地连接到存储器和存储设备。示例性的存储器和存储设备包括例如只读存储器(ROM)、可编程只读存储器(PR0M)、随机存取存储器(RAM)和硬盘驱动器。可编程处理设备配置成执行一个或多个嵌入式软件或固件程序。控制模块可包括组合逻辑电路、输入/输出电路和信号性地且可操作地连接到处理器的设备。控制模块包括适当的信号调节和缓存电路,以及其他合适的用以实现规定功能的部件。嵌入式软件能够利用编程语言开发和细化,这种编程语言能够编译成适于存储和被控制模块的可编程处理设备执行的机器代码。已知的软件分析方法包括用以标识能够在程序中的特定点处影响计算的程序语句子集的程序切片。这个程序点可定义为语句或在语句处使用的特定变量,且被称作切片准则。在单入口、单出口程序的简单实例中,通过寻找全部传播数据流和导致切片准则的控制依赖性来确定切片。切片可以用作一些活动的维护或复用工具,如程序理解、调试、回归测试和从现有代码中的功能提取。作为交互工具,程序切片通过将源代码直接转换为简化的规范来促进对软件相关部分的理解。程序切片由那些可能影响准则变量的值的语句组成,包括该语句是否执行。通过交互地解析数据和基于软件程序的控制流程图示的控制流等式来计算一种已知的切片。控制流图表是适用于系统分析的程序表示法,其利用标准技术从必要的语言源代码规范得来。控制流图表包括被称为节点的运算,以及被称为边的介于各运算之间的控制和数据通路。流程图表是等价图示,其由基本规程和基本规程之间的控制通路组成。基本规程是总是成组执行的一串运算。控制流图表是源代码分析的普通图示,并且采用标准技术来查找控制依赖关系和数据流依赖关系。在基于控制流图表的方法中,系统依赖关系图概括整个程序或部分程序的控制和数据依赖性。系统依赖关系图由一个或多个规程依赖关系图组成,其中每个规程依赖关系图概括过程内的控制和数据流依赖性。程序依赖图(程序内的每个规程对应一个)在系统依赖关系图内与表示规程内数据和控制依赖关系的边连接。通过基于图形的方法能够更准确地计算切片,而且包含的语句更少。能够界定多线程控制流程图,使得能够在单控制流图中明确地标示出所有并行的线程,之后分析该图以找出干扰依赖性,这是并行软件线程之间的数据流依赖性,也是多个软件线程的可行的执行次序。
技术实现思路
一种用于评测机器可执行软件代码规范的计算机实施方法包括用计算机生成与软件代码规范对应的系统依赖关系图。系统依赖关系图中所含的元素包括节点和边。计算机评测该系统依赖关系图,该评测包括选择在软件代码规范中被修正的变量,给与软件代码规范中的控制语句对应的系统依赖关系图的控制运算节点提供优选校准状态,遍历至系统依赖关系图的选定元素,其中选定元素与选定变量和控制运算节点的优选校准状态相关联,仅对系统依赖关系图的选定元素进行评测,以及标识选定变量的状态被修正的位置处的那些选定元素。方案1. 一种用于评测机器可执行软件代码规范的计算机实施方法,包括用计算机生成与所述软件代码规范相对应的系统依赖关系图,所述系统依赖关系图所含的元素包括节点和边,其中计算机评测所述系统依赖关系图,所述系统依赖关系图的评测包括选择在所述软件代码规范中被修正的变量;给所述系统依赖关系图的、与所述软件代码规范中的控制语句相对应的控制运算节点提供优选校准状态;遍历到所述系统依赖关系图的选定元素,所述选定元素与所述选定变量和所述控制运算节点的优选校准状态相关联;仅评测所述系统依赖关系图的选定元素;和标识所述选定变量的状态被修正的位置处的那些选定元素。方案2.如方案1所述的方法,进一步包括标识所述选定变量和相关变量之一的状态被修正的位置处的那些选定元素。方案3.如方案1所述的方法,进一步包括标识所述相关变量被使用的位置处的那些选定元素。方案4.如方案1所述的方法,其中仅评测所述系统依赖关系图的选定元素还包括忽略所述系统依赖关系图的未选定元素。方案5.如方案1所述的方法,其中遍历到所述系统依赖关系图的与所述选定变量相关的选定元素包括执行依赖关系分析,以选择所述选定元素。方案6.如方案5所述的方法,其中执行依赖关系分析以选出所述选定元素包括 标识每个包含作为数据边和控制边中的一种边的元素;和选择包含数据边和控制边中的一种的元素。方案7.如方案5所述的方法,其中执行依赖关系分析以选出所述选定元素包括 标识每个包含作为数据边和控制边中的一种边的元素;和选择既包含数据边又包含控制边的元素。方案8.如方案5所述的方法,其中执行依赖关系分析以选择所述选定元素包括 标识每个包含作为持续节点和末端节点中的一种节点的元素,和选择仅包含持续节点的元素。方案9.如方案8所述的方法,进一步包括忽略包含末端节点的元素。方案10.如方案5所述的方法,其中执行依赖关系分析以选择所述选定元素包括将与每个包含节点的元素相关的变量标识为全局变量和局部变量中的一种;和选择包含具有全局变量的节点的元素。方案11.如方案10所述的方法,进一步包括跳过包含具有局部变量的节点的元ο方案12.如方案5所述的方法,其中执行依赖关系分析以选择所述选定元素包括标识包含具有调用规程的节点的元素;和仅当所述调用规程修正了所述选定变量时,选择包含具有所述调用规程的节点的元ο方案13.如方案12所述的方法,进一步包括当所述调用规程没有修正所述选定变量时,跳过包含具有所述调用规程的节点的元素。方案14. 一种用于静态评测嵌入式系统的机器可执行软件代码规范的计算机实施方法,包括用计算机生成与所述软件代码规范相对应的系统依赖关系图,所述系统依赖关系图包括含有节点和边的元素,其中节点中的一个包括与所述软件代码规范中的控制语句相对应的控制运算节点;选择在所述软件代码规范中被修正的变量; 给所述控制运算节点提供优选校准状态;遍历到所述系统依赖关系图的选定元素,所述选定元素与所述选定变量和所述控制运算节点的优选校准状态相关;仅评测所述系统依赖关系图的选定元素以标识在所述选定变量的状态被修正的位置处的那些选定元素;和生成数据输出,所述数据输出指示所述系统依赖关系图的、在所述选定变量的状态被修正的位置处的被标识选定元素。方案15.如方案14所述的方法,进一步包括标识所述选定元素中的一些元素,所述一些元素位于所述选定变量和相关变量中的一种的状态被修正的位置。方案16.如方案14所述的方法,进一步包括标识在使用相关变量的位置处的那些选定元素。方案17.如方案14所述的方法,其中遍历到所述系统依赖关系图的与所述选定变量相关的选定元素包括执行依赖关系分析以选出所述选定元素。方案18.如方案17所述的方法,其中执行依赖关系分析以选出所述选定元素包括标识每个包含作为本文档来自技高网
...

【技术保护点】
1.一种用于评测机器可执行软件代码规范的计算机实施方法,包括:用计算机生成与所述软件代码规范相对应的系统依赖关系图,所述系统依赖关系图所含的元素包括节点和边,其中计算机评测所述系统依赖关系图,所述系统依赖关系图的评测包括:选择在所述软件代码规范中被修正的变量;给所述系统依赖关系图的、与所述软件代码规范中的控制语句相对应的控制运算节点提供优选校准状态;遍历到所述系统依赖关系图的选定元素,所述选定元素与所述选定变量和所述控制运算节点的优选校准状态相关联;仅评测所述系统依赖关系图的选定元素;和标识所述选定变量的状态被修正的位置处的那些选定元素。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:S·舒库马兰R·塞图
申请(专利权)人:通用汽车环球科技运作有限责任公司
类型:发明
国别省市:US

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

1