程序可视化装置和程序可视化方法制造方法及图纸

技术编号:12783671 阅读:57 留言:0更新日期:2016-01-28 03:35
本发明专利技术的程序可视化装置针对包含在程序源代码中的模块,通过自动地选择与特定关注点关联的模块,构建表示该程序的图并显示,将该程序可视化。信息处理装置的数据解析单元针对使用模块调用关系图生成单元提取的模块,使用模块调用关系和共用数据使用关系,计算相对于用户输入的关注点的关联度。此时,通过将作为基点的关注点依赖模块的关注点关联度与作用判断表、模块间路径的关注点关联度权重数据中记录的关注点关联度权重相乘等来计算。计算出的关注点关联度使用关注点关联判断噪声修正阈值数据中记录的关注点关联度修正值进行修正。最终获得的模块关注点关联度保存在各模块关注点关联判断数据中,程序图生成控制单元根据该关注点关联度生成程序图。

【技术实现步骤摘要】

本专利技术涉及程序可视化装置、程序可视化方法及程序可视化程序。
技术介绍
程序在长期使用中由于规格变更、故障对应等而需要修改。这种程序修改被称为重构(refactoring)。在重构时,为了减轻修改负责人的负担、减少修改带来的错误的目的,有自动选择程序内所含的模块并想要通过可视化等来利用的需求。对于该需求,例如已知有下述方法:基于上述重构的关注点计算对象程序中所含的每个模块的复杂度,并选择该复杂度较高的模块。在专利文献I中,为了进一步提高重构时的效果,提出了如下方法:利用模块调用层级的衰减系数及每个调用层级的数据和模块的使用数,对每个模块计算在考虑整个程序的基础上的复杂度,并选择值较高的模块。现有技术文献专利文献1:国际公开第W009/011056号
技术实现思路
然而,在以专利文献I为代表的以往的方法中,虽然基于重构的关注点能够自动地选择模块,但是基于其他关注点则不能自动选择模块。因此,在基于重构关注点以外的关注点将程序可视化的情况下,需要手动选择对象模块,该选择作业需要耗费工时。本专利技术的一个目的在于提供一种程序可视化装置、程序可视化方法和程序可视化程序,针对程序的源代码内所含的模块,通过自动地选择与特定关注点关联的模块,构建表示该程序的图并显示,来将该程序可视化。为了解决上述及其他问题,本专利技术的一种方式提供程序可视化装置,其用于以包含在程序的源代码中的模块为单位将该程序可视化,上述程序可视化装置的特征在于,包括:源代码获取单元,其用于获取作为可视化对象的上述源代码;词数据获取单元,其用于获取在上述源代码自身、或者与该源代码关联的其他源代码或数据中记述的词数据;关注点信息存储单元,其将在将上述模块可视化时要关注的关注点信息与针对各关注点信息设定的关注点关联度阈值对应地保存;关键词存储单元,其将上述词数据获取单元基于保存在上述关注点信息存储单元中的关注点信息而从上述源代码获取的上述词数据作为关键词保存;各模块关注点关联判断数据存储单元,其保存针对各上述模块设定的关注点关联度;作用判断表,其将用于计算各上述模块的关注点关联度的项目与关于关注点关联度的作为权重系数的关注点关联度权重数据对应地保存;模块间路径的关注点关联度权重数据存储单元,其将用于计算各上述模块的关注点关联度的模块间调用路径与针对各模块间调用路径设定的上述关注点关联度权重数据对应地保存;模块调用关系提取单元,其用于提取表示包含在上述源代码中的模块的相互调用关系的模块调用关系;数据解析单元,其用于针对提取出的各上述模块,考虑关于以关注点依赖模块为基点的上述模块相互间的调用关系的关注点关联度权重或记录在上述作用判断表中的关于共用数据使用关系的关注点关联度权重,来进行关注点关联度的计算,并将该计算结果保存到上述各模块关注点关联判断数据存储单元中,其中,上述关注点依赖模块为根据与保存在上述关注点信息存储单元中的上述关注点信息对应的关键词而被提取出的模块;模块提取单元,其用于从上述源代码内提取模块;可视化判断单元,其通过比较保存在上述各模块关注点关联判断数据存储单元中的各上述模块的关注点关联度与保存在上述关注点信息存储单元中的针对对应的关键词设定的关注点关联度,进行是否将从上述源代码提取出的上述模块可视化的判断;和显示输出单元,其将上述可视化判断单元判断为进行可视化的上述模块以规定格式输出。根据本专利技术的一个方式,能够针对程序源代码中所含的模块,通过自动地选择与特定关注点关联的模块,构建表示该程序的图并显示,来将该程序可视化。【附图说明】图1是具有本专利技术的一个实施方式涉及的程序可视化装置100的信息处理系统I的硬件结构的一例的图。图2是图1的程序可视化装置100的软件结构的一例的图。图3是本实施方式中的关注点表213的一例的图。图4是本实施方式中的关注点关联判断噪声修正阈值数据表214的一例的图。图5是本实施方式中的各模块关注点关联判断数据表215的一例的图。图6是本实施方式中的作用判断表216的一例的图。图7是本实施方式中的模块间路径的关注点关联度权重数据表217的一例的图。图8是本实施方式中的程序图生成流程图的一例的图。图9是本实施方式中的模块关注点关联度计算流程图的一例的图。图10是本实施方式中虽然相互之间没有调用关系但与关注点依赖模块有作用关系的模块的提取流程图的一例的图。图11是本实施方式中的模块间路径的关注点关联度权重设定流程图的一例的图。图12是本实施方式中利用了模块相互间的调用关系的、模块的关注点关联度计算流程的一例的图。图13是本实施方式中的模块的关注点关联度修正流程图的一例的图。图14是表示模块调用结构的一例的说明图。图15是表示可视化后的程序图与关注点关联度变更相应地改变的状态的一例的图。附图记号说明100......信息处理装置101……处理器102......输入装置103……辅助存储装置104……主存储装置105......显示装置106......总线107……通信装置110......信息装置A120......信息装置B130......通信网络200……源代码获取单元201……关键词获取单元202……数据解析单元203……可视化判断单元204......绘制指示单元205......程序图生成控制单元206……关于项目A的源代码组207......源代码 A208……关于项目B的源代码组209......源代码 B211......关键词 DB212……模块调用关系图生成单元213……关注点表214……关注点关联判断噪声修正阈值数据表215......各模块关注点关联判断数据表216……作用判断表217……模块间路径的关注点关联度权重数据表【具体实施方式】下面,利用附图对本专利技术的一个实施方式的程序可视化装置、程序可视化方法和程序可视化程序进行详细说明。在本实施方式中,说明针对包含多个模块的可视化对象源代码通过生成仅由与特定关注点关联的模块构成的程序图来实现可视化的方法的一例。作为特定的关注点这里以“微处理器”为例,但关注点并不限定于上述。首先,参考图1对包含本实施方式的信息处理装置100的信息处理系统I进行说明。图1是表示本实施方式涉及的信息处理系统I中所含的信息处理装置100的硬件和系统结构的一例的图。信息处理系统I构成为包括实现本实施方式的主要功能的信息处理装置100、其他信息处理装置即称为网络存储器的可保存数据的信息装置A(IlO)和信息装置B(120),在它们之间通过例如互联网等通信网络130连接。在本实施方式的信息处理系统I中,在信息装置A、信息装置B中执行用于实现信息处理系统I的功能的数据处理,根据安装在信息处理装置100中的本实施方式的程序可视化功能,执行在安装在信息装置A、B中的程序修改时等所需的可视化处理。信息处理装置100作为硬件具有:CPU(Central Processing Unit,中央处理器)、MPU (Micro Processing Unit,微处理器)等处理器101、包括键盘、鼠标等数据输入设备的输入装置102、包括硬盘驱动器(HDD)、半导体驱动器(SSD)等存储设备的辅助存储装置103、包括 ROM (Read Only Memory,只读存储器)、RAM 本文档来自技高网...

【技术保护点】
一种程序可视化装置,其用于以包含在程序的源代码中的模块为单位将该程序可视化,所述程序可视化装置的特征在于,包括:源代码获取单元,其用于获取作为可视化对象的所述源代码;词数据获取单元,其用于获取在所述源代码自身、或者与该源代码关联的其他源代码或数据中记述的词数据;关注点信息存储单元,其将在将所述模块可视化时要关注的关注点信息与针对各关注点信息设定的关注点关联度阈值对应地保存;关键词存储单元,其将所述词数据获取单元基于保存在所述关注点信息存储单元中的关注点信息而从所述源代码获取的所述词数据作为关键词保存;各模块关注点关联判断数据存储单元,其保存针对各所述模块设定的关注点关联度;作用判断表,其将用于计算各所述模块的关注点关联度的项目与关于关注点关联度的作为权重系数的关注点关联度权重数据对应地保存;模块间路径的关注点关联度权重数据存储单元,其将用于计算各所述模块的关注点关联度的模块间调用路径与针对各模块间调用路径设定的所述关注点关联度权重数据对应地保存;模块调用关系提取单元,其用于提取表示包含在所述源代码中的模块的相互调用关系的模块调用关系;数据解析单元,其用于针对提取出的各所述模块,考虑关于以关注点依赖模块为基点的所述模块相互间的调用关系的关注点关联度权重或记录在所述作用判断表中的关于共用数据使用关系的关注点关联度权重,来进行关注点关联度的计算,并将该计算结果保存到所述各模块关注点关联判断数据存储单元中,其中,所述关注点依赖模块为根据与保存在所述关注点信息存储单元中的所述关注点信息对应的关键词而被提取出的模块;模块提取单元,其用于从所述源代码内提取模块;可视化判断单元,其通过比较保存在所述各模块关注点关联判断数据存储单元中的各所述模块的关注点关联度与保存在所述关注点信息存储单元中的针对对应的关键词设定的关注点关联度,进行是否将从所述源代码提取出的所述模块可视化的判断;和显示输出单元,其将所述可视化判断单元判断为进行可视化的所述模块以规定格式输出。...

【技术特征摘要】
...

【专利技术属性】
技术研发人员:是木玄太福井大辅
申请(专利权)人:株式会社日立制作所
类型:发明
国别省市:日本;JP

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

1