软件重构对回归测试用例的影响及其修复方法研究

基本信息
批准号:61272169
项目类别:面上项目
资助金额:80.00
负责人:刘辉
学科分类:
依托单位:北京理工大学
批准年份:2012
结题年份:2016
起止时间:2013-01-01 - 2016-12-31
项目状态: 已结题
项目参与者:陈英,刘如娟,张继,李方方,毛煜,邵琳琳,罗悦,郭雪
关键词:
重构识别软件重构测试用例修复重构意图回归测试
结项摘要

Software refactoring improves extensibility and maintainability of software systems by restructuring their internal structures. Though software refactoring would not change the external behaviors of software systems, they might make regression tests obsolete (with syntax and runtime errors) or fail. To this end, this project will analyze the impact of software refactoring on regression tests, and try to repair impacted tests. We would first analyze the reasons why tests become obsolete with theoretical analysis and refactoring history analysis. For refactorings recognized by tools (according to logs of refactoring tools or by refactoring identification technologies), we would propose a pattern-based test repairing approach. For refactorings that could not be automatically recognized by tools, we would propose a path-based test repairing approach. With test-driven development, tests should be updated before refactorings could be applied. To this end, we would propose an approach to identify refactoring intent by analyzing changes on tests and bad smells within corresponding production code. The research would help to reduce software refactoring cost, and improve the reliability of software refactoring.

软件重构通过调整软件的内部结构以提高软件的可扩展性和可维护性。虽然重构不得改变软件的外部行为特性,但它却有可能导致回归测试的失效(编译错误或运行错误)或失败(运行结果与预期不符)。为此,本项目计划研究软件重构对回归测试的影响,并尝试自动修复受损测试用例。通过理论分析及重构历史挖掘,对测试用例失效或失败的原因进行分析和归类,进而明确各种软件重构对测试用例的影响模式。针对工具可识别的软件重构(根据重构工具的记录或借助重构识别技术),计划采用基于模式的测试用例修复方法。对于难以准确识别的软件重构,计划研究基于执行路径的测试用例修复方法。在测试驱动的开发模式下,程序员必须先修改测试用例之后再实施重构操作。为此,计划通过挖掘测试用例的修改情况以及被测程序内的代码坏味,推测用户的重构意图,进而自动完成测试用例的修改及软件重构操作。本项目的研究将有助于降低软件重构的成本并提高重构的可靠性。

项目摘要

软件重构是提高软件的可扩展性和可维护性的一个重要手段。虽然重构不得改变软件的外部行为特性,但它却有可能导致回归测试的失效(编译错误或运行错误)或失败(运行结果与预期不符)。为了明确软件重构对回归测试的影响并实现测试用例的自动修复,本项目研究分析了测试用例失效的原因以及软件重构对软件接口的影响,明确了不同类型的软件重构对回归测试用例修的影响模式;研究分析面向软件重构的测试用例修复问题,提出了基于模板的测试用例修复方法;研究了测试驱动下的软件重构,提出了基于测试用例的重构意图捕获方法;研究分析了智能化软件重构机会推荐问题,提出了基于相似性的重构扩展方法;研究了代码坏味检测问题,提出了面向代码坏味检测的阈值优化方法。课题组还设计并实施相关实验,初步证明了以上研究成果的有效性。以上研究成果对于深入理解软件重构与回归测试具有重要意义。基于理论研究成果研发的相关工具也较大幅度地提高了软件重构的自动化水平以及软件重构的效率和效果。相关研究成果发表于国内外一流学术期刊与学术会议。在软件工程领域的顶级国际期刊IEEE Transactions on Software Engineering上发表论文3篇;在软件工程领域顶级国际会议IEEE/ACM International Conference on Software Engineering(ICSE)发表论文1篇,在重要国际SCI期刊与主流国际会议发表论文6篇;在国内一级学报发表论文1篇,获得2016年IET Premium Award 等重要学术奖励。

项目成果
{{index+1}}

{{i.achievement_title}}

{{i.achievement_title}}

DOI:{{i.doi}}
发表时间:{{i.publish_year}}

暂无此项成果

数据更新时间:2023-05-31

其他相关文献

1

基于LASSO-SVMR模型城市生活需水量的预测

基于LASSO-SVMR模型城市生活需水量的预测

DOI:10.19679/j.cnki.cjjsjj.2019.0538
发表时间:2019
2

居住环境多维剥夺的地理识别及类型划分——以郑州主城区为例

居住环境多维剥夺的地理识别及类型划分——以郑州主城区为例

DOI:10.11821/dlyj201810008
发表时间:2018
3

基于细粒度词表示的命名实体识别研究

基于细粒度词表示的命名实体识别研究

DOI:10.3969/j.issn.1003-0077.2018.11.009
发表时间:2018
4

基于协同表示的图嵌入鉴别分析在人脸识别中的应用

基于协同表示的图嵌入鉴别分析在人脸识别中的应用

DOI:10.3724/sp.j.1089.2022.19009
发表时间:2022
5

适用于带中段并联电抗器的电缆线路的参数识别纵联保护新原理

适用于带中段并联电抗器的电缆线路的参数识别纵联保护新原理

DOI:10.19783/j.cnki.pspc.200521
发表时间:2021

刘辉的其他基金

批准号:11873027
批准年份:2018
资助金额:63.00
项目类别:面上项目
批准号:81560042
批准年份:2015
资助金额:40.00
项目类别:地区科学基金项目
批准号:39670273
批准年份:1996
资助金额:8.00
项目类别:面上项目
批准号:61672113
批准年份:2016
资助金额:62.00
项目类别:面上项目
批准号:51775040
批准年份:2017
资助金额:60.00
项目类别:面上项目
批准号:81271694
批准年份:2012
资助金额:65.00
项目类别:面上项目
批准号:21106057
批准年份:2011
资助金额:25.00
项目类别:青年科学基金项目
批准号:61772071
批准年份:2017
资助金额:60.00
项目类别:面上项目
批准号:21878320
批准年份:2018
资助金额:65.00
项目类别:面上项目
批准号:51703184
批准年份:2017
资助金额:25.00
项目类别:青年科学基金项目
批准号:21806002
批准年份:2018
资助金额:24.50
项目类别:青年科学基金项目
批准号:40905014
批准年份:2009
资助金额:21.00
项目类别:青年科学基金项目
批准号:31871337
批准年份:2018
资助金额:59.00
项目类别:面上项目
批准号:51402084
批准年份:2014
资助金额:25.00
项目类别:青年科学基金项目
批准号:51701073
批准年份:2017
资助金额:24.00
项目类别:青年科学基金项目
批准号:81101384
批准年份:2011
资助金额:23.00
项目类别:青年科学基金项目
批准号:30770724
批准年份:2007
资助金额:25.00
项目类别:面上项目
批准号:21706187
批准年份:2017
资助金额:24.00
项目类别:青年科学基金项目
批准号:51375047
批准年份:2013
资助金额:83.00
项目类别:面上项目
批准号:61201408
批准年份:2012
资助金额:25.00
项目类别:青年科学基金项目
批准号:81772307
批准年份:2017
资助金额:55.00
项目类别:面上项目
批准号:31201000
批准年份:2012
资助金额:20.00
项目类别:青年科学基金项目
批准号:61003065
批准年份:2010
资助金额:20.00
项目类别:青年科学基金项目
批准号:10874081
批准年份:2008
资助金额:35.00
项目类别:面上项目
批准号:81771799
批准年份:2017
资助金额:25.00
项目类别:面上项目
批准号:61863018
批准年份:2018
资助金额:37.00
项目类别:地区科学基金项目
批准号:41806150
批准年份:2018
资助金额:25.00
项目类别:青年科学基金项目
批准号:51402085
批准年份:2014
资助金额:24.00
项目类别:青年科学基金项目
批准号:31301789
批准年份:2013
资助金额:23.00
项目类别:青年科学基金项目
批准号:81500978
批准年份:2015
资助金额:19.00
项目类别:青年科学基金项目
批准号:30370484
批准年份:2003
资助金额:7.00
项目类别:面上项目
批准号:51671079
批准年份:2016
资助金额:65.00
项目类别:面上项目
批准号:50905018
批准年份:2009
资助金额:20.00
项目类别:青年科学基金项目
批准号:10604029
批准年份:2006
资助金额:30.00
项目类别:青年科学基金项目
批准号:41901411
批准年份:2019
资助金额:25.00
项目类别:青年科学基金项目
批准号:21607058
批准年份:2016
资助金额:17.00
项目类别:青年科学基金项目
批准号:31100954
批准年份:2011
资助金额:23.00
项目类别:青年科学基金项目
批准号:81772529
批准年份:2017
资助金额:52.00
项目类别:面上项目
批准号:81200384
批准年份:2012
资助金额:23.00
项目类别:青年科学基金项目
批准号:11402178
批准年份:2014
资助金额:26.00
项目类别:青年科学基金项目
批准号:20877021
批准年份:2008
资助金额:33.00
项目类别:面上项目
批准号:30801187
批准年份:2008
资助金额:16.00
项目类别:青年科学基金项目
批准号:51107054
批准年份:2011
资助金额:26.00
项目类别:青年科学基金项目
批准号:11505041
批准年份:2015
资助金额:23.00
项目类别:青年科学基金项目
批准号:21106170
批准年份:2011
资助金额:25.00
项目类别:青年科学基金项目
批准号:21376271
批准年份:2013
资助金额:80.00
项目类别:面上项目
批准号:61472034
批准年份:2014
资助金额:80.00
项目类别:面上项目
批准号:11074119
批准年份:2010
资助金额:48.00
项目类别:面上项目
批准号:51104134
批准年份:2011
资助金额:25.00
项目类别:青年科学基金项目
批准号:21277040
批准年份:2012
资助金额:80.00
项目类别:面上项目
批准号:11374151
批准年份:2013
资助金额:89.00
项目类别:面上项目
批准号:51577085
批准年份:2015
资助金额:56.00
项目类别:面上项目
批准号:30371301
批准年份:2003
资助金额:20.00
项目类别:面上项目
批准号:31670493
批准年份:2016
资助金额:63.00
项目类别:面上项目
批准号:51308553
批准年份:2013
资助金额:25.00
项目类别:青年科学基金项目
批准号:51776047
批准年份:2017
资助金额:60.00
项目类别:面上项目
批准号:81602465
批准年份:2016
资助金额:17.00
项目类别:青年科学基金项目
批准号:31400589
批准年份:2014
资助金额:25.00
项目类别:青年科学基金项目
批准号:51908355
批准年份:2019
资助金额:24.00
项目类别:青年科学基金项目
批准号:31800165
批准年份:2018
资助金额:24.00
项目类别:青年科学基金项目
批准号:51272147
批准年份:2012
资助金额:80.00
项目类别:面上项目
批准号:61873283
批准年份:2018
资助金额:63.00
项目类别:面上项目
批准号:11901342
批准年份:2019
资助金额:23.00
项目类别:青年科学基金项目
批准号:81572103
批准年份:2015
资助金额:57.00
项目类别:面上项目
批准号:51476045
批准年份:2014
资助金额:80.00
项目类别:面上项目

相似国自然基金

1

基于软件网络的回归测试用例排序方法研究

批准号:61202048
批准年份:2012
负责人:潘伟丰
学科分类:F0203
资助金额:21.00
项目类别:青年科学基金项目
2

面向软件回归测试用例集优化的混合进化方法研究

批准号:61702029
批准年份:2017
负责人:郭俊霞
学科分类:F0201
资助金额:25.00
项目类别:青年科学基金项目
3

基于GPGPU的软件回归测试用例多目标预优化

批准号:61170082
批准年份:2011
负责人:李征
学科分类:F0203
资助金额:58.00
项目类别:面上项目
4

多目标约束下的回归测试用例优化策略研究

批准号:61103045
批准年份:2011
负责人:章晓芳
学科分类:F0203
资助金额:22.00
项目类别:青年科学基金项目