-
公开(公告)号:CN104572471B
公开(公告)日:2017-10-03
申请号:CN201510043006.1
申请日:2015-01-28
Applicant: 杭州电子科技大学
Abstract: 本发明公开了一种基于索引的Java软件代码克隆检测方法。本发明采用缓存代码段信息和内存索引比较相结合的策略,在克隆检测方法初启动时,预先将每个源文件的代码段信息存储在内存索引和中,之后利用时间复杂度为的索引查找方法进行内存比较。该方法通过缓存代码段信息解决了传统方法每次运行克隆检测时都需要重建数据结构造成的低效率的问题,通过基于内存索引比较的方式有效解决了传统方法由于两两比较所带来的时间开销较大的问题。
-
公开(公告)号:CN105808249A
公开(公告)日:2016-07-27
申请号:CN201610120980.8
申请日:2016-03-03
Applicant: 杭州电子科技大学
IPC: G06F9/44
CPC classification number: G06F8/30
Abstract: 本发明公开了一种基于快速搜索序列的结构型设计模式实例挖掘方法,该方法首先构建一个用于形式化定义设计模式的通用模型,然后将结构型设计模式的形式化定义和待挖掘的软件源码转化为用三元组表示的类关系图;再遍历结构型设计模式的类关系图CRGd,构建其快速搜索序列,最后找出待挖掘的软件源码所包含的所有结构型设计模式实例。本发明可以优先过滤大量不满足条件的子图,减少挖掘过程的搜索空间,从而提高挖掘过程的执行效率。
-
公开(公告)号:CN105808249B
公开(公告)日:2019-06-11
申请号:CN201610120980.8
申请日:2016-03-03
Applicant: 杭州电子科技大学
IPC: G06F16/2458
Abstract: 本发明公开了一种基于快速搜索序列的结构型设计模式实例挖掘方法,该方法首先构建一个用于形式化定义设计模式的通用模型,然后将结构型设计模式的形式化定义和待挖掘的软件源码转化为用三元组表示的类关系图;再遍历结构型设计模式的类关系图CRGd,构建其快速搜索序列,最后找出待挖掘的软件源码所包含的所有结构型设计模式实例。本发明可以优先过滤大量不满足条件的子图,减少挖掘过程的搜索空间,从而提高挖掘过程的执行效率。
-
公开(公告)号:CN104573084A
公开(公告)日:2015-04-29
申请号:CN201510044072.0
申请日:2015-01-28
Applicant: 杭州电子科技大学
IPC: G06F17/30
CPC classification number: G06F17/30292
Abstract: 本发明公开了一种基于子模式的GoF设计模式实例挖掘方法。本发明从GoF定义的23种设计模式的中提取相同的、更易于挖掘的结构——子模式,并使用子模式定义23种设计模式的结构特征模型;使用类关系有向图表示软件系统和子模式,在此基础上利用图同构算法从表示软件系统的类关系有向图中挖掘子模式实例,然后按照设计模式结构特征模型的定义,使用连接类合并特定的子模式实例以生成设计模式实例。本发明中的子模式由于比较简单因此其实例更容易被探测到,同时使用连接类组合不同的子模式实例减少了搜索空间。
-
公开(公告)号:CN104572471A
公开(公告)日:2015-04-29
申请号:CN201510043006.1
申请日:2015-01-28
Applicant: 杭州电子科技大学
Abstract: 本发明公开了一种基于索引的Java软件代码克隆检测方法。本发明采用缓存代码段信息和内存索引比较相结合的策略,在克隆检测方法初启动时,预先将每个源文件的代码段信息存储在内存索引 和中,之后利用时间复杂度为的索引查找方法进行内存比较。该方法通过缓存代码段信息解决了传统方法每次运行克隆检测时都需要重建数据结构造成的低效率的问题,通过基于内存索引比较的方式有效解决了传统方法由于两两比较所带来的时间开销较大的问题。
-
-
-
-