模块划分辅助装置、方法和存储介质制造方法及图纸

技术编号:15203014 阅读:185 留言:0更新日期:2017-04-22 20:46
本发明专利技术提供运用关于模块所使用的功能的信息来自动提取可划分的模块的模块划分辅助装置、模块划分辅助方法和模块划分辅助程序。信息处理装置的关键词取得部向按模块的关键词使用数据收集关于模块正在使用的功能的数据,数据分析部使用数据和存储在不可分度计算项目列表中的、用户指定的不可分度计算项目计算方法来计算不可分度,并将不可分度存储至不可分度数据,而且,模块划分判断部对划分判断对象模块,通过对关于和用户指定的不可分度计算项目相关联的功能的不可分度与存储在不可分度计算项目列表中的阈值进行比较,来判断是否能够进行模块划分。

Module division auxiliary device, method and program

The invention provides a module division auxiliary device, a module division auxiliary method and a module division auxiliary program which can automatically extract the divided module by using the information of the function used by the module. Keywords information processing device has to use data collection module is used on the data according to the data analysis module of keywords, use data and stored in the index calculation project can not separable calculation items in the list, the user specifies the calculation method to calculate the inseperability, and will not be stored to indexing no indexing data, and module partition determiner of object module division, based on a user specified and inseperability computing project related functions can not be stored in the graduation and do not compare items in the list can be calculated dividing threshold value to determine whether to carry out the module division.

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及判断源代码内的模块、例如函数划分是否能够进行的模块划分辅助装置、模块划分辅助方法和模块划分辅助程序。
技术介绍
存在文件设计得不恰当、函数配置在不恰当的文件的情况,成为源可读性降低的原因。在专利文献1中,提案有使用函数的评价规则(文件内所含的函数名的类似度等)来判断是否应该将判断对象的函数从文件分离的方法。现有技术文献专利文献专利文献1:日本特开2007/219586
技术实现思路
专利技术所要解决的问题但是,在专利文献1的方法中,由于不进行函数内的分析,所以不能判断是否能够进行函数的划分,不能提高函数级的源可读性。用于解决问题的方式为了解决上述问题,本专利技术的模块可视化判断具有以下的方案。本专利技术的一个侧面为使用输入装置、输出装置、运算装置和存储装置对源代码中的模块(例如,函数、变量、宏等一众功能、要素)进行划分的模块划分辅助方法或者用于该方法的装置和程序。运算装置能够使用存储在存储装置中的或从输入装置输入的关键词分类表和不可分度计算项目列表。关键词分类表包含多组关键词和与关键词对应的类别的数据的组。例如,作为类别,能够使用与关键词相关联的功能。具有相同或者相关联的功能的部分尽量归纳于一个文件可提高源代码的可读性。因此,通过着眼于功能来对关键词进行分类,源代码的整理会变得容易。或者,作为类别,也可以使用关键词自身。在这种情况下,关键词与类别一一对应。虽然能够进行更详细的分析,但是也存在结果的研讨变得繁杂的情况。此外,也可以将类别分级为两级以上。不可分度计算项目列表包含类别中的第一类别与第二类别之间的不可分度计算项目和关于不可分度计算项目的计算方法的信息的组。不可分度计算项目及其计算方法能够基于经验法则制定各种规则。运算装置包括源代码取得部、关键词取得部、数据分析部和模块划分判断部。源代码取得部取得存储在存储装置中的或者从输入装置输入的一组源代码和作为可视化对象的源代码。关键词取得部按一组源代码中的每个模块确定模块中所含的关键词,生成按模块的关键词使用数据。按模块的关键词使用数据是将一组源代码的模块中出现的关键词间的关联性统计汇总的数据。一组源代码的数据越多统计精度越高,不过数据处理量变大。此外,优选一组源代码为与作为可视化对象的源代码关联性大的集合。作为典型的例子,优选将属于作为可视化对象的源代码所属的数据库或计划项目的源代码的集合作为一组源代码来使用。数据分析部使用对应于存储在不可分度计算项目列表中的计算方法、存储在按模块的关键词使用数据中的数据和关于关键词分类表中所含的关键词的类别的信息,对第一类别和第二类别计算不可分度来生成不可分度数据。通过以上的源代码取得部和数据分析部的处理,与关键词相关联的类别彼此的不可分度作为不可分度数据被数据库化。模块划分判断部确定存在于作为可视化对象的源代码中的各模块内的关键词,并确定各模块中的、具有与第一类别和第二类别对应的关键词的组的模块,其中第一类别和第二类别具有低于规定阈值的不可分度。该被确定的模块成为将要研讨划分的候选项。另外,将不可分度数据数据库化的主体或信息处理装置也可以为与判断模块划分的主体或信息处理装置不同的其它主体或信息处理装置。在本专利技术的优选具体例中,在用作类别的情况下,数据分析部计算第一功能与第二功能的关联度或第一功能与第二功能的使用顺序的比例来作为不可分度。关于阈值,能够每次由操作员从输入装置输入。在这种情况下,能够实时确认阈值和变化的结果。或者,也可以使不可分度计算项目列表的各信息的组预先附带有阈值。对作为可视化对象的源代码中的模块中所含的关键词的类别并不限定于两个,还存在具有三个以上的情况。在这种情况下,在与一个模块所含的关键词对应的类别彼此的不可分度全部低于上述规定阈值时,也可以将该模块判断为可划分的模块。这样的模块被推测为含有很多没有关联性的部分,优选优先研讨划分。在本专利技术的优选具体例中,为了筛选作为可视化对象的源代码中的模块,能够使用定义筛选条件的模块筛选判断列表。模块划分判断部对符合条件的模块进行确定处理,由此能够减少处理量。作为筛选条件,能够凭经验确定各种条件。作为模块筛选条件的具体的例子,能够利用使用功能或关键词数、功能或关键词间的最大行间数、LOC(LinesOfCode:代码行数)、能够以各种指标测定的复杂度、修正次数、从最后修正起经过的时间、参与开发的人数或开发者的开发水平、经验、能力等。在更具体的例子中,为了筛选模块划分判断对象模块,具备规定筛选条件的模块筛选项目和按每项目记载有模块筛选的阈值的模块筛选判断数据。数据分析部按模块筛选项目计算模块筛选的值,并对模块筛选的值与模块筛选的阈值进行比较。能够在模块筛选的值为模块筛选的阈值以上的情况下进行模块划分判断,在未达阈值的情况下不进行模块划分判断。另外,模块划分判断中使用的阈值能够为多个,判断条件也能够将各种条件进行组合。例如,即使是按单一的阈值被判断为可划分的模块的模块,也存在其是内部另外存在多个不可分度高的功能的组的模块的情况。在本专利技术的其它优选例中,模块划分判断部具有提取该不可分度高的功能的组并且判断该不可分度高的功能的组彼此的不可分度的功能。因此认为在功能的组彼此的不可分度未达规定阈值的情况下判断为可划分的模块,除此以外判断为不可划分的模块。此外,本专利技术的另一观点在于,包括取得可视化对象的源代码的源代码取得部和取得源代码或关于源代码所属的计划项目的源代码、开发维护数据中记述的关键词的关键词取得部。此外,使用汇集了模块内记述的关键词或关键词所属的功能名称的关键词分类表。此外,使用按模块的关键词使用数据,该按模块的关键词使用数据存储关于关键词取得部参考关键词分类表取得的每个模块的关键词的数据。此外,使用汇集有功能和关键词的不可分度计算项目、不可分度的计算方法和阈值的不可分度计算项目列表。此外,使用数据分析部,该数据分析部使用存储有不可分度计算项目的计算值的不可分度数据、按模块的关键词使用数据、不可分度计算项目列表中记载的不可分度计算方法,进行不可分度的计算,并将计算结果存储在该不可分度数据中。此外,包括对不可分度与从不可分度计算项目列表取得的阈值或用户输入的阈值进行比较,进行模块的划分判断的模块划分判断部。以上说明的装置结构既可以由单个计算机构成,或者也可以由输入装置、输出装置、处理装置、存储装置的任意的部分通过网络连接的其它计算机构成。专利技术的思想在于等价,没有变化。本实施例中,与由软件构成的功能相同的功能还能够使用FPGA(FieldProgrammableGateArray:现场可编程门阵列)、ASIC(ApplicationSpecificIntegratedCircuit:专用集成电路)等硬件实现。这样的方式也包含在本申请专利技术的范围内。专利技术的效果根据本专利技术,能够对源代码内所含的模块,运用关于该模块使用的功能的信息计算功能的不可分度,使用该不可分度判断其是否为能够划分的模块,由此辅助模块级的源可读性提高。上述以外的问题、结构和效果通过以下的实施方式的说明而明了。附图说明图1是表示实施例的硬件结构的例子的框图。图2是表示实施例的例子的功能块图。图3是表示实施例的关键词分类表的例子的图表。图4是表示实施例的按函数关键词使用数据的例子的图表。图5是表本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/201480081121.html" title="模块划分辅助装置、方法和存储介质原文来自X技术">模块划分辅助装置、方法和存储介质</a>

【技术保护点】
一种对源代码中的模块进行划分的模块划分辅助装置,具有输入装置、输出装置、运算装置和存储装置,所述模块划分辅助装置的特征在于:所述运算装置能够使用存储在所述存储装置中的或从所述输入装置输入的关键词分类表和不可分度计算项目列表,所述关键词分类表包含多组关键词和与所述关键词对应的类别的数据的组,所述不可分度计算项目列表包含所述类别中的第一类别与第二类别之间的不可分度计算项目和关于所述不可分度计算项目的计算方法的信息的组,所述运算装置包括源代码取得部、关键词取得部、数据分析部和模块划分判断部,所述源代码取得部取得存储在所述存储装置中的或从所述输入装置输入的一组源代码和作为可视化对象的源代码,所述关键词取得部按所述一组源代码中的每个模块确定该模块中所含的所述关键词来生成按模块的关键词使用数据,所述数据分析部使用存储在所述不可分度计算项目列表中的所述计算方法、存储在所述按模块的关键词使用数据中的数据和关于与所述关键词分类表中所含的关键词对应的类别的信息,对第一类别和第二类别计算不可分度,生成不可分度数据,所述模块划分判断部确定存在于所述作为可视化对象的源代码中的各模块内的所述关键词,并确定所述各模块中的、具有与第一类别和第二类别对应的关键词的组的模块,其中第一类别和第二类别具有低于规定阈值的所述不可分度。...

【技术特征摘要】
【国外来华专利技术】1.一种对源代码中的模块进行划分的模块划分辅助装置,具有输入装置、输出装置、运算装置和存储装置,所述模块划分辅助装置的特征在于:所述运算装置能够使用存储在所述存储装置中的或从所述输入装置输入的关键词分类表和不可分度计算项目列表,所述关键词分类表包含多组关键词和与所述关键词对应的类别的数据的组,所述不可分度计算项目列表包含所述类别中的第一类别与第二类别之间的不可分度计算项目和关于所述不可分度计算项目的计算方法的信息的组,所述运算装置包括源代码取得部、关键词取得部、数据分析部和模块划分判断部,所述源代码取得部取得存储在所述存储装置中的或从所述输入装置输入的一组源代码和作为可视化对象的源代码,所述关键词取得部按所述一组源代码中的每个模块确定该模块中所含的所述关键词来生成按模块的关键词使用数据,所述数据分析部使用存储在所述不可分度计算项目列表中的所述计算方法、存储在所述按模块的关键词使用数据中的数据和关于与所述关键词分类表中所含的关键词对应的类别的信息,对第一类别和第二类别计算不可分度,生成不可分度数据,所述模块划分判断部确定存在于所述作为可视化对象的源代码中的各模块内的所述关键词,并确定所述各模块中的、具有与第一类别和第二类别对应的关键词的组的模块,其中第一类别和第二类别具有低于规定阈值的所述不可分度。2.如权利要求1所述的模块划分辅助装置,其特征在于:所述类别是所述关键词所关联的功能名称,所述数据分析部计算所述第一类别与第二类别的关联度或所述第一类别与第二类别的使用顺序的比例来作为所述不可分度。3.如权利要求1所述的模块划分辅助装置,其特征在于:所述模块划分判断部将从所述输入装置输入的阈值或所述不可分度计算项目列表的各信息的组所附带的阈值用作所述规定阈值。4.如权利要求1所述的模块划分辅助装置,其特征在于:所述模块划分判断部,在与所述作为可视化对象的源代码中的各模块中的一个模块所含有的关键词对应的类别彼此的不可分度全部低于所述规定阈值的情况下,将该模块判断为可划分的模块,并将除此以外的模块判断为不可划分的模块。5.如权利要求1所述的模块划分辅助装置,其特征在于:为了筛选所述作为可视化对象的源代码中的模块,能够使用定义了筛选条件的模块筛选判断列表,所述模块划分判断部对符合所述筛选条件的模块进行确定所述模块的处理。6.一种使用输入装置、输出装置、运算装置和存储装置来对源代码中的模块进行划分的模块划分辅助方法,其特征在于:所述运算装置能够使用存储在所述存储装置中的或从所述输入装置输入的关键词分类表和不可分度计算项目列表,所述关键词分类表包含多组关键词和与所述关键词对应的类别的数据的组,所述不可分度计算项目列表包含所述类别中的第一类别与第二类别之间的不可分度计算项目和关于所述不可分度计算项目的计算方法的信息的组,所述运算装置包括源代码取得部、关键词取得部、数据分析部和模块划分判断部,所述源代码取得部取得存储在所述存储装置中的或从所述输入装置输入的一组源代码和作为可视化对象的源代码,所述关键词取得部按所述一组源代码中的每个模块确定该模块中所含的所述关键词来生成按模块的关键词使用数据,所述数据分析部使用存储在所述不可分度计算项目列表中的所述计算方法、存储在所述按模块的关键词使用数据中的数据和关于与所述关键词分类表中所含的关键词对应的类别的信息,对第一类别和第二类别计算不可分度,生成不可分度数据,所述模块划分判断部确定存在于所述作为可视化对象的源代码中的各模块内的所述关键词,并确定所述各模块...

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

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

1