background image

方式有很多,如利用以类为粒度的缺陷定位法,通过记录成员函数在数据中的执行信息,
并对其通过失败率进行评分,以此发现缺陷所在。

 

  (二)数据挖掘在软件维护环节的应用

 

  软件维护环节的数据挖掘可以分为修复和改善两部分,其中修复维护的对象为软件的
缺陷,而改善维护则关乎软件结构的调整和更改。

 

  (

1)软件修复环节 

  软件修复环节中的缺陷分派可以通过鉴别和评估软件缺陷程序,确定其修复的优先级
从而找到每个缺陷最合适的修复者。在缺陷自动分派方法中,通过将缺陷分派转化为文本类
型的问题,以此采取措施加以修复,但其准确率较低,而通过强化检测重复缺陷报告技术
并在缺陷报告中增设执行和自然语言两种相似度信息,然后按照定义的向量维度描述软件
缺陷,最后获取两种相似度的加权和,从而为缺陷选择合适的修复者,实验证明,该种方
法的正确率为

67%左右。 

  (

2)软件改善环节 

  软件结构的优化应以理解软件设计和程序为前提,也可以简单的理解为借助非编程语
言定量描述代码的过程。在理解软件的过程中,我们可以采用跟踪软件需求的方式在需求文
档中发现与设计和条目文档具有对应关系的条目,以保证软件功能和行为符合相关法律规
定,并自动对重用代码进行分类以获取、区分、标识程序的聚类结果,其中漏洞检测也是用
于保证软件质量和可靠性的常用方法,即通过构建软件测试程序,收集、清理和转换漏洞库
中的数据,然后借助科学的数据挖掘模型加以训练和验证,从而对其进行定位、分类和描述,
并重新对其进行测试,以及时发现和快速修正软件的漏洞和缺陷。同时也可利用软件工程挖
掘技术中最热门的克隆代码工具发现软件中重复出现的代码缺陷,以此为及时修复缺陷提
供保障。在完成软件程序理解环节后,还应对其设计加以改善,鉴于该项工作任务繁重,因
此可

TIMNA 方法实现软件设计的自动改善,在此基础上,掌握、归纳软件更改的先后关系,

从而为挖掘其传播规律提供助益。

 

  随着软件工程数据的日益复杂,对非传统性分析需求的逐渐增加,以及对数据挖掘结
果的评价要求的不断提高,软件工程数据挖掘的算法会更完善,更有效,从而使检索和发
现重用规则、描述软件行为、定位软件缺陷、自动评价软件设计等更为便捷、高效、可靠,同时
机器学习、人工智能等数据挖掘技术也会取得更大进步。

 

  三、结束语

 

  总之,当下的软件工程数据挖掘发展的是如火如荼,具有很高的研究价值和实用价值
但在提取软件数据、挖掘算法、表示挖掘结果等方面尚不成熟,因此必须加大研究力度,使
其朝着智能化、高效化、实用化方向发展,从而促进软件工程健康发展。

 

  参考文献:

 

  

[1] 郁抒思,周永康,关佶红 . 软件工程数据挖掘研究进 展 [J]. 计算机科学与探索 ,

2011(10). 
  

[2]吴戴林.软件数据挖掘的若干问题研究[D].广西师范大学,2009(06).