Towards a Systematic Process to Produce High-Quality Software Fixes
Towards a Systematic Process to Produce High-Quality Software Fixes
批准号:
RGPIN-2019-07007
负责人:
Yang, Jinqiu
金额:
$2.04万
依托单位:
依托单位国家:
加拿大
项目类别:
Discovery Grants Program - Individual
财政年份:
2021
资助国家:
加拿大
项目状态:
已结题
起止时间:
2021-01-01 至 2022-12-31
中文摘要
软件缺陷普遍存在于每个软件应用程序中。开发人员花费大量的时间和精力来修复软件错误。自动化程序修复技术的最新进展显示了一个有前途的方向,提供机器生成的软件修复,以提高人工调试的负担。软件修复,无论是手工或机器生成的,这是密集的软件质量保证活动的可交付成果,在提高软件质量方面发挥着重要作用。然而,软件修复的很大一部分是不正确的:软件修复可能无法解决问题(例如,软件故障),或者可能引入新的问题(例如,软件修复本身包含错误)。低质量的软件修复是由修复者(即,开发人员或自动程序修复技术)。不幸的是,目前的质量保证研究和技术是无效的,在检测低质量的软件修复,并进一步提供指导,以实现更高质量的软件修复。 本提案的目标是提供一个系统化的过程,以产生高质量的软件修复。该计划有三个研究目标(RO)。RO 1-深入了解来自不同领域的软件应用程序中的低质量软件修复。我们的工作将集中在软件修复中的问题和开发人员为修复这些问题所做的改进工作。此外,我们的工作将提供一个深刻的理解的原因,为什么国家的最先进的错误检测技术无法找到的问题,在软件修复。RO 2-帮助修复人员检测和改进低质量的软件修复。我和我的学生将设计新颖的静态和动态错误检测技术,以解决低质量软件修复中的问题。这些工作将为开发人员提供关于待提交的软件修复程序中潜在问题的宝贵警告。此外,我们将建立技术,利用RO 1的调查结果,提供细化建议,以产生高质量的软件修复。此外,RO 3-提供了一个通用的面向反馈的框架,将低质量软件修复(RO 2)的检测和改进集成到当前的bug修复工作流中。所提出的框架将提供一个迭代过程,以指导修复人员生成高质量的软件修复,特别是当初始软件修复未被RO 2充分细化时(例如,由于不充分的测试神谕和不完整的改进工作)。这项研究的结果将提供完整的解决方案,以帮助开发人员生产高质量的软件修复。所提出的技术将显着提高软件质量和降低软件开发成本之间的加拿大公司。拟议的研究还将培养五名高素质的人员(HQP),使他们能够为最先进的软件工程研究和实践做出贡献。
英文摘要
Software bugs are prevalent in every software application. Developers spend a tremendous amount of time and effort in fixing software bugs. Recent advances in automated program repair techniques show a promising direction in providing machine-generated software fixes to elevate the burden of manual debugging. Software fixes, either manually or machine-generated, which are deliverables of intense software quality-assurance activities, play an important role in improving software quality. However, a significant portion of software fixes are incorrect: software fixes may not resolve the problems (e.g., software failures) completely, or may introduce new problems (e.g., the software fix itself contains bugs). Low-quality software fixes are produced by fixers (i.e., developers or automated program repair techniques). Unfortunately, current quality-assurance research and techniques are ineffective in detecting the low-quality software fixes and further providing guidance to achieve better-quality software fixes. The goal of this proposal is to provide a systematic process for producing high-quality software fixes. The proposal has three research objectives (ROs). RO1 - Obtaining a deep understanding of low-quality software fixes in software applications from different domains. Our work will focus on the problems in software fixes and refinement efforts that developers make to fix such problems. Also, our work will provide a deep understanding of the reasons why state-of-the-art bug detection techniques fail to find the problems in software fixes. RO2 - Helping fixers detect and improve low-quality software fixes. My students and I will design novel static and dynamic bug detection techniques that target the problems in low-quality software fixes. Such work will provide invaluable warnings to developers regarding potential problems in the to-be-committed software fixes. Also, we will build techniques to utilize the RO1 findings to provide refinement suggestions to produce high-quality software fixes. Furthermore, RO3 - Providing a generic feedback-oriented framework that integrates the detection and improvement of low-quality software fixes (RO2) into the current workflow of bug-fixers. The proposed framework will provide an iterative process to guide fixers to produce high-quality software fixes especially when the initial software fixes are insufficiently refined by RO2 (e.g., due to inadequate testing oracles and incomplete refinement efforts). The outcome of this research will provide complete solution to assist developers with producing high-quality software fixes. The proposed techniques will significantly improve software quality and reduce software development costs among Canadian companies. The proposed research will also train five highly qualified personnel (HQP) and allow them to contribute to state-of-the-art Software Engineering research and practice.
期刊论文(0)
专著(0)
科研奖励(0)
会议论文
Towards a Systematic Process to Produce High-Quality Software Fixes
-
批准号:RGPIN-2019-07007
-
项目类别:Discovery Grants Program - Individual
-
资助金额:$2.04万
-
财政年份:2022
-
负责人:Yang, Jinqiu
-
依托单位:
Towards a Systematic Process to Produce High-Quality Software Fixes
-
批准号:RGPIN-2019-07007
-
项目类别:Discovery Grants Program - Individual
-
资助金额:$2.04万
-
财政年份:2020
-
负责人:Yang, Jinqiu
-
依托单位:
Towards a Systematic Process to Produce High-Quality Software Fixes
-
批准号:RGPIN-2019-07007
-
项目类别:Discovery Grants Program - Individual
-
资助金额:$2.04万
-
财政年份:2019
-
负责人:Yang, Jinqiu
-
依托单位:
Towards a Systematic Process to Produce High-Quality Software Fixes
-
批准号:DGECR-2019-00464
-
项目类别:Discovery Launch Supplement
-
资助金额:$0.91万
-
财政年份:2019
-
负责人:Yang, Jinqiu
-
依托单位:
海外基金