预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共43页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN110618926A(43)申请公布日2019.12.27(21)申请号201910378645.1(22)申请日2019.05.08(30)优先权数据2018-1160662018.06.19JP(71)申请人歌乐株式会社地址日本埼玉县(72)发明人堀旭宏市井诚利国爱川上真澄(74)专利代理机构北京尚诚知识产权代理有限公司11322代理人龙淳池兵(51)Int.Cl.G06F11/36(2006.01)权利要求书1页说明书17页附图24页(54)发明名称源代码分析方法和源代码分析装置(57)摘要本发明提供源代码分析方法和源代码分析装置。其提示源代码中包括的应当分割的程序要素。处理器(11)基于源代码(13B)来计算代码度量,基于代码度量来计算LongMethodScore,基于代码度量来计算维护性指标,基于LongMethodScore来确定应当分割的程序要素,基于子反面模式定义信息,将应当分割的程序要素分类为子反面模式,基于改善类目信息来提示源代码的改善位置。CN110618926ACN110618926A权利要求书1/1页1.一种源代码分析方法,其特征在于:代码度量获取部对具有多个程序要素的源代码进行分析而生成关于程序要素的长度和复杂度的代码度量;提交信息获取部获取关于所述程序要素的变更历史的提交信息;评分计算部基于所述代码度量和所述提交信息,计算所述程序要素的评分;维护性指标计算部基于所述代码度量,计算所述程序要素的维护性指标;列表生成部基于所述评分和所述维护性指标,生成作为要分割为多个的候选的所述程序要素的列表。2.如权利要求1所述的源代码分析方法,其特征在于:所述评分是LongmethodScore。3.如权利要求1所述的源代码分析方法,其特征在于:所述列表生成部使用评分阈值或/和维护性指标阈值,生成所述列表。4.如权利要求3所述的源代码分析方法,其特征在于:条件设定部输出具有所述评分或维护性指标的轴和与所述评分或维护性指标相符的程序要素数的轴的图,从用户处接受所述评分阈值或/和维护性指标阈值的设定。5.如权利要求4所述的源代码分析方法,其特征在于:所述图是能够辨认所述评分和所述维护性指标两者的图。6.如权利要求1所述的源代码分析方法,其特征在于:所述评分计算部进而使用关于各程序要素的错误发生的错误历史信息,计算所述程序要素的评分。7.如权利要求6所述的源代码分析方法,其特征在于:所述错误历史信息中包括错误的原因,所述评分计算部进而使用规定了所述错误原因中可能包括的特定的词语的可读性降低词语条件,计算所述程序要素的评分。8.如权利要求1所述的源代码分析方法,其特征在于:具有定义了子反面模式的子反面模式定义信息,子反面模式分类部基于所述评分、所述源代码、所述代码度量,生成将所述评分中记载的程序要素分类为子反面模式的子反面模式列表。9.如权利要求8所述的源代码分析方法,其特征在于:改善位置映射部基于所述子反面模式列表和改善类目,生成表示出了改善位置的源代码。10.一种源代码分析装置,其特征在于,包括:代码度量获取部,其对具有多个程序要素的源代码进行分析而生成关于程序要素的长度和复杂度的代码度量;提交信息获取部,其获取关于所述程序要素的变更历史的提交信息;评分计算部,其基于所述代码度量和所述提交信息,计算所述程序要素的评分;维护性指标计算部,其基于所述代码度量,计算所述程序要素的维护性指标;和列表生成部,其基于所述评分和所述维护性指标,生成作为要分割为多个的候选的所述程序要素的列表。2CN110618926A说明书1/17页源代码分析方法和源代码分析装置技术领域[0001]本发明涉及源代码分析方法和源代码分析装置。背景技术[0002]在近年来的软件开发中,通过对已开发的母体软件进行扩展或变更而开发新的软件的衍生开发是主流。在软件的衍生开发中,因长年反复进行功能的扩展或变更,软件复杂化,源代码的可读性容易降低。为了解决这样的状况,一般进行软件的重构。重构是指不改变软件的动作地变更其内部结构。如果对维护性低的方法、类、文件等程序构成要素(下面称为程序要素)适当地进行重构,则软件会变得容易扩展或变更。[0003]支持重构的技术中有反面模式。反面模式是将维护性低的程序要素具有的特征(下面称为问题特征)与具有该问题特征的程序要素的重构方法的模式组合而成的。在重构对象软件中,如果能够确定具有如反面模式所示的问题特征的程序要素,则能够通过应用反面模式来进行重构。[0004]专利文献1中记载了一种方法,根据源代码、结构管理系统或运转日志来计测度量,评价源代码是否与反面模式相符。从而,能够不提取不需要重构的复杂的源代码,而确定真正需要重构的源代码。[0005]现