With the widely application of Internet, software over Internet is requiring higher quality. Software bugs play a significant role for software quality, and thus gains the main focus of software engineers. A lot of research has been done to automate the detection and fixing of bugs. Related tools have been widely used by more and more software companies. Most bug detecting approaches depend on known bug patterns, while leaving it less investigated to automatically acquire bug patterns. This project focuses on defect features of Internet-based software, and aims to find more software precisely. The main research topics include: 1) Feature classification based identification of bug fixing; 2) Multiple templates based bug fixing description and derivation; 3) Precise bug instance detection and fix recommendation approach. Some tools based on these approaches will be developed, and use in software companies.
随着互联网在社会各领域的广泛应用,互联网环境中的软件对于质量的要求也越来越高。软件缺陷是对软件质量构成威胁的主要因素,也是软件工程人员长期、重点的研究对象。目前人们在软件缺陷的查找与修复等方面已经开展了许多研究工作,并取得了显著的成果。这些研究成果正在被越来越多的软件企业所采用。现有的缺陷查找方法多数是基于已知的缺陷模式来查找缺陷实例的,而对于自动获取缺陷模式方面的研究尚处于初级探索阶段。本项目拟结合互联网软件中的缺陷特征,以更准确地发现更多的软件缺陷为核心目标,重点开展如下几方面的工作:1)基于缺陷特征分类的缺陷修复动作识别方法;2)基于多模板的缺陷修复动作描述与衍生方法;3)精准的缺陷实例查找与修复推荐方法。除了上述的方法研究之外,本项目还将开发相应的系列实用工具,并在与软件企业的合作中逐步完善这些研究成果。
缺陷修复是软件开发的主要成本支出之一,减轻缺陷修复的负担是软件工程领域的重要研究问题。本项目关注如何利用历史数据以较高正确率和召回率为缺陷推荐修复补丁。给定缺陷,本项目首先分析出修复模式,然后从修复模式定义的补丁空间中找出正确概率最大的补丁。为了分析修复模式,本项目提出了基于单个样例的修复模式泛化技术和基于相似代码的修复模式提取技术,为了从空间中找出正确概率最大的补丁,本项目提出了玲珑框架和其实例化技术。在基准数据集Defects4J上的结果表明,本项目的研究结果将Java上缺陷修复的正确率从之前的18.5%提升到85%,正确修复的补丁数量提升到之前的约三倍。这些技术显著推进了缺陷修复技术的实用化进程,项目成果也在华为公司得到应用。
{{i.achievement_title}}
数据更新时间:2023-05-31
多空间交互协同过滤推荐
面向工件表面缺陷的无监督域适应方法
污染土壤高压旋喷修复药剂迁移透明土试验及数值模拟
海洋环境影响评价及生态修复研究进展与展望
基于候客点规划的空闲出租车路线推荐算法
人物动作的时空层次表示与识别研究
视频人体意外动作识别与定位方法研究
视角无关的动作识别与行为建模方法研究
面向服务机器人的人体动作分析与识别