[发明专利]一种基于WordNet的程序可读性分析方法有效

专利信息
申请号: 201410157340.5 申请日: 2014-04-18
公开(公告)号: CN103927179B 公开(公告)日: 2017-02-15
发明(设计)人: 孙小兵;刘杨超;朱俊武;李云 申请(专利权)人: 扬州大学
主分类号: G06F9/44 分类号: G06F9/44
代理公司: 南京苏科专利代理有限责任公司32102 代理人: 董旭东
地址: 225009 江*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 wordnet 程序 可读性 分析 方法
【说明书】:

技术领域

发明涉及一种程序分析方法,特别涉及一种程序可读性分析方法,属于软件工程领域。

背景技术

程序可读性分析是软件开发和维护中用于评估软件易维护性和易修改性的一个重要指标,方便开发人员修改代码和注释必不可少的环节。现有的程序可读性分析一般利用开发语言所提供的开发文档和API对项目中不理解的代码段进行脱离实际情景的解释,或者是在开发前由开发团队拟定的代码编写规范性进行编码的代码书写规范方面的可读性分析。而在实际编程实践中,注释和开发文档才是程序员理解项目的主要突破口。真正难以理解的是不同人员对同一段代码的注释和分析。整个项目不同模块的转移和改变,小段代码的修改和变更,开发人员变动都会造成开发人员难以理解原有代码。这也就使得程序的可读性分析成为了一个项目是否有利于开发人员开发维护和理解的重要环节。所以本发明从注释能否描述代码的真正意图进行程序的可读性分析。

随着软件的不断演化,代码的不断修改和迁移,原有的注释是否能帮助开发人员准确理解一个项目是一个项目能否进行顺利修改的关键因素。传统的主题模型方法很难对细小的方法体和类文件进行局部的准确性分析,而WordNet所提供的本体库和优秀的同义词匹配和主题词提取技术则为研究程序的可读性分析带来的巨大的好处。WordNet是一种传统的词典信息与现代计算机技术以及心理语言学研究成果有效结合的一个产物。它是由Princeton大学的Miller等心理学家,语言学家和计算机工程师联合于1985年开始设计的一种基于认知语言学的英语词典。它不同于一般的语言词典,而是由25个独立起始概念,其它名词通过上下位关系与这25个独立起始概念构成的25个独立的层次结构,具有强大的根据人类语义进行同义词匹配的能力。本发明就是充分利用WordNet根据同义词语义匹配能力找出程序中语义描述不正确以及推荐不应该加注释的地方,并对整个程序进行分析,生成程序可读性分析树。

发明内容

本发明的目的是提供一种基于WordNet的程序可读性分析方法,以解决程序可读性分析问题,有利于后期维护人员对陌生项目的理解。

本发明的目的是这样实现的:一种基于WordNet的程序可读性分析方法,包括以下步骤:

步骤1) 按项目结构遍历出每个方法体,以包名_类名_方法名的形式标注,标注分为对注释的标注和对代码的标注;

步骤2)去除警示注释和TODO注释;

步骤3)将注释分为短注释和长注释;

步骤4)对长注释进行预处理,并且用WordNet提取出注释的主题词;

步骤5)对长注释映射的代码段用WordNet提取代码的主题词;

步骤6)对整个项目生成程序可读性分析树,并形成最终的分析数据。

作为本发明的进一步限定,步骤3)中的分类方法如下:短注释提取条件为:无“.”结尾的短语或者词数少于8个words的短句,并且代码长度控制在1到6行;除此之外的注释则为长注释;标记符合短注释条件的代码段及其注释,作为找出的不推荐加注释部分,对于不符合短注释条件的,放入步骤4和长注释一起分析。

作为本发明的进一步限定,步骤4)的具体方法如下:

a)分类:按照方法函数是否有返回值对长注释进行分类,有返回值的称为描述代码意图的注释(vn类),无返回值的称为提供描述信息的注释(v类);

b)预处理:对vn类和v类注释进行预处理,分为三个步骤:

注释语句处理(Tokenization),去除if条件句,过去时态的语句,vn类注释用WordNet分析时要添加方法体中return的注释段;

去除停用词(Stop-word Removal),去除注释关键字,如常用的定冠词the、an等;

分词(Stemming),将注释语句拆分成单词块,利用WordNet接口将单词转换形态;

c)提词:用WordNet对两种类型的注释提取主题词,Vn类注释提取动词和名词,v类注释提取动词。

作为本发明的进一步限定,步骤5)的具体方法如下:

a)Vn类注释映射的代码段抽取方法函数名,参数名,变量名,常数名和返回值名字,利用WordNet和代码书写的驼峰写法进行分词,去除常用定冠词,最后利用wordNet提取出动词和名词;

b)V类注释映射的代码段抽取方法的函数名,参数名,变量名,常数名和返回值名字,利用WordNet和代码书写的驼峰写法进行分词,去除常用定冠词,最后利用wordNet提取出动词。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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