测试驱动的自动程序修复方法研究

结题报告
项目介绍
AI项目解读

基本信息

  • 批准号:
    61872273
  • 项目类别:
    面上项目
  • 资助金额:
    63.0万
  • 负责人:
  • 依托单位:
  • 学科分类:
    F0203.软件理论、软件工程与服务
  • 结题年份:
    2022
  • 批准年份:
    2018
  • 项目状态:
    已结题
  • 起止时间:
    2019-01-01 至2022-12-31

项目摘要

Software defects are inevitable and expensive in modern software development. Automatic program repair is important to reduce the cost of software development and has strong potential to benefit real-world projects. Test case based program repair aims to generate code patches to fix software defects via passing all the given test cases, which are designed by developers. Based on generated patches via automatic program repair, developers can save their manual effort in fixing defects. In this proposal, we review existing work and propose to study automatic approaches to test driven program repair by summarizing a series of research questions as follows: (1) from the perspective of program language support, how to generate patches by leveraging more features of the program language; (2) from the perspective of defect scenario analysis, how to extract execution paths to repair defects, which trigger crash scenarios; (3) from the perspective of repair behavior learning, how to learn from historical repair behaviors by developers to guide new patch generation; (4) from the perspective of multi-location patch generation, how to transfer patch generation with multiple locations into the one with single locations. Based on our preliminary work in handling software defects, we systematically propose a research routine and an experimental scheme. This proposal will provide effective solutions and support real-world applications for automatic program repair.
现代软件开发中,软件缺陷不可避免且修复成本高昂。自动程序修复方法对降低软件开发成本十分重要,并且具有较强的应用前景。基于测试用例的程序修复旨在自动的生成代码补丁,以顺利执行由开发者编写的全部测试用例,进而修复软件缺陷。以自动修复方法生成的补丁为基础,开发者能够大幅度节省人工缺陷修复的开销。本课题基于对该领域相关工作的回顾,研究测试驱动的程序修复方法。该课题归纳了一系列研究问题:(1)从程序语言支持层面,如何生成补丁以支持更多的程序语言特性;(2)从缺陷场景分析层面,如何提取程序执行路径以修复造成软件崩溃的缺陷;(3)从修复行为学习层面,如何学习开发者的历史修复行为并指导新的补丁生成;(4)从多位置补丁生成层面,如何将多位置补丁生成转换为单位置补丁生成。基于软件缺陷相关的初步成果,我们提出了系统的研究路线和实验方案。本课题的实施将为自动程序修复研究提供有效的解决方案和实际应用基础。

结项摘要

现代软件开发中,软件缺陷不可避免且修复成本高昂。自动程序修复方法对降低软件开发成本十分重要,并且具有较强的应用前景。基于测试用例的程序修复旨在自动的生成代码补丁,以顺利执行由开发者编写的全部测试用例,进而修复软件缺陷。以自动修复方法生成的补丁为基础,开发者能够大幅度节省人工缺陷修复的开销。本课题基于对该领域相关工作的回顾,研究测试驱动的程序修复方法,包括程序语言支持、缺陷场景分析、修复行为学习、多位置补丁生成四个层面。提出了系统的研究路线、实验方案、实验数据和原型工具。本课题的实施将为自动程序修复研究提供有效的解决方案和实际应用基础。

项目成果

期刊论文数量(11)
专著数量(0)
科研奖励数量(1)
会议论文数量(13)
专利数量(4)
MULA: A Just-In-Time Multi-labeling System for Issue Reports
MULA:问题报告的即时多重标签系统
  • DOI:
    10.1109/tr.2021.3074512
  • 发表时间:
    2022-03
  • 期刊:
    IEEE Transactions on Reliability
  • 影响因子:
    5.9
  • 作者:
    Xiaoyuan Xie;Su Yuhui;Songqiang Chen;Lin Chen;Jifeng Xuan;Baowen Xu
  • 通讯作者:
    Baowen Xu
Automatically Identifying Calling-Prone Higher-Order Functions of Scala Programs to Assist Testers
自动识别 Scala 程序中容易调用的高阶函数以协助测试人员
  • DOI:
    10.1007/s11390-020-0526-y
  • 发表时间:
    2020-11
  • 期刊:
    Journal of Computer Science and Technology
  • 影响因子:
    0.7
  • 作者:
    Xu Yi-Sen;Jia Xiang-Yang;Wu Fan;Li Lingbo;Xuan Ji-Feng
  • 通讯作者:
    Xuan Ji-Feng
Learning to Prioritize Test Cases for Computer Aided Design Software via Quantifying Functional Units
学习通过量化功能单元来确定计算机辅助设计软件测试用例的优先级
  • DOI:
    10.3390/app122010414
  • 发表时间:
    2022-10
  • 期刊:
    Applied Sciences
  • 影响因子:
    --
  • 作者:
    Fenfang Zeng;Shaoting Liu;Feng Yang;Yisen Xu;Guofu Zhou;Jifeng Xuan
  • 通讯作者:
    Jifeng Xuan
Mining the use of higher-order functions: An exploratory study on Scala programs
挖掘高阶函数的使用:Scala 程序的探索性研究
  • DOI:
    10.1007/s10664-020-09842-7
  • 发表时间:
    2020
  • 期刊:
    Empirical Software Engineering
  • 影响因子:
    4.1
  • 作者:
    Yisen Xu;Fan Wu;Xiangyang Jia;Lingbo Li;Jifeng Xuan
  • 通讯作者:
    Jifeng Xuan
Does the fault reside in a stack trace? Assisting crash localization by predicting crashing fault residence
错误是否存在于堆栈跟踪中?
  • DOI:
    10.1016/j.jss.2018.11.004
  • 发表时间:
    2019
  • 期刊:
    Journal of Systems and Software
  • 影响因子:
    3.5
  • 作者:
    Yongfeng Gu;Jifeng Xuan;Hongyu Zhang;Lanxin Zhang;Qingna Fan;Xiaoyuan Xie;Tieyun Qian
  • 通讯作者:
    Tieyun Qian

数据更新时间:{{ journalArticles.updateTime }}

{{ item.title }}
{{ item.translation_title }}
  • DOI:
    {{ item.doi || "--"}}
  • 发表时间:
    {{ item.publish_year || "--" }}
  • 期刊:
    {{ item.journal_name }}
  • 影响因子:
    {{ item.factor || "--"}}
  • 作者:
    {{ item.authors }}
  • 通讯作者:
    {{ item.author }}

数据更新时间:{{ journalArticles.updateTime }}

{{ item.title }}
  • 作者:
    {{ item.authors }}

数据更新时间:{{ monograph.updateTime }}

{{ item.title }}
  • 作者:
    {{ item.authors }}

数据更新时间:{{ sciAawards.updateTime }}

{{ item.title }}
  • 作者:
    {{ item.authors }}

数据更新时间:{{ conferencePapers.updateTime }}

{{ item.title }}
  • 作者:
    {{ item.authors }}

数据更新时间:{{ patent.updateTime }}

其他文献

缺陷报告质量研究综述
  • DOI:
    --
  • 发表时间:
    2023
  • 期刊:
    软件学报
  • 影响因子:
    --
  • 作者:
    邹卫琴;张静宣;张霄炜;陈林;玄跻峰
  • 通讯作者:
    玄跻峰
JUTA:一个Java自动化单元测试工具
  • DOI:
    --
  • 发表时间:
    --
  • 期刊:
    计算机研究与发展
  • 影响因子:
    --
  • 作者:
    严俊;郭涛;阮辉;玄跻峰
  • 通讯作者:
    玄跻峰

其他文献

{{ item.title }}
{{ item.translation_title }}
  • DOI:
    {{ item.doi || "--" }}
  • 发表时间:
    {{ item.publish_year || "--"}}
  • 期刊:
    {{ item.journal_name }}
  • 影响因子:
    {{ item.factor || "--" }}
  • 作者:
    {{ item.authors }}
  • 通讯作者:
    {{ item.author }}
empty
内容获取失败,请点击重试
重试联系客服
title开始分析
查看分析示例
此项目为已结题,我已根据课题信息分析并撰写以下内容,帮您拓宽课题思路:

AI项目思路

AI技术路线图

玄跻峰的其他基金

面向协同人机交互的泛在系统指令集构造与调度研究
  • 批准号:
    62141221
  • 批准年份:
    2021
  • 资助金额:
    50 万元
  • 项目类别:
    专项基金项目
面向Bug报告的软件故障重现方法研究
  • 批准号:
    61502345
  • 批准年份:
    2015
  • 资助金额:
    21.0 万元
  • 项目类别:
    青年科学基金项目

相似国自然基金

{{ item.name }}
  • 批准号:
    {{ item.ratify_no }}
  • 批准年份:
    {{ item.approval_year }}
  • 资助金额:
    {{ item.support_num }}
  • 项目类别:
    {{ item.project_type }}

相似海外基金

{{ item.name }}
{{ item.translate_name }}
  • 批准号:
    {{ item.ratify_no }}
  • 财政年份:
    {{ item.approval_year }}
  • 资助金额:
    {{ item.support_num }}
  • 项目类别:
    {{ item.project_type }}
{{ showInfoDetail.title }}

作者:{{ showInfoDetail.author }}

知道了

AI项目解读示例

课题项目:调控A型流感病毒诱导IFN-β表达的机制研究

AI项目摘要:

本研究聚焦于TRIM2蛋白在A型流感病毒诱导的IFN-β表达中的调控机制。A型流感病毒是全球性健康问题,其感染可导致严重的呼吸道疾病。IFN-β作为关键的抗病毒因子,其表达水平对抗病毒防御至关重要。然而,TRIM2如何调控IFN-β的表达尚未明确。本研究假设TRIM2通过与病毒RNA或宿主因子相互作用,影响IFN-β的产生。我们将采用分子生物学、细胞生物学和免疫学方法,探索TRIM2与A型流感病毒诱导IFN-β表达的关系。预期结果将揭示TRIM2在抗病毒免疫反应中的作用,为开发新的抗病毒策略提供理论基础。该研究对理解宿主抗病毒机制具有重要科学意义,并可能对临床治疗流感病毒感染提供新的视角。

AI项目思路:

科学问题:TRIM2如何调控A型流感病毒诱导的IFN-β表达?
前期研究:已有研究表明TRIM2参与抗病毒反应,但其具体机制尚不明确。
研究创新点:本研究将深入探讨TRIM2在IFN-β表达中的直接作用机制。
技术路线:包括病毒学、分子生物学、细胞培养和免疫检测技术。
关键技术:TRIM2与病毒RNA的相互作用分析,IFN-β启动子活性检测。
实验模型:使用A型流感病毒感染的细胞模型进行研究。

AI技术路线图

        graph TD
          A[研究起始] --> B[文献回顾与假设提出]
          B --> C[实验设计与方法学准备]
          C --> D[A型流感病毒感染模型建立]
          D --> E[TRIM2与病毒RNA相互作用分析]
          E --> F[TRIM2对IFN-β启动子活性的影响]
          F --> G[IFN-β表达水平测定]
          G --> H[TRIM2功能丧失与获得研究]
          H --> I[数据收集与分析]
          I --> J[结果解释与科学验证]
          J --> K[研究结论与未来方向]
          K --> L[研究结束]
      
关闭
close
客服二维码