数据漏更新检查装置、数据漏更新检查方法、数据漏更新检查程序制造方法及图纸

技术编号:12002692 阅读:92 留言:0更新日期:2015-09-04 01:27
将作为检查对象的计算机程序中所包含的语句,分类为多个程序块(S03),针对每个程序块,提取出在程序块中被更新的变量(S04),确定出与每个程序块对应的更新变量集合,将多个更新变量集合中的至少1个确定为组变量(S05)。使用与程序块对应的更新变量集合与组变量的包含关系,判断程序块的同时更新程度(S06),输出该判断的结果(S10)。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术设及一种数据漏更新检查装置、数据漏更新检查方法、数据漏更新检查程 序。
技术介绍
作为在利用1个信号量进行管理的多个共有资源(变量组)中,通过源代码的静 态解析检测出应该利用独立的信号量管理的共有资源的软件检查装置,已知有在专利文献 1中所公开的软件检查装置。在专利文献1中所公开的软件检查装置具有对利用1个信号 量进行保护的变量组进行确定的单元,能够对在利用1个信号量进行保护的区间是否同时 访问变量组进行确认。 专利文献1 ;日本特开2010-157147号公报
技术实现思路
但是,在专利文献1中所公开的软件检查装置,只将利用信号量的保护区间作为 检查对象,因此不能对没有利用信号量保护的区间进行检查。因此,在没有利用信号量保护 的区间中,对于为了表示出1个状态或信息,需要同时进行访问的变量组(多个变量),不能 检测变量的漏更新。 本专利技术就是鉴于上述课题而提出的,其目的在于提供一种数据漏更新检查装置、 数据漏更新检查方法、数据漏更新检查程序,其对于为了表示出1个状态或者信息,需要同 时更新的多个变量,能够使用户注意到变量的漏更新的可能性。 本专利技术的一个方式所设及的漏更新检查装置,其将作为检查对象的计算机程序中 所包含的语句,分类为多个程序块,针对每个程序块,提取出程序块中被更新的变量,确定 出与每个程序块对应的更新变量集合,将多个更新变量集合中的至少1个确定为组变量。 使用与程序块对应的更新变量集合与组变量的包含关系,判断程序块的同时更新程度,输 出该结果。 优选本专利技术的一个方式所设及的漏更新检查装置,对判断为同时更新程度是一部 分的程序块进行提取,将对提取出的程序块进行确定的信息与判断结果相关联而输出。[000引优选本专利技术的一个方式所设及的漏更新检查装置,计算出下述比例,即,判断为同 时更新程度是完全的程序块的数量,相对于判断为同时更新程度是一部分的程序块的数量 与判断为同时更新程度是完全的程序块的数量之和的比例,并将计算出的比例与判断结果 相关联而输出。 优选本专利技术的一个方式所设及的漏更新检查装置,在多个程序块中存在判断为同 时更新程度是一部分的程序块的情况下,从组变量的要素中提取出不属于与该程序块对应 的更新变量集合的要素,并与判断结果相关联而输出。 优选本专利技术的一个方式所设及的漏更新检查装置,在多个程序块中不存在判断为 同时更新程度是一部分的程序块的情况下,将对组变量进行确定的信息与判断结果相关联 而输出。【附图说明】 图1是表示本专利技术的实施方式所设及的数据漏更新检查装置的硬件结构的框图。 图2是表示CPU11的功能的构成的框图。 图3是表示利用本专利技术的实施方式所设及的数据漏更新检查装置执行的信息处 理的流程的流程图。图4(a)、图4化)、图4(c)是作为利用源代码输入部21读入的源代码D01,表示利 用C语言记述的计算机程序的一个例子的图。 图5是表示程序块确定部31所参照的图2的块分隔符一览D03的一个例子的表。 图6是表示入口点一览D02的一个例子的表。 图7是表示利用执行函数解析部30生成的执行函数对应表的一个例子的表。 图8是表示步骤S03W及步骤S04的详细的处理顺序的一个例子的流程图。图9是对将图4(a)、图4化)、图4(c)所示的计算机程序中所包含的语句分类为多 个程序块而得到的结果进行汇总而成的表。 图10是表示将从图4(a)、图4化)、图4(c)所示的计算机程序中所包含的语句中 提取出的变量进行登记的更新变量对应表的一个例子的表。 图11是表示在步骤S05中确定出的更新变量集合和组变量的一览、W及更新变量 集合和组变量的对应关系的表。 图12是表示步骤S06的详细的处理顺序的一个例子的流程图。 图13是表示对图3的步骤S06的处理结果进行汇总而得到的"变量更新同时性一 览"的表。 图14是针对每个组变量,对在图3的步骤S07中提取出的漏更新部分、在步骤S08 中计算出的禪合度W及在步骤S09中提取出的漏更新变量的集合进行汇总而得到的表。 图15是表示在步骤S10中输出的判断结果的一个例子的表。 图16是表示作为检查对象的计算机程序的例子的图。【具体实施方式】 参照附图,说明本专利技术的实施方式。在附图的记载中,对相同部分标注相同标号并 省略说明。[002引【数据漏更新检查装置的硬件结构】 本专利技术的实施方式所设及的数据漏更新检查装置例如能够应用于利用在车辆上 搭载的电子控制装置巧CU)而执行的计算机程序的数据漏更新检查处理。尤其,对于为了 表示1个状态或信息,而需要同时更新的多个变量,对变量的漏更新的可能性进行检查。 参照图1,对本专利技术的第1实施方式所设及的数据漏更新检查装置的硬件结构进 行说明。作为数据漏更新检查装置的硬件结构,能够使用通用计算机。例如,数据漏更新 检查装置具有;输入输出装置12,其从存储介质读入作为检查对象的计算机程序(源代码 D01)W及检查所需的数据(包含入口点一览D02、块分隔符一览D03);存储装置14,其对利 用输入输出装置12读入的源代码DOl、解析的中间数据进行存储;CPU(中央处理装置)11, 其执行各种运算而对源代码D01进行解析;输入装置13,其用于输入用户输入解析中所必 需的信息;W及显示装置15,其对从CPU11输出的检查结果进行显示。检查结果也能够使 用输入输出装置12而写入到存储介质中。作为存储装置14,能够列举出存储器、硬盘等,在 存储装置14和CPU(中央处理装置)11之间进行数据的输入输出。 此外,数据漏更新检查装置也能够作为客户端服务器模型而实现。例如,经由计算 机网络而将通用个人计算机(客户端)连接到服务器上。由此,能够将具有图1中所示的 CPU11的置于远程环境中的服务器经由计算机网络,而连接到客户端所具有的输入输出装 置12、输入装置13、存储装置14、或者显示装置15上。在该情况下,数据漏更新检查装置主 要通过CPU11 (服务器)构成,输入输出装置12、输入装置13、存储装置14、或者显示装置 15未包含在数据漏更新检查装置中。 参照图2说明CPU11的功能的构成。将用于使具有CPU11的计算机作为数据漏更 新检查装置而起作用的计算机程序(数据漏更新检查程序)安装到具有CPU11的计算机 上,并执行。由此,CPU11作为W下所示的各信息处理部而起作用。另外,此处表示出利用 软件实现数据漏更新检查装置的例子,当然,也可W准备用于执行W下所示的各信息处理 的专用的硬件,而构成数据漏更新检查装置。 CPU11作为源代码输入部21、程序块分类部22、更新变量提取部23、组变量确定部 24、同时性判断部25、W及检查结果输出部29而起作用。程序块分类部22中包含执行函数 解析部30和程序块确定部31。 源代码输入部21从输入输出装置12或输入装置13读取作为检查对象的计算机 程序(源代码D01),并存储至存储装置14中。 执行函数解析部30对利用源代码输入部21读入的源代码D01进行解析。具体而 言,使用从输入输出装置12或输入装置13输入的入口点一览D02,确定出源代码D01中直 接W及间接地调用的函数。对于入口点一览D02,参照图6在后面叙述。 程序块确定部31W块分隔符作为分界,对在利本文档来自技高网...

【技术保护点】
一种数据漏更新检查装置,其对计算机程序进行检查,该数据漏更新检查装置的特征在于,具有:程序块分类部,其将作为检查对象的所述计算机程序中所包含的语句,分类为多个程序块;更新变量提取部,其针对每个所述程序块,提取出所述程序块中被更新的变量;组变量确定部,其确定出与每个所述程序块对应的更新变量集合,将所述多个更新变量集合中的至少1个确定为组变量;同时性判断部,其使用与所述程序块对应的所述更新变量集合与所述组变量的包含关系,判断所述程序块的同时更新程度;以及检查结果输出部,其输出利用所述同时性判断部得到的判断结果。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:长谷川美和子
申请(专利权)人:日产自动车株式会社
类型:发明
国别省市:日本;JP

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

1