[发明专利]一种基于WordNet的程序可读性分析方法有效
申请号: | 201410157340.5 | 申请日: | 2014-04-18 |
公开(公告)号: | CN103927179B | 公开(公告)日: | 2017-02-15 |
发明(设计)人: | 孙小兵;刘杨超;朱俊武;李云 | 申请(专利权)人: | 扬州大学 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 南京苏科专利代理有限责任公司32102 | 代理人: | 董旭东 |
地址: | 225009 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了软件工程领域内的一种基于WordNet的程序可读性分析方法,包括如下步骤1)按照包名‑类名‑方法名的项目结构遍历出每个方法体,并且以包名_类名_方法名的形式标注;2)去除警示注释(通常出现在测试用例中,用于警告程序员会出现某种严重后果),TODO注释(是一种程序员认为应该做,而由于某些原因目前还没有做的工作);3)将注释分为短注释和长注释;4)对长注释进行预处理,并且用WordNet提取出注释的主题词;5)对注释映射的代码段用WordNet提取代码的主题词;6)对整个项目生成程序可读性分析树,并形成最终的分析数据,本发明有利于后期维护人员对陌生项目的理解,可用于软件的维护开发中。 | ||
搜索关键词: | 一种 基于 wordnet 程序 可读性 分析 方法 | ||
【主权项】:
一种基于WordNet的程序可读性分析方法,其特征在于,包括以下步骤:步骤1) 按项目结构遍历出每个方法体,以包名_类名_方法名的形式标注,标注分为对注释的标注和对代码的标注;步骤2)去除警示注释和TODO注释;步骤3)将注释分为短注释和长注释,分类方法如下:短注释提取条件为:无“.”结尾的短语或者词数少于8个words的短句,并且代码长度控制在1到6行;除此之外的注释则为长注释;标记符合短注释条件的代码段及其注释,作为找出的不推荐加注释部分,对于不符合短注释条件的,放入步骤4和长注释一起分析;步骤4)对长注释进行预处理,并且用WordNet提取出注释的主题词,具体方法如下:a)分类:按照方法函数是否有返回值对长注释进行分类,有返回值的称为描述代码意图的注释Vn类,无返回值的称为提供描述信息的注释V类;b)预处理:对Vn类和V类注释进行预处理,分为三个步骤:注释语句处理(Tokenization),去除if条件句,过去时态的语句,Vn类注释用WordNet分析时要添加方法体中return的注释段;去除停用词(Stop‑word Removal),去除注释关键字,注释关键字为常用的定冠词the、an;分词(Stemming),将注释语句拆分成单词块,利用WordNet接口将单词转换形态;c)提词:用WordNet对两种类型的注释提取主题词,Vn类注释提取动词和名词,v类注释提取动词;步骤5)对长注释映射的代码段用WordNet提取代码的主题词,具体方法如下:a)Vn类注释映射的代码段抽取方法函数名,参数名,变量名,常数名和返回值名字,利用WordNet和代码书写的驼峰写法进行分词,去除常用定冠词,最后利用wordNet提取出动词和名词;b)V类注释映射的代码段抽取方法的函数名,参数名,变量名,常数名和返回值名字,利用WordNet和代码书写的驼峰写法进行分词,去除常用定冠词,最后利用wordNet提取出动词;步骤6)对整个项目生成程序可读性分析树,并形成最终的分析数据;具体方法如下:按照项目目录,用WordNet对所有的注释‑代码进行主题词匹配,匹配成功则为‑1型,不成功则为1型或者2型,缺少匹配项的为0型;其中1型注释是针对于v类生成的必须修改的注释,2型注释是针对于vn类生成的必须修改的注释,0型注释归纳为需要注意的注释,并且生成程序可读性分析树,标注包,类下的注释准确率。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于扬州大学,未经扬州大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410157340.5/,转载请声明来源钻瓜专利网。