[发明专利]源代码分析方法和源代码分析装置在审

专利信息
申请号: 201910378645.1 申请日: 2019-05-08
公开(公告)号: CN110618926A 公开(公告)日: 2019-12-27
发明(设计)人: 堀旭宏;市井诚;利国爱;川上真澄 申请(专利权)人: 歌乐株式会社
主分类号: G06F11/36 分类号: G06F11/36
代理公司: 11322 北京尚诚知识产权代理有限公司 代理人: 龙淳;池兵
地址: 日本*** 国省代码: 日本;JP
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 源代码 程序要素 代码度量 源代码分析 分割 提示 改善位置 维护性 处理器 类目 分类
【说明书】:

本发明提供源代码分析方法和源代码分析装置。其提示源代码中包括的应当分割的程序要素。处理器(11)基于源代码(13B)来计算代码度量,基于代码度量来计算Long Method Score,基于代码度量来计算维护性指标,基于Long Method Score来确定应当分割的程序要素,基于子反面模式定义信息,将应当分割的程序要素分类为子反面模式,基于改善类目信息来提示源代码的改善位置。

技术领域

本发明涉及源代码分析方法和源代码分析装置。

背景技术

在近年来的软件开发中,通过对已开发的母体软件进行扩展或变更而开发新的软件的衍生开发是主流。在软件的衍生开发中,因长年反复进行功能的扩展或变更,软件复杂化,源代码的可读性容易降低。为了解决这样的状况,一般进行软件的重构。重构是指不改变软件的动作地变更其内部结构。如果对维护性低的方法、类、文件等程序构成要素(下面称为程序要素)适当地进行重构,则软件会变得容易扩展或变更。

支持重构的技术中有反面模式。反面模式是将维护性低的程序要素具有的特征(下面称为问题特征)与具有该问题特征的程序要素的重构方法的模式组合而成的。在重构对象软件中,如果能够确定具有如反面模式所示的问题特征的程序要素,则能够通过应用反面模式来进行重构。

专利文献1中记载了一种方法,根据源代码、结构管理系统或运转日志来计测度量,评价源代码是否与反面模式相符。从而,能够不提取不需要重构的复杂的源代码,而确定真正需要重构的源代码。

现有技术文献

专利文献

专利文献1:日本特开2016-143107号公报

发明内容

发明要解决的技术问题

但是,在专利文献1的方法中,使用对源代码进行程序分析而得到的程序要素的特征量(下面称为代码度量)来判断该程序要素是否与反面模式相符,在相符的情况下将该程序要素与重构流程和优先度一同提示。但是,提示的重构流程是对于每个反面模式预先设定的程序要素全体的修正方针。因此,重构作业者需要自己判断要对程序要素中的哪个位置怎样进行修正,对于重构作业者需要较高的技能。

下面,以Long Method这一反面模式为例进行说明。

Long Method是指用于对具有因为程序要素是过大的方法所以程序要素的可读性低这一问题特征的程序要素进行重构的模式。当程序的可读性低时,程序要素的修正者在修正程序要素时,不仅理解修正对象的程序要素要耗费时间,而且有可能错误地理解修正对象的程序要素的动作而进行了错误的修正。

一般而言,对于与Long Method相符的程序要素存在方法分割这一重构流程。这是通过将过大的方法分割为多个小的方法,以使其与Long Method不相符。

利用专利文献1的方法,能够发现与Long Method相符的程序要素,并将该程序要素与重构流程和优先度一同在画面上提示。但是,关于对Long Method的重构流程,仅限于提示为方法分割,无法提示在方法内的哪个位置进行方法分割即可。因此,重构作业者需要自己判断方法的分割位置,需要较高的技能。

本发明是鉴于上述情况而做出的,其目的在于提供能够提示源代码中包括的应当分割的程序要素的源代码分析方法和源代码分析装置。

用于解决技术问题的手段

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于歌乐株式会社,未经歌乐株式会社许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201910378645.1/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top