程序的影响范围设定装置,和利用该装置的影响范围的特定方法及受影响程序的提取方法制造方法及图纸

技术编号:9438111 阅读:71 留言:0更新日期:2013-12-12 17:46
本发明专利技术公开了一种程序的影响范围设定装置,和利用该装置的影响范围的特定方法及受影响程序的提取方法,无需提取没有影响的类和方法,便可以用机械方式设定影响的范围,在大规模修改系统时,谋求提高影响调查的精度和作业效率。对程序的源代码进行句法分析,分析为抽象语法树,从表达式用语中,检索形成抽象语法树的表达式,根据已检索的表达式,按照表达式的依赖关系,形成表达式的连接,形成针对源代码的表达式与表达式的连接的依赖关系图表,设定处于依赖关系的影响范围。

【技术实现步骤摘要】
【国外来华专利技术】程序的影响范围设定装置,和利用该装置的影响范围的特定方法及受影响程序的提取方法
本专利技术涉及程序的影响范围设定装置,和利用该装置的影响范围的特定方法及受影响程序的提取方法。
技术介绍
在大规模修改系统时,伴随程序的修改,针对其它的程序的影响要求提高调查的精度和作业效率。在过去,为了调查影响,采用以“方法的调用关系”为中心的影响的调查方法。在专利文献1(JP特开2006—277127号)中记载到,针对作为设计上的逻辑结构的模块,文件,函数,源代码的层级结构的每个而应进行比较的项目,进行定义、比较。在专利文献2(JP特开2009—157505号)中记载到,在过去,规定分析规则,根据它,进行变更的影响分析;由于在该方法中,规则的制定需要花费时间,故存储记载有针对源代码的每个变更对象项目所假定的所有验证方法的影响分析图。
技术实现思路
在过去的基于方法的调用关系调查影响中,具有必须提取大量的没有影响的类/方法,指定跟踪调用关系的层级等问题。另外,在存储影响分析图的方法中,具有构建该影响分析图需要花费许多的时间等问题。本专利技术的目的在于针对上述问题,不用提取无影响的类和方法,就可以用机械方式设定影响的范围,在大规模修改系统时,可谋求提高影响调查的精度和作业效率。本专利技术提供一种程序的影响范围设定装置,其特征在于:对程序的源代码进行句法分析,分析为抽象语法树,检索形成该抽象语法树的表达式;根据已检索的表达式,按照表达式的依赖关系,形成表达式的连接;形成针对源代码的表达式与表达式的连接的依赖关系图表,设定处于依赖关系的影响波及范围。本专利技术提供一种程序的影响波及范围设定装置,其特征在于:对程序的源代码进行句法分析,分析为抽象语法树;检索形成抽象语法树的表达式;根据已检索的表达式,按照表达式的依赖关系,形成表达式的连接;针对多个源代码,分别形成已检索的表达式的连接;在多个源代码所具有的检索的表达式相同时,该表达式构成各自的源代码所共用的表达式;包括该共用的表达式和表达式的连接的组合,形成而共用针对多个源代码的表达式与表达式的连接的依赖关系图表,设定处于依赖关系的影响波及范围。另外,本专利技术还提供一种程序的影响波及范围的特定方法,该方法涉及采用上述程序的影响波及范围设定装置的影响范围的特定方法,其特征在于:如果在上述依赖关系图表上,指定构成基点的表达式,则通过跟踪相对构成基点的表达式的依赖关系,指定特定影响波及范围。本专利技术还提供一种受影响波及程序的提取方法,该方法涉及采用上述程序的影响波及范围设定装置的受影响波及程序的提取方法,其特征在于:在于上述依赖关系图表上,指定构成基点的表达式时,通过跟踪相对构成基点的表达式的依赖关系,将具有表达式和表达式的连接的程序作为受影响波及的程序而抽取。另外,在本专利技术中,输入源代码,但是,在这里,按照包括字节代码的概念而使用。字节代码指通过按照不依赖于特定的操作系统(OS),硬件而定义的命令而描述的可执行程序,为位于作为人画的设计图的源代码和实际上可在计算机中运行的本地代码的中间的形式,在这里,作为源代码而对待,是没有关系的。本专利技术具有以下优点:按照本专利技术,由于象上述那样,通过源代码的句法分析,赋予表达式之间的依赖关系,进行影响波及范围的设定和指定,故不用提取没有影响的类(class)/方法(method),就可根据表达式,以机械方式设定影响波及的范围,在大规模修改系统时,可谋求提高影响调查的精度和作业效率。附图说明图1为通过方框表示本专利技术的实施例的结构图;图2为表示本实施例所采用的引擎的结构图;图3为表示本实施例的处理流程图;图4为表示句法的分析例子的图;图5为表示赋予表达式之间的依赖关系的例子的图;图6为表示基于影响波及范围的设定的依赖关系图表的图;图7为在图6中添加类和方法关系的图;图8为表示图6所示的表达式和表达式的连接的具体例子的图;图9为表示跟踪依赖关系的影响波及调查的例子的图;图10为表示影响波及范围的结果的图;图11为表示已有例子的影响波及的结果的图;图12为表示已有例子的影响波及的结果的图;图13为表示已有例子的影响波及的结果的图;图14为表示本实施例的影响波及的结果的图。标号的说明:标号1表示输入单元;标号2表示运算处理单元;标号3表示输出单元;标号4表示数据库;标号5表示程序;标号6表示构成基点的表达式;标号7表示图像显示器;标号8表示画面;标号100表示程序的影响波及范围设定装置。具体实施方式下面结合附图及本专利技术的实施例对本专利技术作进一步详细的说明。图1为通过方框表示的本专利技术的实施例的程序的影响范围设定装置结构图。在图1中,程序的影响范围设定装置100由输入单元1,运算处理单元2,输出单元3和数据库4构成。在输入单元1中,从外部,输入在大规模修改系统时,构成修改对象的程序5和构成基点的表达式6。运算处理单元2包括下述处理单元(功能):·源代码的句法分析(即,语法分析)·抽象语法树分析·表达式检索·表达式连接的形成·共用表达式的提取·表达式的依赖关系·图表的形成·影响范围的设定·影响范围的特定输出单元3输出:·依赖关系的跟踪·已设定的影响范围·已特定的影响范围,将其显示于画面显示器7的画面8中。数据库4保存通过借助运算处理单元2而演算处理的方式形成的表达式的依赖关系图表(即,数据)。对运算处理单元2进行说明。源代码的句法分析单元对程序的源代码进行句法分析。抽象语法树分析单元根据句法分析,将其分析为作为层级结构的抽象语法树。表达式检索单元对形成抽象语法树的表达式进行检索。针对表现为抽象语法树的全部的注释(行,表达式),分析依赖关系,检索表达式。表达式连接制作单元根据已检索的表达式,按照表达式的依赖关系,形成表达式的连接。表达式的连接针对多个源代码而形成。共用表达式的提取单元相同时,将该表达式作为各个源代码所共用的源代码而提取。表达式的依赖关系图表的形成单元按照与其它的程序的关系,针对包括共用的表达式和按照依赖关系而连接的表达式的组合的多个源代码,形成表达式的依赖关系图表。影响范围设定单元根据依赖关系图表,设定处于依赖关系的影响范围。影响范围特定单元根据已设定的影响范围,特定影响范围。图2表示采用本实施例的引擎的结构。引擎由语言依赖部分和语言非依赖部分构成。(1)在句法分析时,采用各种插件,比如,A分析插件,B分析插件,C分析插件。也可为1个插件。象图2所示的那样,进行句法分析,对提取的语法树进行解析,(2)进行依赖关系分析。通过该分析,形成依赖关系,接着,(3)进行影响分析。通过该分析,形成影响结果。图3表示处理的流程。针对源代码,(1)进行语法分析(S1)。对仅使用源代码而缺乏的型信息,也可通过条形码等的补充信息进行补充。在这里所说的补充指仅对使用源代码而缺乏的信息进行补充的信息。指比如,Java语言的class或jar文件的信息。(1)根据句法分析,形成抽象语法树(S2),(2)进行依赖关系分析(S3)。通过该分析结果,形成依赖关系(S4),根据影响的基点,(3)进行影响分析(S5)。通过该分析结果,形成影响结果(S6)。图4表示通过源代码的句法分析单元和抽象语法树分析单元,分析源代码的语法,分析而形成抽象语法树。在这里,为了接近通过人员的眼睛而追踪的情况,分析源代本文档来自技高网...
程序的影响范围设定装置,和利用该装置的影响范围的特定方法及受影响程序的提取方法

【技术保护点】

【技术特征摘要】
【国外来华专利技术】2011.03.31 JP 2011-0770181.一种特定源代码的影响范围的特定方法,其特征在于:包含在上述源代码中的方法,可以具有多个指令;特定方法包括以下步骤:句法分析步骤,句法分析单元对源代码指令的意思进行解析,形成抽象语法树;依赖关系分析步骤,依赖关系单元对上述抽象语法树中所含的指令进行检索,分析指令与指令的连接关系,从而形成上述指令的依赖关系;影响范围分析步骤,受影响分析单元基于特定影响源的指令和受影响处的指令的上述依赖关系,从影响源的指令跟踪到受影响处的指令,进而,将该受影响处的指令作为影响源的指令,跟踪到作为受影响处指令的其它指令,基于抽象语法树内的指令从基点进行反复,从而特定受影响范围;输出步骤,为了将上述特定后的指令的受影响范围与上述方法进行同时显示进行输出。2.一种特定源代码的影响范围的特定装置,其特征在于:包含在上述源代码中的方法,可以具有多个指令;上述特定装置备有:句法分析装置,对源代码的语...

【专利技术属性】
技术研发人员:吉田浩一
申请(专利权)人:日立公共系统工程公司
类型:
国别省市:

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

1