[发明专利]设计模式制导的爪哇代码评审方法有效

专利信息
申请号: 201310264462.X 申请日: 2013-06-27
公开(公告)号: CN103279631A 公开(公告)日: 2013-09-04
发明(设计)人: 王林章;何剑涛;赵建华;李宣东;陈志 申请(专利权)人: 南京大学
主分类号: G06F17/50 分类号: G06F17/50
代理公司: 南京瑞弘专利商标事务所(普通合伙) 32249 代理人: 杨晓玲
地址: 210093 江*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明提供了一种设计模式制导的爪哇代码评审方法,用户首先要提供待评审的爪哇(Java)程序的源代码及其设计时信息,对设计时信息中的类图进行分析,提取出设计模式信息,生成设计模式的各个参与角色的对应关系,根据该信息,利用预定义的规则模板,将规则模板实例化为一组应该在代码上满足的约束规则,读入这些规则对待评审的Java源代码的抽象语法树进行分析,判断其实现是否满足了设计时的约束,对于那些不满足约束的情况给出提示。本发明能够自动的对代码进行评审,减少整个评审过程中人工检查代码的工作量,提高代码的评审效率。
搜索关键词: 设计 模式 制导 爪哇 代码 评审 方法
【主权项】:
一种设计模式制导的爪哇代码评审方法,其特征在于该方法包括以下步骤:步骤1、用户提供待评审的爪哇Java源代码及其包括类图的设计时信息;步骤2、分析类图中存在的继承和关联关系,提取出相应的设计模式,将每个设计模式描述成各个类所扮演的角色关系,将这些角色关系提交给用户选取出有效的设计模式;步骤3、用户提供用于Java代码评审的预定义的规则模板,根据有效设计模式的角色关系,用类名以及类的位置信息对规则模板进行实例化,形成与各个类相关的规则;所述预定义的规则模板定义所有适用于设计模式的角色关系的约束,包括以下模板:规则1,继承规则:类的父类或者继承的接口是否满足约束;规则2,关联规则:类是否有满足约束的属性;规则3,参数方法定义规则:类是否有方法的参数满足规则约束;规则4,this参数方法调用规则:类的方法内部是否用参数调用带this指针的方法;规则5,同名方法调用规则:类的方法的实现中是否调用了另外一个对象的同名方法;规则6,返回值方法定义规则:类的方法是否有一个方法返回值满足约束;规则7,返回子类方法实现规则:类中返回值为约束描述的方法在实现时是否返回的是返回值的子类;规则8,集合关联规则:类的属性是否有一个集合关联到规则约束描述的类;规则9,接口方法互相调用规则:类是否继承了一个接口方法,在这些继承方法中调用另外一个接口的方法;规则10,引用调用接口方法规则:类继承了一个接口,并且保存一个到另外一个类的引用,在继承的接口方法中,是否用这个引用来调用其方法;规则11,私有构造方法规则:类的构造函数是否是私有的;规则12,参数构造方法定义规则:类的构造函数是否定义了满足参数约束 的构造函数;规则13,内部类规则:类是否为一个内部类;步骤4、读入与实例化后形成的规则相关的类对应的待评审Java源代码,建立这些类的抽象语法树,根据语法树对上述规则进行匹配,检查类是否满足规则的约束,如果不满足,告诉用户待评审的Java源代码不满足哪些规则,所述抽象语法树是Java源代码的抽象语法结构的树状表现形式,树上的每个节点都表示源代码中的一种结构,根据预定义的规则模板,针对设计模式中类a与类b之间角色关系,对实例化形成的规则评审后给出的结果如下:规则1、类a未继承类b;规则2、类a未关联类b;规则3、类a未定义参数为b的方法;规则4、类a未在方法m内用this参数调用类b的方法;规则5、类a在方法m内未调用类b中同名的方法;规则6、类a未定义返回值为类b的方法;规则7、类a在返回值为类b的方法m内未返回一个类b的子类;规则8、类a未关联一个类b的集合;规则9、类a未在继承于类b的方法内调用继承于类c的方法;规则10:类a未在继承于类b的方法内用一个类c的变量调用类c的方法;规则11、类a存在一个非私有的构造函数;规则12、类a未定义一个以类b为参数的构造函数;规则13、类a不是类b的内部类;所述类a、类b和类c均为Java类的名称。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

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

本文链接:http://www.vipzhuanli.com/patent/201310264462.X/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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