背景
- 出處:2016 IEEE/ACM 38th IEEE International Conference on Software Engineering
- 作者:Feng Zhang, Quan Zheng, Ying Zou, and Ahmed E. Hassan
概述
論文主要觀點
通過基于相似度的聚類解決軟件缺陷的問題,同時類比社交網絡進行合理化解釋,引入cross-project用于擴大樣本。
成果
- 基于關系的非監督分類方法(聚類)在多項目樣本中表現良好
- 將軟件群看做社交網絡,它將被聯通度分成兩個社區
方法模型
相關工作圖

主要步驟
-
利用z-score對矩陣進行歸一化(標準化處理),處理后的數據符合標準正態分布;
-
通過以上矩陣,產生權重鄰接矩陣W,此矩陣中保存的是實體之間的相似度;
-
求出W的拉普拉斯矩陣,此矩陣為對稱陣;
- 在L上進行特征分解,在所有的特征向量中選擇第二小的特征向量V1;
- 進行分類,V1中的V1i代表第i個,選擇0做為門檻值,V1i大于0則是有缺陷,小于0則是無缺陷;
實驗
對比常用的非監督和監督算法。
- cross-project,對于監督算法,用本項目中的其他項目作為訓練數據;對于非監督算法,由于不需要訓練數據,直接在目標項目上做集群
- within-project,two-fold cross validation,對于一個項目,將其分為兩半,一半用來訓練,一半用來測試,循環500次。
驗證
將軟件項目中的實體轉換為社交網絡,生成圖,計算聯通度尋找社區,驗證了以上算法。
創新點
- Spectral Classifier,通過計算相似度分類
- 將其比作社區,通過圖的聯通度來驗證
總結
優點
- 按照他的實驗數據來看,效果確實不錯
- 社交網絡的類比十分形象,極好的闡釋了聚類的合理性
不足
- 創新點來自于別人,只是把它應用到了軟件缺陷檢測上
- cross-project并不具備概念性,只是為了擴大樣本
我的想法
聚類是否可以和監督算法相配合?