论文部分内容阅读
在信息技术飞速发展的今天,计算机已成为人们工作和生活不可或缺的重要工具。而计算机软件是计算机的应用核心,是用户利用和掌握计算机的有力武器,因此软件的质量不可避免会成为大家关注的焦点。可是,目前世界软件业普遍存在的现状是软件质量难以令客户满意,“软件危机”依然存在。为了提高软件质量,合理分配开发以及测试软件的资源,人们希望在软件生命周期早期发现风险度高的模块,在测试中投入更多精力,提高测试效率,利用代码的静态特征--软件度量寻找其与风险度的关系是一种很有用的方法。本文从单个度量,全体度量和度量三个组合方面研究了它们与软件风险度关系的关系,论文的主要工作如下:
1.将数据挖掘领域的经典算法,包括贝叶斯信念网络,最近邻分类技术,粗糙集用于单个软件度量和软件风险度关系的分析研究中,针对所用数据,找到了最有效的单个度量,并对所有度量与软件风险度关系的假设进行了一一验证。
2.在用遗传算法对全体度量进行分析时,针对软件数据的特征,对遗传算法进行了改进,采用了基于连续变量的自适应遗传算法。传统的基于连续变量的遗传算法无法每次都找到最优解,运算往往陷于局部,并出现反复振荡,这是由于连续变量的交叉和变异算子的特殊性而造成。根据自适应原理,本文对该算法又进行了针对性改进,构造一个交叉互换率Rc和突变率Pm随个体的适应度而改变的遗传算法,自适应遗传算法大大改进了遗传算法的性能,使搜索朝着更有可能找到全局最优的方向进行而不至于陷入局部最小,得到了较快的迭代速度,大大提高了算法性能。
3.首次将遗传算法和决策树结合的算法应用于软件风险度预测中,利用决策树的分类结果作为传统的遗传算法的适应度函数,通过这种算法组合寻找出最优的度量组合进行有效的风险度预测。不同的软件系统有各自的特征,但是混合算法可以忽略这种不同,自动产生出最有效的度量组合,实验证明,这是一种有效的自动选择度量组合进行风险度预测的方法。