节点文献

软件质量预测模型中的若干关键问题研究

Research of Some Key Issues in Software Quality Prediction Model

【作者】 王琪

【导师】 朱杰;

【作者基本信息】 上海交通大学 , 电路与系统, 2007, 博士

【摘要】 随着软件产业的迅猛发展,软件规模越来越大,开发过程也随之越来越难以控制,而且软件失效所带来的损失也愈加严重,软件质量预测系统在这种情况下应运而生。这一系统致力于在软件开发的早期发现有失效倾向的模块,从而在后续的开发和系统测试中能够优化资源配置,以达到最大限度地降低软件失效数量的目的。实践证明,该系统的应用能够有效地缩短软件产品的开发周期,降低软件维护成本并同时提高软件的质量。本文以朗讯科技光网络有限公司的某三个大型商用软件产品为基础对软件质量预测模型中的属性选择、分类器集成和规则抽取等问题进行了重点研究。本文首先提出了软件质量预测系统的框架,将软件质量预测系统划分为三个部分:前端、核心和后端,并阐明了每个部分的主要任务。在系统的前端,主要进行数据的预处理和属性选择。经过数据预处理和属性选择以后的数据被划分为训练集和测试集进入系统的核心部分。在核心部分,根据选定的算法对软件质量预测模型进行训练,并用测试集数据进行测试。核心部分得到的结果包括训练好的模型描述和模型在测试集上的预测结果。后端的主要任务则是对已有的模型描述进行规则提取,并根据模型在测试集上的预测结果对其进行比较和评估。其次,在软件质量预测的前端,本文提出了一种基于遗传算法的属性选择方法(CFGA),它在同一个遗传进化过程中完成聚类和属性选择两个动作,以聚类的效果作为属性选择进化的适应度函数,可以通过调整参数来使聚类得到的簇变得紧密或者疏松。这一方法既可以适用于无经验数据的情况,也适用于有经验数据的情况。对于无经验数据的情况,聚类的结果将由软件领域专家们进行进一步的分析。而经过聚类和属性选择后的数据集将会大大减少专家的工作量。对于有经验数据的情况,聚类后得到的簇将会被分为三类:孤点簇、高纯度簇和低纯

【Abstract】 With the rapid development of software industry, software products become more and more complicated, and developing processes become more and more difficult to control. Moreover, software failures always lead to great loss in practice. In such circumstance, the software quality prediction system is proposed to identify the fault-prone modules in the early phase of software development life cycle, so that resources can be correctly allocated in the following development and testing. This approach has been proved to be able to effectively shorten development cycle, reduce maintenance cost and highly improve software quality. This dissertation studies some key issues in software quality prediction modeling, including feature selection, classifiers combination and rules extraction. It is based on three large telecommunication softwares developed by Lucent Technology Optical Networks Ltd.Firstly, a frame of software quality prediction is proposed in this dissertation. This frame consists of three parts: the former, kernel and the latter. In the former stage, the main task of software quality prediction is feature selection and data preprocessing. The data set having been selected and preprocessed is divided to training set and testing set. In the kenel stage, software quality model is trained with specific traing algorithm based on training set and the trained model is tested over testing set. The results of kenel stage include the description and prediction result of trained model. The main task of latter stage is to extract rules from trained model and evaluate its performance.Secondly, a clustering and feature selection approach based on genetic algorithm (CFGA) is introduced in the former stage. The clustering and feature selection are performed in the same evolution phase. The fitness function of feature selection is described by clustering results. Some parameters in the fitness function can be adjusted to make the clusters loose or compact. This approach can work in both supervised learning and unsupervised learning. For unsupervised learning, the results of clustering will be further analyzed by software expert. The clustering and feature selection can significantly reduce the workload of expert. While for supervised learning, the clusters will be classified to outlier, high purity clusters and low purity clusters. The outliers

节点文献中: 

本文链接的文献网络图示:

本文的引文网络