位置:立项数据库 > 立项详情页
软件缺陷预测模型及其应用的研究
  • 项目名称:软件缺陷预测模型及其应用的研究
  • 项目类别:面上项目
  • 批准号:61073006
  • 申请代码:F020202
  • 项目来源:国家自然科学基金
  • 研究期限:2011-01-01-2013-12-31
  • 项目负责人:张洪宇
  • 负责人职称:副教授
  • 依托单位:清华大学
  • 批准年度:2010
中文摘要:

随着软件应用的不断普及和深入,人们对软件质量的要求也越来越高。如何有效地保证、提升软件质量已经成为各国软件工程研究人员重点关注的技术问题。在本项目中,我们将研究软件缺陷预测技术。软件缺陷预测技术(Software Defect Prediction)可以帮助我们在实际故障发生前预测可能产生缺陷的模块,这样我们可以集中有限的人力、时间去测试这些最有可能含有错误的模块, 从而能更好地分配测试资源。软件缺陷预测技术是近年来国际软件工程研究领域的热点课题,对于软件质量保证有着重要的理论意义和应用价值。在本项目中,我们希望能够在前期研究基础上,设计高效的算法,提高缺陷预测模型的准确性,解决缺陷预测模型在实践中遇到的关键技术问题,并开发一个高效、实用的缺陷预测工具。我们也将研究如何应用缺陷预测模型于软件质量保证实践之中,优化测试资源的分配,并与其它质量保证技术(特别是缺陷定位技术)相结合。

结论摘要:

随着软件应用的不断普及和深入,人们对软件质量的要求也越来越高。同时,随着软件产品的规模越来越大,复杂度越来越高,软件开发、维护人员收到的缺陷报告也会越来越多。如何有效地保证、提升软件质量已经成为各国软件工程研究人员重点关注的问题。 在本项目中,我们深入研究了软件缺陷预测相关技术,即如何在实际故障发生前预测可能产生缺陷的模块。本项目的研究基本上按计划进行。我们研究了一些与软件缺陷预测模型相关的技术问题,包括了软件缺陷数据的质量问题,基于采样数据的软件缺陷预测模型,软件缺陷的定位,和缺陷修复时间的预测。目前软件缺陷数据挖掘方法可能会导致大量的缺失数据,使数据中存在噪音。我们分析了不同程度的噪音对缺陷预测模型的准确性的影响,并提出了一个新的、更有效的缺陷数据挖掘方法ReLink。目前的软件缺陷预测假设一个软件企业已经有了很多高质量的缺陷数据,但这个假设对某些企业可能不成立。针对这个问题,我们提出了一个结合主动学习和半监督学习的算法,叫做ACoForest,去采样一小部分软件模块进行测试,收集其数据并建立软件缺陷预测模型。我们也研究了软件缺陷定位问题,我们提出了一个BugLocator方法,可以根据软件缺陷报告和缺陷预测结果定位可能出错的程序模块。我们也提出了一个基于缺陷模式的缺陷检测方法。对于一个大型复杂软件系统,软件项目组可能会收到大量的缺陷报告。我们也提出了基于蒙特卡洛模拟和马尔科夫模型的缺陷修复时间的预测方法。 我们的研究成果已经全文发表在多个国际软件工程会议和期刊中,包括了2011年度的国际软件工程会议(ICSE 2011),ACM基础软件工程会议(FSE 2011),2012年度的国际软件工程会议(ICSE 2012),2013年的国际软件工程会议(ICSE 2013),和国际期刊Automated Software Engineering, Journal of Systems and Software。在本项目的支持下,目前已经正式发表了14篇论文,有4名清华大学研究生顺利毕业。我们在理论和实践上都有所创新,提出了新的方法,开发了相应的工具,较好地完成了本项目的研究计划。


成果综合统计
成果类型
数量
  • 期刊论文
  • 会议论文
  • 专利
  • 获奖
  • 著作
  • 13
  • 11
  • 0
  • 0
  • 0
相关项目
期刊论文 5 会议论文 2 获奖 3 著作 2
期刊论文 6 会议论文 8 获奖 4 专利 3 著作 1
期刊论文 4 会议论文 1 专利 1
张洪宇的项目
期刊论文 3 会议论文 10