程序分析装置、程序分析方法及程序分析程序的制作方法_5

文档序号:9457661阅读:来源:国知局
3)中说明的处理的基础上,具有S214-2o
[0303]在S211?S214,主程序生成部241生成新执行程序123的第一构造设计文件291。
[0304]在S214之后,处理进入S214-2。
[0305]在S214-2中,主程序生成部241根据第一构造设计文件291判定是否具有调用顺序矛盾的子程序的组合。
[0306]其中,调用顺序矛盾的子程序的组合是指包含如下所述的2个子程序的组合。
[0307]2个子程序使用第一变量和第二变量。
[0308]在一个子程序中使用的第二变量具有与比在一个子程序中使用的第一变量的属性“低”的调用顺序对应的属性。
[0309]在另一个子程序中使用的第二变量具有与比在另一个子程序中使用的第一变量的属性“高”的调用顺序对应的属性。
[0310]在具有调用顺序矛盾的子程序的组合的情况下,主程序生成部241不生成主程序,主程序生成处理(S210)结束。在这种情况下,程序分析执行部243不进行程序分析而判定为新执行程序123有问题。
[0311]在没有调用顺序矛盾的子程序的组合的情况下,处理进入S215。S215?S217与实施方式4相同。
[0312]图22、图23、图24是表示实施方式7的第一构造设计文件291的一例的图。
[0313]在生成图22?图24所示的第一构造设计文件291的情况下,主程序生成部241判定为具有调用顺序矛盾的子程序的组合。在图22?图24的第一构造设计文件291中,对应于属性(I)的调用顺序是I号,对应于属性(2)的调用顺序是2号,对应于属性(3)的调用顺序是3号。
[0314]在图22所示的第一构造设计文件291中,子程序(e)使用属性(2)的变量Y和属性⑶的变量X。即,变量X具有与比变量Y的属性⑵“低”的调用顺序对应的属性(3)。
[0315]另外,子程序(f)使用属性(3)的变量Y和属性⑵的变量X。S卩,变量X具有与比变量Y的属性⑶“高”的调用顺序对应的属性⑵。
[0316]因此,子程序(e)和子程序(f)的调用顺序矛盾。另外,当在子程序(f)中使用的变量X的属性是属性⑴的情况下,调用顺序也矛盾。
[0317]对于图23或者图24的第一构造设计文件291也是同样的。
[0318]在实施方式7中,也可以是,主程序生成部241根据第一构造设计文件291生成第二构造设计文件292(S215),根据第二构造设计文件292判定有无矛盾的子程序的组合(S214-2)ο
[0319]根据实施方式7,能够检测调用顺序矛盾的子程序的组合。
[0320]各个实施方式是程序管理系统100和外部终端200的方式的一例。
[0321]S卩,程序管理系统100和外部终端200也可以不具有在各个实施方式中说明的功能或者结构的一部分。
[0322]并且,程序管理系统100和外部终端200也可以具有在各个实施方式中未说明的功能或者结构。
[0323]另外,各个实施方式也可以在不产生矛盾的范围内对一部分或者全部进行组合。
[0324]标号说明
[0325]100程序管理系统;110应用服务器;111源代码;112分析结果表;113源代码请求受理部;114分析结果检索部;115源代码响应部;116程序提供部;117构造设计信息;118应用文件;119服务器存储部;120车辆;121电子控制装置;122应用列表;123执行程序;131应用规格书;132测试规格书;133测试用程序;134研发用平台;200外部终端;210追加应用受理部;220应用列表读入部;230应用收集部;240程序分析部;241主程序生成部;242程序组装部;243程序分析执行部;250程序生成部;260程序更新部;270程序取得部;290终端存储部;291第一构造设计文件;292第二构造设计文件;293第三构造设计文件;901运算装置;902辅助存储装置;903主存储装置;904通信装置;905输入输出装置;909总线。
【主权项】
1.一种程序分析装置,其特征在于,该程序分析装置具有: 列表取得部,其取得表示构成执行程序的部分程序的部分程序列表; 源代码取得部,其取得由所述列表取得部取得的所述部分程序列表中示出的所述部分程序的源代码和在所述执行程序中追加的新部分程序的源代码;以及 程序分析部,其使用由所述源代码取得部取得的所述部分程序的所述源代码和所述新部分程序的所述源代码,判定包含所述新部分程序的新执行程序是否产生问题。2.根据权利要求1所述的程序分析装置,其特征在于, 所述源代码取得部取得与在所述部分程序中使用的变量有关的变量信息和与在所述新部分程序中使用的变量有关的变量信息, 所述程序分析部使用所述部分程序的所述源代码、所述部分程序的所述变量信息、所述新部分程序的所述源代码和所述新部分程序的所述变量信息,生成所述新执行程序的源代码, 所述程序分析部通过对所述新执行程序的所述源代码执行程序分析工具,判定所述新执行程序是否产生问题。3.根据权利要求2所述的程序分析装置,其特征在于, 所述部分程序的所述变量信息表示在构成所述部分程序的子程序中使用的变量是具有用于读出更新前的变量值的更新前读出属性、用于更新变量值的写入属性和用于读出更新后的变量值的更新后读出属性中的哪个属性的变量, 所述新部分程序的所述变量信息表示在构成所述新部分程序的子程序中使用的变量是具有所述更新前读出属性、所述写入属性和所述更新后读出属性中的哪个属性的变量,所述程序分析部根据所述部分程序的所述变量信息和所述新部分程序的所述变量信息,决定调用所述部分程序的所述子程序和所述新部分程序的所述子程序的顺序, 所述程序分析部生成按照所决定的顺序调用所述部分程序的所述子程序和所述新部分程序的所述子程序的、主程序的源代码, 所述程序分析部使用所述主程序的所述源代码、所述部分程序的所述源代码和所述新部分程序的所述源代码,生成所述新执行程序的所述源代码。4.根据权利要求3所述的程序分析装置,其特征在于, 所述主程序按照使用具有所述更新前读出属性的变量的子程序、使用具有所述写入属性的变量的子程序和使用具有所述更新后读出属性的变量的子程序的顺序,调用所述部分程序的所述子程序和所述新部分程序的所述子程序。5.根据权利要求3或4所述的程序分析装置,其特征在于, 所述程序分析部通过执行所述程序分析工具,从所述执行程序的所述源代码中提取具有所述更新前读出属性的变量, 当提取出的所述变量在所述部分程序的所述变量信息和所述新部分程序的所述变量信息中的至少任意变量信息中未被作为具有所述更新前读出属性的变量示出的情况下,所述程序分析部判定为所述新执行程序产生问题。6.根据权利要求2?5中的任意所述的程序分析装置,其特征在于, 所述部分程序的所述变量信息按照在构成所述部分程序的子程序中使用的每个变量示出变量的属性, 所述新部分程序的所述变量信息按照在构成所述新部分程序的子程序中使用的每个变量示出变量的属性, 当所述部分程序的所述子程序和所述新部分程序的所述子程序使用第一变量和第二变量,在一个子程序中使用的所述第二变量具有与比在所述一个子程序中使用的所述第一变量的属性低的调用顺序对应的属性,在另一个子程序中使用的所述第二变量具有与比在所述另一个子程序中使用的所述第一变量的属性高的调用顺序对应的属性的情况下,无论有无生成所述新执行程序的所述源代码,所述程序分析部都判定为所述新执行程序产生问题。7.根据权利要求1?6中的任意所述的程序分析装置,其特征在于, 所述程序分析部在已对由所述部分程序和与所述新部分程序相同的部分程序的组合构成的过去的执行程序进行判定的情况下,根据所述过去的程序的判定结果判定所述新执行程序。8.根据权利要求1?7中的任意所述的程序分析装置,其特征在于,所述程序分析装置具有: 程序生成部,其在所述程序分析部判断为所述新执行程序没有产生问题的情况下,生成所述新执行程序;以及 程序更新部,其将所述执行程序更新成由所述程序生成部生成的所述新执行程序,并且在所述部分程序列表中追加所述新部分程序的程序名称。9.一种使用程序分析装置的程序分析方法,该程序分析装置具有列表取得部、源代码取得部和程序分析部,其特征在于, 所述列表取得部取得表示构成执行程序的部分程序的部分程序列表, 所述源代码取得部取得由所述列表取得部取得的所述部分程序列表中示出的所述部分程序的源代码和在所述执行程序中追加的新部分程序的源代码, 所述程序分析部使用由所述源代码取得部取得的所述部分程序的所述源代码和所述新部分程序的所述源代码,判定包含所述新部分程序的新执行程序是否产生问题。10.一种程序分析程序,该程序分析程序用于使计算机作为权利要求1?8中的任意一项所述的程序分析装置发挥作用。
【专利摘要】应用列表读入部(220)读入应用列表(122)。应用收集部(230)取得应用列表(122)中示出的搭载应用的源代码(111)。并且,应用收集部(230)取得追加应用的源代码(111)。程序分析部(240)使用各个源代码(111)进行与新执行程序(123)有关的程序分析。在新执行程序(123)没有产生问题的情况下,程序生成部(250)生成新执行程序(123)。然后,程序更新部(260)将新执行程序(123)写入到电子控制装置(121),将追加应用名称追加到应用列表(122)。
【IPC分类】G06F11/36
【公开号】CN105210044
【申请号】CN201380076507
【发明人】伊藤益夫
【申请人】三菱电机株式会社
【公开日】2015年12月30日
【申请日】2013年5月15日
【公告号】DE112013007083T5, US20160055074, WO2014184896A1
当前第5页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1