Software defect prediction is important for software quality assurance and reducing test efforts. Current work focuses on finding the appropriate predictors and modeling techniques to improve the performance of the prediction models. However, many of these models fit data without understanding the underlying principles, which makes it difficult to apply them to other data sets. In addition, individual measures used in isolation as predictors do not provide relevant clues regarding the cause of a defect. Furthermore, these models treat various types of defects no differently, impeding the accuracy of the prediction results. To address these problems, this project investigates how the structural factors affect and cause software defects by analyzing the antipatterns and bug-fix patterns as well as the relationship between them. Antipatterns embody the expertise's knowledge of the "poor" design and implementation solutions that could cause defects, while bug-fix patterns provide the empirical evidence of what the real problems are in the remedy's perspective. This project combines the two and analyzes the relationship between them at the conceptual level as well as the instance level with the aid of data mining techniques. The goal is to identify the key structural factors causing software defects and to improve the defect prediction techniques by providing an underlying causal model and supporting the type-based finer-grained defect prediction. This work will contribute the theoretical guidance and tool support to the software quality and process improvement.
软件缺陷预测是节省测试成本、保障软件可靠性的重要手段之一。现有研究致力于寻找最优的缺陷预测指标和建模方法以提高缺陷预测效果,但存在孤立地使用度量指标、缺乏理论模型支持、对缺陷类型不加区分等问题,不能很好地满足软件过程改进的需要。本项目围绕"什么是影响软件缺陷的关键结构因素"这一关键问题展开研究,以反模式为经验型知识的外化载体,以缺陷修复模式为实证线索,将经验推导和实证溯因相结合,分析导致软件缺陷的关键结构因素,建立软件结构与软件缺陷的因果关系模型,从模型基础和预测精度等方面改进现有的缺陷预测方法,为提高软件质量、改进设计方法及软件过程提供理论指导和工具支持。
软件缺陷预测是节省测试成本、保障软件可靠性的重要手段之一。现有研究致力于寻找最优的缺陷预测指标和建模方法以提高缺陷预测效果,但存在孤立地使用度量指标、缺乏理论模型支持、对缺陷类型不加区分等问题,不能很好地满足软件过程改进的需要。本项目围绕“什么是影响软件缺陷的关键结构因素”这一关键问题展开研究,完成了预先拟定的研究内容,执行符合最初方案设计,实验路线未做重大调整。本项目主要在以下四方面展开研究:1)基于微结构的反模式表达与检测方法。基于领域分析和系统综述的结果,构建了统一的、可复用的反模式词汇表,定义了对应的微结构表达,提出了一种高效的基于字符串匹配的反模式检测算法。2) 缺陷修复模式的定义与检测方法。抽取了22种缺陷修复模式,设计并实现了基于AST的模式检测方法。在此基础上,分析了10个开源项目和2个实际应用系统,定量分析了缺陷修复模式在软件系统中的分布规律和缺陷修复代码的覆盖情况。3) 缺陷的结构影响因素分析及效用验证。提出了一种基于频繁项集挖掘的方法挖掘修复模式实例与其上下文情境中的反模式实例之间的关联规则,并根据得到的规则集对软件缺陷预测常用的度量指标集进行了精简,降低了缺陷预测中因为度量指标维度过高而导致的计算复杂度。开展了结果影响因素在软件缺陷预测、反模式识别及Web服务QoS预测等方面的实证研究,验证了结构影响因素的有用性。4)支撑工具开发。设计并实现了基于Eclipse平台的插件BugDeTex,为软件缺陷的结构影响因素分析以及缺陷预测建模提供工具支持,并在实际工业项目中验证了其有效性和易用性。课题组在ESE,FSE,IST,ICWS,《软件学报》等软件工程和服务计算领域的国内外期刊、会议上共发表论文10篇,申请发明专利一项。合作培养硕士研究生2名、博士研究生4名,均已毕业。
{{i.achievement_title}}
数据更新时间:2023-05-31
演化经济地理学视角下的产业结构演替与分叉研究评述
玉米叶向值的全基因组关联分析
论大数据环境对情报学发展的影响
监管的非对称性、盈余管理模式选择与证监会执法效率?
正交异性钢桥面板纵肋-面板疲劳开裂的CFRP加固研究
软件缺陷修复动作的识别与推荐
花青素代谢途径的顺反元件和调控模式分析
基于知识探索的软件缺陷智能化修复关键技术研究
视网膜变性模式小鼠检测人外周血干细胞修复缺陷可行性的分析