收稿
日期
: 2017-02-15。
基金项目
:
国家自然科学基金资助项目
( 61672485,61379130) ;
国家电网公司科技项目
( XX71-15-036) 。
作者简介
:
朱朝阳
( 1974—)
,
男
,
江西南昌人
,
高级工程师
,
博士
,
主要研究方向
:
信息系统安全
;
陈相舟
( 1986—) ,
男
,
湖南常德人
,
工程
师
,
硕士
,
主要研究方向
:
信息通信仿真与测试
;
王志宏
( 1993—)
,
男
,
甘肃天水人
,
硕士研究生
,
主要研究方向
:
无线网络
、
车载自组织网络
;
张信明
( 1964—)
,
男
,
安徽天长人
,
教授
,
博士
,CCF
高级会员
,
主要研究方向
:
无线网络
、
智能电网
。
文
章
编号
: 1001-9081( 2017) S2-0060-05
基于粒子群优化
SVM
的面向对象软件缺陷预测模型
朱朝
阳
1
,
陈相
舟
1
,
王志
宏
2
,
张信
明
2
*
( 1.
中国
电力科学研究院 信息通信研究所
,
北京
100192; 2.
中国科学技术大学 计算机科学与技术学院
,
合肥
230027)
( *
通信作者电子邮箱
xinming@ ustc. edu. cn)
摘 要
:
针对电力信息系统软件安全问题
,
分析了软件缺陷预测方法在面向对象软件开发过程中的重要性
,
并
提
出了一种与面向对象软件特征相应的基于粒子群优化的支持向量机软件预测模型
。
模型主要包括三部分
:
首先是对
原数据进行归一化和特征选择的预处理模块
;
然后是以预测准确度作为适应度评价的动态惯性权重粒子群优化支持
向量机
( SVM)
参数的模块
;
最后则是利用第二个模块中的最优参数进行降维数据预测的
SVM
分类模块
。
实验结果表
明
,
该模型在四个数据集合上的准确率高于对比模型
8. 2% ~ 12. 2% ,
在精准度
、
查全率和
F
值上平均高出
9. 9% ,
5. 6%
和
7. 7% ,
说明了该模型的有效性
。
关键词
:
软件缺陷预测
;
粒子群优化
;
特征选择
;
支持向量机
;
面向对象软件
中图分类号
: TP311. 53
文献标志码
: A
Defect prediction model for object oriented software based on particle swarm optimized SVM
ZHU Chaoyang
1
, CHEN Xiangzhou
1
, WANG Zhihong
2
, ZHANG Xinming
2
*
( 1. Information & Communication Department , China Electrical Power Research Institute, Beijing 100192, China;
2. School of Computer Science and Technology, University of Science and Technology of China, Hefei Anhui 230027, China)
Abstract: In terms of the security problem of power information system, this paper analyzed the importance of the
software defect prediction method in object-oriented software development, and proposed a software prediction model based on
particle swarm optimized Support Vector Machine ( SVM) corresponding to the features of object-oriented software. The model
mainly consists of three parts: the first is the preprocessing module which normalizes the original data and selects feature, then
the second is adaptive inertia weight particle swarm module which optimizes the parameters of SVM with the prediction
accuracy as the fitness. Finally, the last SVM classification module predicts categories of reduced-dimension data using the
optimal parameters from the second module. Experimental results show that the accuracy of the proposed model is 8. 2% -
12. 2% higher than the comparative model, and 9. 9% , 5. 6% and 7. 7% higher on the precision, recall and F value, which
proves the validity of the proposed model.
Key words: software defect prediction; particle swarm optimization; feature selection; Support Vector Machine ( SVM) ;
object oriented software
0
引言
电力信息系统软件
在长期发展过程中
,
主要是以面向对
象设计技术来开发的
。
从本质上讲
,
面向对象系统设计是寻
求电力软件结构和电力软件功能模型解决方案的过程
。
因而
为了功能的全面性
、
可靠性
,
面向对象电力系统软件逐步从功
能单一向全面发展
,
软件本身结构和模型更加复杂
,
对象规模
也更加庞大
,
导致整个电力信息系统的软件所面临的安全问
题也愈加严重
,
软件缺陷预测能够在软件开发早期预测待测
的模块
、
对象是否有出错倾向从而提出相应的解决方案
,
包括
人力资金等资源的分配
,
开发进度的控制和安排
。
因此软件
开发过程中尽早地发现软件缺陷
、
漏洞并尽快解决
,
才能为国
民生产
、
市场正常运行提供必要的保障
,
也是使得电网公司降
低日后测试代价和周期
、
提高软件质量的重要途径
[1]
。
软件
缺陷预测技术可分为静态和动态两种缺陷预测技
术
。
动态缺陷预测技术关注软件整个生命周期或者测试阶段
缺陷分布及数量随时间的变化规律
,
并据此预测软件未来缺
陷分布
;
而更加常用的静态预测技术则更关注软件关于缺陷
的度量指标
,
结合各个不同的缺陷相关属性的度量进行缺陷
预测
,
在软件分析和设计阶段及开发的早期阶段均可提供相
应的预测功能
。
现有的静态缺陷预测技术基本上都是基于不
同的机器学习算法提出的
,
例如决策树
、
随机森林
、
朴素贝叶
斯
、BP
神经网络以及人工免疫系统等分类算法
,
根据某种描
述软件特性的软件度量获取模块属性
,
然后对其进行分类
(
有缺陷或无缺陷
)
[2]
。
这些方法均拥有一定程度的缺陷预
测
能
力
,
但又或多或少地隐含一些问题
,
例如决策树过度拟
合
,
忽略特征属性之间相关性的问题
;
朴素贝叶斯需要已知先
验概率
、
对属性独立性要求较高
;
神经网络容易陷入局部最优
或者拟合程度不够的问题
,
同贝叶斯模型一样
,
需要根据专家
经验来获取与缺陷相关的因子
,
计算效率低
;
支持向量机具有
良好的学习和扩展能力
,
但其最优参数的设置没有统一高效
的方法
。
而且在应对面向对象软件时各类算法都不可避免地
需要应对非常多的类和对象特征属性来度量软件
,
导致
“
维
数灾难
”,
检测时间过长
,
预测模型实用性降低
。
Journal of Computer Applications
计算机应用
,2017,37( S2) : 60 - 64
ISSN 1001-9081
CODEN JYIIDU
2017-12-20
http: / /www. joca. cn