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

文档序号:9457661阅读:来源:国知局
S211。
[0230]在没有未选择的变量的情况下(否),处理进入S215。
[0231]通过反复进行S211?S214,例如生成图14的(2)所示的第一构造设计文件291。
[0232]在S215中,主程序生成部241根据第一构造设计文件291生成第二构造设计文件292。
[0233]第二构造设计文件292是按照每个变量将变量名称、变量的属性值和使用变量的子程序的名称关联起来的数据。
[0234]例如,主程序生成部241根据图14的(2)所示的第一构造设计文件291,生成图15所示的第二构造设计文件292。
[0235]图15是表示实施方式4的第二构造设计文件292的一例的图。
[0236]在S215之后,处理进入S216。
[0237]在S216中,主程序生成部241根据在S215中生成的第二构造设计文件292,决定调用各个子程序的顺序。
[0238]例如,主程序生成部241按照使用属性(I)的变量的子程序、使用属性(2)的变量的子程序、使用属性⑶的变量的子程序的顺序,决定子程序的调用顺序。
[0239]例如,主程序生成部241根据图15所示的第二构造设计文件292,决定子程序的调用顺序 “(c) — (b) — (a),,。
[0240]在S216之后,处理进入S217。
[0241]在S217中,主程序生成部241生成用于按照在S216中决定的调用顺序调用各个子程序的主程序的源代码。
[0242]例如,主程序生成部241生成用于按照(c) (b) (a)的顺序调用子程序(a) (b) (c)的主程序的源代码。
[0243]在S217之后,主程序生成处理(S210)结束。
[0244]图16是表示实施方式4的应用测试方法的概要图。
[0245]关于实施方式4的应用测试方法的概要,根据图16进行说明。
[0246]首先,决定应用的规格而生成应用规格书131。
[0247]应用规格书131包含作为与应用中包含的子程序有关的信息的、在子程序中使用的变量的信息。
[0248]然后,根据应用规格书131生成应用的源代码111。
[0249]并且,根据应用规格书131生成用于测试应用的测试规格书132。在生成测试规格书132时,从应用规格书131提取子程序的变量信息。此时提取的子程序的变量信息能够作为构造设计信息117使用。
[0250]然后,根据测试规格书132生成用于测试应用的测试用程序133。
[0251]然后,通过执行测试用程序133,测试应用的源代码111 (或者对源代码111进行编译而得到的目标代码)。另外,测试用程序133是在研发用平台134中执行的。
[0252]如上所述,在测试应用时得到源代码111和构造设计信息117。S卩,应用文件118能够使用在测试应用时得到的源代码111和构造设计信息117生成。
[0253]根据实施方式4,能够根据构成新执行程序123的各个应用的变量信息生成新执行程序123的主程序的源代码,生成新执行程序123整体的源代码。并且,能够使用新执行程序123整体的源代码进行与新执行程序123有关的程序分析。
[0254]实施方式5
[0255]对根据构成新执行程序123的各个应用的变量信息进行与新执行程序123有关的程序分析的方式进行说明。
[0256]下面,主要说明与实施方式4不同的事项。关于省略说明的事项,与实施方式4相同。
[0257]图17是实施方式5的程序分析处理(S200)的流程图。
[0258]关于实施方式5的程序分析处理(S200),根据图17进行说明。
[0259]程序分析处理(S200)包含作为在实施方式4(参照图12)中说明的S230的具体处理的S231?S235。
[0260]在S231中,程序分析执行部243对新执行程序123的源代码执行分析工具。
[0261]在具有属性(I)(滞后一个周期读出属性)的变量包含在新执行程序123的源代码中的情况下,分析工具检测(警告)具有属性(I)的变量作为新执行程序123的问题。
[0262]在S231之后,处理进入S232。
[0263]在S232中,程序分析执行部243根据分析工具的执行结果,判定是否检测出具有属性⑴的变量以外的变量的问题。
[0264]在作为问题仅检测出具有属性⑴的变量的情况下,处理进入S233。
[0265]在检测出具有属性(I)的变量以外的变量的问题的情况下,处理进入S234。
[0266]在未检测出问题的情况下,处理进入S235。
[0267]在S233中,程序分析执行部243判定作为问题被检测出的变量在构成新执行程序123的至少任意应用的构造设计信息117中是否被定义成具有属性(I)的变量。
[0268]在作为问题被检测出的变量被定义成具有属性(I)的变量的情况下(是),处理进入S235。在这种情况下,可认为作为问题被检测出(警告)的变量是基于设计的变量而没有问题。
[0269]在作为问题被检测出的变量未被定义成具有属性⑴的变量的情况下(否),处理进入S234。在这种情况下,可认为作为问题被检测出(警告)的变量是设计失误的变量而有问题。
[0270]在S234中,程序分析执行部243判定为新执行程序123有问题。
[0271 ] 在S234之后,程序分析处理(S200)结束。
[0272]在S235中,程序分析执行部243判定为新执行程序123没有问题。
[0273]在S235之后,程序分析处理(S200)结束。
[0274]根据实施方式5,能够结合分析工具的分析结果和构造设计信息117来判定新执行程序123有无问题。
[0275]实施方式6
[0276]对存在使用具有不同属性的多个变量的子程序,并且该子程序包含在新执行程序123中的方式进行说明。
[0277]下面,主要说明与实施方式4、5不同的事项。关于省略说明的事项,与实施方式4、5相同。
[0278]外部终端200如在实施方式4 (参照图10)中说明的那样具有主程序生成部241。
[0279]主程序生成部241如在实施方式4 (参照图13)中说明的那样生成新执行程序123的主程序的源代码。
[0280]但是,主程序生成部241按照以下所述决定在主程序中调用的子程序的顺序(S216)ο
[0281]图18是表示实施方式6的第一构造设计文件291的一例的图。
[0282]图19是表示实施方式6的第二构造设计文件292的一例的图。
[0283]图20是表示实施方式6的第三构造设计文件293的一例的图。
[0284]第三构造设计文件293是按照每个变量将变量名称、一个或者多个属性值和使用变量的子程序的名称对应起来的数据。
[0285]在S211?S214(参照图13)中生成图18所示的第一构造设计文件291。
[0286]在S215中,主程序生成部241根据图18所示的第一构造设计文件291,生成图19所示的第二构造设计文件292。
[0287]图19所示的第二构造设计文件292表示变量X和变量Y在子程序(e)中使用,变量X的属性⑵和变量Y的属性⑶不同。
[0288]在S216(参照图13)中,主程序生成部241参照第二构造设计文件292,判定是否具有使用属性不同的多个变量的子程序。
[0289]在图19所示的第二构造设计文件292中,子程序(e)与使用属性不同的多个变量的子程序相应。
[0290]在没有相应的子程序的情况下,主程序生成部241根据第二构造设计文件292决定子程序的调用程序(与实施方式4相同)。
[0291]在具有相应的子程序的情况下,主程序生成部241根据第二构造设计文件292生成第三构造设计文件293。然后,主程序生成部241根据第三构造设计文件293决定子程序的调用程序。
[0292]例如,主程序生成部241根据图19所示的第二构造设计文件292生成图20所示的第三构造设计文件293。
[0293]S卩,主程序生成部241通过将子程序(e)与属性⑵和属性(3)的组合“属性(2)/
(3)”对应起来而生成第三构造设计文件293 (参照图20)。因为子程序(e)与属性(2)和属性(3)分别对应地设定在第二构造设计文件292 (参照图19)中。
[0294]然后,主程序生成部241按照对应于属性(I)的子程序、对应于属性(1)/(2)的子程序、对应于属性(2)的子程序、对应于属性(2)/(3)的子程序、对应于属性(3)的子程序的顺序,决定子程序的调用顺序。
[0295]g卩,主程序生成部241决定子程序的调用顺序“ (C) — (d) — (b) — (e) — (a) ”。但是,子程序(C)和子程序⑷都对应于属性(I),因而子程序(c) (d)的顺序也可以更换。
[0296]根据实施方式6,即使在子程序使用具有不同属性的多个变量的情况下,也能够决定子程序的调用顺序。
[0297]实施方式7
[0298]对子程序的调用在逻辑上不成立的方式进行说明。
[0299]下面,主要说明与实施方式4、5不同的事项。关于省略说明的事项,与实施方式4、5相同。
[0300]图21是实施方式7的主程序生成处理(S210)的流程图。
[0301]关于实施方式7的主程序生成处理(S210),根据图21进行说明。
[0302]主程序生成处理(S210)在实施方式4(图1
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1