[发明专利]源程序分析系统、源程序分析方法和记录有程序的非瞬时记录介质在审
| 申请号: | 201480019304.0 | 申请日: | 2014-03-24 |
| 公开(公告)号: | CN105122208A | 公开(公告)日: | 2015-12-02 |
| 发明(设计)人: | 坂本久 | 申请(专利权)人: | 日本电气方案创新株式会社 |
| 主分类号: | G06F9/44 | 分类号: | G06F9/44 |
| 代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 李兰;孙志湧 |
| 地址: | 日本*** | 国省代码: | 日本;JP |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 源程序 分析 系统 方法 记录 程序 瞬时 介质 | ||
技术领域
本公开涉及源程序分析系统,源程序分析方法以及记录程序的非瞬时记录介质
背景技术
如今,许多公司和组织都在利用大规模计算机系统用于各种目的。当运行大规模计算机系统时,有必要执行维护工作,诸如修复操作中的软件的错误,和加入需要的功能。利用计算机系统的公司和组织需要准确地识别这种维护工作的成本。
从代码克隆的位置或数量估计软件维护成本的技术是已知的。代码克隆是指在程序的源代码上创建的部分副本。已知的是,在一般情况下,大量代码克隆的存在导致软件的维护性能下降。这是因为,例如,当在代码克隆中发现错误时,开发者得审查具有相同内容的每个代码克隆是否被修复,以消除错误。特别是,在一个大规模系统中,它需要巨大人力来审查软件包含的所有代码克隆。
关于代码克隆的检测迄今已进行了各种研究。非专利文献1将代码克隆分为以下三种类型。类型1包括除了空格、括号等之外完全匹配的代码克隆。类型2包括仅保留字的一部分彼此不同的代码克隆,保留字的一部分例如用户定义名称(诸如变量名、标签名称和程序名称)和变量的类型。类型3包括类型2的那些代码克隆,但是在其中,已经插入、删除或修改了句子。非专利文献1公开了检测类型1和类型2的代码克隆的技术。
非专利文献2公开了一种用于检测代码克隆的系统和软件。通过非专利文献2所公开的软件(CCFinderX)在词汇方面分析要处理的源程序,并且检测包含在源程序中的代码克隆。该软件能够检测类型1和类型2的代码克隆。
专利文献1公开了一种相对于每个函数检测代码克隆和评估代码克隆之间的相似性的系统。根据专利文献1的系统相对于每个函数分析源程序,并且检测满足用户指定的相似度检测标准的代码克隆。用户可以指示检测完全匹配(类型1)的代码克隆,或部分彼此不同(类型2或类型3)的代码克隆。根据专利文献1的系统还可以根据两个角度评价检测到的代码克隆,这两个角度是对应源代码是否匹配和函数接口是否相同,并且根据评估结果将代码克隆分为四类。通过查找类别,用户可以发现,例如,是否存在仅函数接口不同的其它代码克隆,或者是否存在相同源代码的其它代码克隆,这对于代码克隆的再利用是有用的。
引文列表
专利文献
专利文献1:未审查日本专利申请公开号2012-164211
非专利文献
非专利文献1:YoshikiHIGO、ShinjiKUSUMOTO和KatsuroINOUE,“代码克隆检测的调查及其相关技术”电子信息通信学会论文学报D,VOL.J91-D,No6(2008),pp.1465-1481.
非专利文献2:CCFinder主页(URL:http://www.ccfinder.net)
发明内容
技术问题
上述文献公开的技术缺点在于:用于计算其中已经插入、删除或修改了句子的代码克隆的维护成本的有效信息。
更详细说来,非专利文献1和2没有提供检测其中已经插入、删除或修改了句子的代码克隆的技术。当开发者复制源程序的一部分以在软件开发中再利用该部分时,复制的部分更经常被修改,而不是按原样利用。因此,当要修改或改进软件时,类型3的代码克隆也必须作为目标包含。从此观点出发,根据非专利文献1和2的技术的代码克隆检测是不够的。此外,非专利文献1和2不提供评估检测到的代码克隆的相似度和可维护性的技术。因此,根据所引用的文献的技术不能提供这样的信息,该信息作为用于估计检测到的代码克隆的维护工作的成本的指标。
尽管根据专利文献1的技术允许相对于每个函数检测代码克隆,但是部分包含在函数中的代码克隆无法被检测到。在软件的维护中,常常需要修改部分包含在函数中的代码克隆,在这种情况下,根据专利文献1的技术无法输出足够的信息。此外,无法分析没有函数的程序语言所描述的源程序。另外,根据专利文献1的系统根据两个角度评估检测到的代码克隆,即对应的源代码是否匹配和函数接口是否相同。然而,基于这两个角度的指标仅指示代码克隆之间的相似程度,却无法指示代码克隆中的哪一个应该被修改为何种程度,来修改或改进软件。因此,根据专利文献1的技术不能提供用于计算软件的维护成本的有效信息。
已经针对上述问题完成本公开,一个目的是提供源程序分析系统和源程序分析方法,其能够检测已经插入、删除或修改了句子的代码克隆,并且基于检测到的代码克隆输出用于计算程序的维护成本的有效信息,以及提供记录程序的非瞬时记录介质。
技术方案
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于日本电气方案创新株式会社,未经日本电气方案创新株式会社许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201480019304.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种亚克力昆虫饲养笼
- 下一篇:一种新型的便携式密闭微型观赏水族容器





