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

项目编号: No.61272169

项目类型: 面上项目

立项/批准年度: 2013

项目学科: 自动化技术、计算机技术

项目作者: 刘辉

作者单位: 北京理工大学

项目金额: 80万元

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

中文关键词: 软件重构;回归测试;接口;软件维护;

英文摘要: 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.

英文关键词: Software refactoring;Regression testing;Interface;Software maintenance;

成为VIP会员查看完整内容
0

相关内容

基于深度神经网络的图像缺损修复方法综述
专知会员服务
25+阅读 · 2021年12月18日
专知会员服务
12+阅读 · 2021年9月21日
专知会员服务
16+阅读 · 2021年9月7日
专知会员服务
53+阅读 · 2021年4月3日
人工智能模型数据泄露的攻击与防御研究综述
专知会员服务
71+阅读 · 2021年3月31日
基于旅游知识图谱的可解释景点推荐
专知会员服务
90+阅读 · 2020年9月4日
FPGA加速系统开发工具设计:综述与实践
专知会员服务
65+阅读 · 2020年6月24日
Go 如何减少供应链攻击?
AI前线
0+阅读 · 2022年4月13日
开发人员如何正确地在产品中使用 GPT-3?
再严重的 Log4j2 漏洞也伤害不了Java?
InfoQ
0+阅读 · 2021年12月26日
实际产品应用场景中,产品设计如何影响用户体验
人人都是产品经理
0+阅读 · 2021年11月2日
基于深度学习的流行度预测研究综述
专知
0+阅读 · 2021年3月24日
已删除
将门创投
12+阅读 · 2017年10月13日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2011年12月31日
国家自然科学基金
1+阅读 · 2010年12月31日
Arxiv
0+阅读 · 2022年4月14日
Arxiv
46+阅读 · 2021年10月4日
Arxiv
15+阅读 · 2019年3月16日
小贴士
相关VIP内容
基于深度神经网络的图像缺损修复方法综述
专知会员服务
25+阅读 · 2021年12月18日
专知会员服务
12+阅读 · 2021年9月21日
专知会员服务
16+阅读 · 2021年9月7日
专知会员服务
53+阅读 · 2021年4月3日
人工智能模型数据泄露的攻击与防御研究综述
专知会员服务
71+阅读 · 2021年3月31日
基于旅游知识图谱的可解释景点推荐
专知会员服务
90+阅读 · 2020年9月4日
FPGA加速系统开发工具设计:综述与实践
专知会员服务
65+阅读 · 2020年6月24日
相关基金
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2011年12月31日
国家自然科学基金
1+阅读 · 2010年12月31日
微信扫码咨询专知VIP会员