-
公开(公告)号:CN105867906A
公开(公告)日:2016-08-17
申请号:CN201610164659.X
申请日:2016-03-22
Applicant: 东南大学
CPC classification number: G06F8/72 , G06F11/3604
Abstract: 本发明公开了一种面向软件演化的代码可替换性评估方法,对演化原因进行分析与定位,包括以下步骤:根据源代码构造相应的抽象语法树;在抽象语法树上提取表示依赖关系的边,构造出代码耦合关系图;基于程序耦合关系定义一种度量代码可替换性指标,对代码中模块的可替换性进行计算;针对演化版本中代码的可替换性发生改变的包进行分析,识别出导致代码可替换性变化的元素。该发明的评估方法不但可以自动分析源代码,度量代码的可替换性,指出代码中的核心框架,而且对演化过程中发生改变的原因进行分析定位实现了演化评估的自动化。
-
公开(公告)号:CN105867906B
公开(公告)日:2018-11-27
申请号:CN201610164659.X
申请日:2016-03-22
Abstract: 本发明公开了一种面向软件演化的代码可替换性评估方法,对演化原因进行分析与定位,包括以下步骤:根据源代码构造相应的抽象语法树;在抽象语法树上提取表示依赖关系的边,构造出代码耦合关系图;基于程序耦合关系定义一种度量代码可替换性指标,对代码中模块的可替换性进行计算;针对演化版本中代码的可替换性发生改变的包进行分析,识别出导致代码可替换性变化的元素。该发明的评估方法不但可以自动分析源代码,度量代码的可替换性,指出代码中的核心框架,而且对演化过程中发生改变的原因进行分析定位实现了演化评估的自动化。
-
公开(公告)号:CN108509338A
公开(公告)日:2018-09-07
申请号:CN201810221537.9
申请日:2018-03-17
Applicant: 东南大学
IPC: G06F11/36
Abstract: 为了提高软件演化评估的准确性和实用性,本发明提出一种基于多层次变更分析的软件演化评估系统和方法,所述评估系统包括代码解析模块、度量模块、变更检测模块、变更度量映射模块以及演化评估分析模块。该方案通过计算不同抽象层次的变更集,将其与度量指标的演化进行关联映射,计算每个变更操作对该指标演化的贡献度,基于贡献度的排序与筛选结果分析度量指标演化原因和确认后续演化需求。本发明提出的软件演化评估方法具有多层次特性,可以针对软件不同抽象层次进行演化评估分析;本发明提出贡献度的概念,量化了软件演化对度量指标变化的贡献程度,从而更准确地追踪度量指标变化的物理原因。
-
公开(公告)号:CN104077147A
公开(公告)日:2014-10-01
申请号:CN201410332613.5
申请日:2014-07-11
Applicant: 东南大学
IPC: G06F9/44
Abstract: 本发明公开了一种基于代码克隆自动检测和及时提醒的软件复用方法,首先,利用词法生成器工具生成Java词法分析器。其次,后台监督器如果监视到当前编辑区代码有修改,则将当前编辑区代码段和已开发的代码输入Java词法分析器,并按照转换规则生成源代码文件对应的token值,并将这些token连接成一个Token序列,存储在一维数组中,然后,采用倍增算法或DC3算法构建后缀数组和名次数组以及生成最长公共前缀数组。最后,从最长公共前缀数组中过滤无意义的代码片段,如果仍存在代码克隆,则在集成开发环境中提醒用户复用或重构这些代码克隆。本发明方法实现了用户边开发,后台监督器边检测源代码的功能。
-
-
-