-
题名基于变更块的代码重构模式展示—以抽取方法为例
被引量:1
- 1
-
-
作者
石伟
杨春花
-
机构
齐鲁工业大学(山东省科学院)计算机科学与技术学院
-
出处
《智能计算机与应用》
2019年第3期85-88,共4页
-
文摘
代码变更的理解一般基于文本差异化工具,其处理输出的基本对象是一个变更块(hunk)。许多重构都掺杂在日常的bug修改、功能特征的增加等代码变更中,将重构与其它工作隔离有利于对代码变更的理解。现有的代码可视化方法仅展示变更文本,未进行代码变更前后重构模式的展示,没有发挥出可视化技术的优越性。本文基于变更块对代码重构模式进行展示,以抽取方法为例,在4个开源项目中进行实验,并取得了理想的展示效果。
-
关键词
变更块
重构
抽取方法
重构模式展示
-
Keywords
hunk
refactoring
extract method
refactoring pattern display
-
分类号
TP311.5
[自动化与计算机技术—计算机软件与理论]
-
-
题名基于代码变更块和抽象语法树的两种重构模式识别
- 2
-
-
作者
张志浩
杨春花
-
机构
齐鲁工业大学(山东省科学院)计算机科学与技术学院
-
出处
《智能计算机与应用》
2019年第3期146-150,共5页
-
基金
国家自然科学基金(61502259)
-
文摘
内联函数(Inline method)和替换算法(Substitute algorithm)是2种在代码重构中常用的重构手法,本文提出一种基于代码变更块和抽象语法树的重构模式识别算法,首先筛选出变更前后2个文件的代码变更块,找到可能属于这2种重构模式的代码变更块,再建立抽象语法树对这些变更块中的代码进行准确的语法分析,对其是否属于此2种模式进行判定。该算法在4个开源项目上进行了实验验证,表明了其具有较高的准确率。
-
关键词
重构模式
抽象语法树
代码变更块
内联函数
替换算法
-
Keywords
refactoring pattern
abstract syntax tree
hunk
Inline method
Substitute algorithm
-
分类号
TP311.5
[自动化与计算机技术—计算机软件与理论]
-
-
题名一种语句分裂变更模式的分类框架
- 3
-
-
作者
段卫华
杨春花
-
机构
齐鲁工业大学(山东省科学院)计算机科学与技术学院
-
出处
《智能计算机与应用》
2020年第3期132-137,共6页
-
基金
山东省自然科学基金面上项目(ZR2017MF056)。
-
文摘
语句分裂变更模式是一种常见的将一条代码语句分裂成多条语句的代码变更模式,该模式有多种呈现形式,而不同的呈现形式又可能对应不同的变更目的。提出一种分类框架,从分裂语句的类型、语句变更的行为和新增语句类型三个维度对该模式进行分类,并设计了基于该框架的分类算法。最后,将该算法应用于4个开源项目,对其中所包含的语句分裂变更模式进行了分类和分析,实验结果呈现出较高的分类准确率。
-
关键词
软件演化
语句分裂变更模式
分类框架
代码变更块
-
Keywords
software evolution
statement split change pattern
classification framework
Hunk
-
分类号
TP391
[自动化与计算机技术—计算机应用技术]
-
-
题名语句分裂变更模式的定义及识别
- 4
-
-
作者
段卫华
杨春花
-
机构
齐鲁工业大学计算机科学与技术学院
-
出处
《智能计算机与应用》
2020年第4期13-16,21,共5页
-
基金
山东省自然科学基金面上项目(ZR2017MF056)
-
文摘
替换算法是一种常见的函数层面的重构手法,而日常代码变更中更为多见的是一种将替换算法变更思想应用于更为广泛的代码语句层面的代码变更模式。本文将这种代码变更模式命名为语句分裂变更模式,在对存在该模式的代码变更实例进行人工分析的基础上,给出了该模式的定义,并设计了一种对该模式的识别算法。该算法根据语句分裂变更模式的语法特征对其进行识别,并在4个开源项目上进行了实验验证,实验结果表明了该算法具有较高的识别准确率。
-
关键词
软件演化
模式识别
抽象语法树
代码变更块
-
Keywords
Software evolution
Pattern recognition
Abstract syntax tree
Hunk
-
分类号
TP391
[自动化与计算机技术—计算机应用技术]
-
-
题名代码重构展示系统的设计与实现
被引量:1
- 5
-
-
作者
石伟
杨春花
-
机构
齐鲁工业大学(山东省科学院)计算机科学与技术学院
-
出处
《智能计算机与应用》
2019年第4期75-78,共4页
-
文摘
代码重构普遍存在于软件的开发维护过程中,将重构从代码变更中检测并提取出来有利于对变更的理解.针对重构可视化研究方面的欠缺,本文设计了一个代码重构展示系统,实现了基于变更块的代码重构展示.通过该展示系统使代码变更中存在的重构模式变得更加简单、直观,便于用户对代码变更的分析、理解.
-
关键词
代码重构
变更块
展示系统
-
Keywords
code refactoring
hunk
display system
-
分类号
TP311.5
[自动化与计算机技术—计算机软件与理论]
-
-
题名语句包裹模式的识别和分类
- 6
-
-
作者
于永胜
杨春花
-
机构
齐鲁工业大学(山东省科学院)计算机科学与技术学院
-
出处
《智能计算机与应用》
2020年第3期175-179,182,共6页
-
基金
山东省自然科学基金面上项目(ZR2017MF056)。
-
文摘
软件演化过程中会产生大量变更代码,对变更代码的识别有利于变更理解。其中普遍存在的把一个语句或语句序列移动到一个或多个不同的语法实体中的变更行为,对于这种语句包裹模式的识别和分类,提出了基于代码变更块和抽象语法树的语句包裹模式识别分类算法。首先从变更前后版本2个文件中筛选出代码变更块,根据语句包裹模式的特征找到候选代码变更块,再建立抽象语法树,通过语法分析找到代码变更块中存在的语句包裹模式并对其进行分类。该算法在4个开源项目中进行了实验验证,实验结果表明该算法对语句包裹模式的识别具有较高的准确率。
-
关键词
语句包裹模式
软件演化
抽象语法树
代码变更块
-
Keywords
statement encapsulation pattern
software evolution
abstract syntax tree
code change block
-
分类号
TP391
[自动化与计算机技术—计算机应用技术]
-