999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于貢獻者行為特征的開源軟件缺陷預測研究

2023-06-15 05:26:44黃亞蒙馬璐璐
無線互聯(lián)科技 2023年2期

黃亞蒙 馬璐璐

摘要:針對開源軟件存在缺陷,改善軟件質量等問題,文章提出了基于貢獻者行為特征的開源軟件缺陷預測研究。首先獲取Apache軟件基金會中的開源軟件項目,運用Git和SVN版本控制系統(tǒng)對開發(fā)人員日志信息提取;然后采用K均值聚類算法模型挖掘開發(fā)人員團隊(貢獻者),采用詞頻統(tǒng)計和主成分分析算法模型得到貢獻者行為特征;最后利用隨機森林算法實現(xiàn)對貢獻者特征行為的軟件缺陷預測,該實驗結果具有一定的參考意義。

關鍵詞:開源軟件;行為特征;軟件缺陷預測

中圖分類號:TP311? 文獻標志碼:A

0 引言

隨著軟件開發(fā)不斷發(fā)展,開源軟件開發(fā)正在走進大眾的視野中,雖給人們的生活帶來大量便利,但也出現(xiàn)一些問題,部分軟件產品在進行操作時無法正常運行以及存在大量的軟件半成品等,給人們帶來巨大的經(jīng)濟損失,甚至威脅人類生命安全,故關于軟件質量的研究已經(jīng)刻不容緩。

本文通過對開源軟件中版本控制系統(tǒng)和缺陷跟蹤系統(tǒng)中的開發(fā)者行為日志信息挖掘與處理研究,對開源項目貢獻者(即開發(fā)者團隊)的行為特征進行分析,發(fā)現(xiàn)了研究貢獻者特征行為對項目缺陷造成的影響。主要強調開發(fā)人員在開源項目的核心作用力,通過對貢獻者的行為日志分析,確定出貢獻者行為特征,建立一種基于貢獻者特征行為的軟件缺陷預測模型,確定貢獻者行為特征對開源軟件缺陷率的影響,貢獻者在軟件開發(fā)過程中規(guī)避此類缺陷[1]。

1 數(shù)據(jù)獲取

本文采用Apache軟件基金會中的開源軟件項目作為研究對象。Apache軟件基金會的開源項目具有一定公信度,其下的版本控制系統(tǒng)及缺陷跟蹤系統(tǒng)的數(shù)據(jù)較為完整,具有支持多平臺安裝和使用、安全性高、易于擴展、性能穩(wěn)定等特點。其項目信息存儲在Git repository和Subversion repository資源網(wǎng)站,故采用不同方式獲取項目信息。首先對項目克隆及檢出得到230個項目集;之后采用Git,SVN,MySQL等工具將日志信息導出到CSV文件中。

2 貢獻者行為特征選擇

2.1 數(shù)據(jù)處理

數(shù)據(jù)處理主要目的是得到成員下的項目,然后采用K均值聚類實現(xiàn)貢獻者的選擇。其過程如下:運用Git命令對Git項目貢獻統(tǒng)計;利用數(shù)據(jù)透視法實現(xiàn)對SVN項目貢獻統(tǒng)計;實現(xiàn)對所有項目貢獻統(tǒng)計;結合數(shù)據(jù)透視法得到成員下的項目,得到615組成員數(shù)據(jù)集,172個維度屬性。

2.2 基于K均值聚類算法的貢獻者選擇

K均值聚類算法具有算法簡單、時間復雜度較低、收斂速度快、能有效地處理大規(guī)模的數(shù)據(jù)集等優(yōu)點,故采取K均值聚類算法實現(xiàn)貢獻者選擇[2]。首先對簇數(shù)k選擇,然后通過歐式距離計算數(shù)據(jù)對象之間的相似性,使得實現(xiàn)類內數(shù)據(jù)對象相似度最大,類間相似度最小。K均值聚類算法將成員數(shù)據(jù)集依據(jù)數(shù)據(jù)集間的相似性(共同參與到相同項目的項目成員)聚集到指定的類簇中,且每個數(shù)據(jù)集屬于并僅屬于一個類簇中,具體操作如下:選取肘部方法和輪廓系數(shù)法實現(xiàn)對簇數(shù)的選擇;采用K均值聚類算法實現(xiàn)貢獻者的選擇。

手肘法的核心指標是SSE(誤差平方和)公式如(1)所示:

SSE=∑ki=1∑p∈Ci|p-mi|2(1)

Ci表示第i個簇,p表示Ci中的樣本點,mi表示Ci質心中所有樣本均值,SSE表示所有樣本聚類誤差,其代表聚類效果的好壞,通過Python得到k和SSE關系;輪廓系數(shù)法主要是確定聚類結果的內聚度和分離度,其結果是對聚類效果好壞評價。采用輪廓系數(shù)法與肘部方法相結合的方式確定k值,輪廓系數(shù)的核心指標是S,樣本點Xi,其計算公式如(2)所示:

S=b-amax(a,b)(2)

a表示Xi與同簇的其他樣本的平均距離,稱為凝聚度,b表示Xi與最近簇中所有樣本的平均距離,稱為分離度,其計算公式如(3)所示:

Cj=argmin1n∑p∈Ck|p-Xi|2(3)

p表示某個簇Ck中的樣本,平均輪廓系數(shù)的取值范圍為[-1,1],且簇內樣本的距離越近,簇間樣本距離越遠,平均輪廓系數(shù)越大,聚類效果越好。采用Python將k進行聚類求輪廓系數(shù),得出k=12時,SSE及輪廓系數(shù)值相匹配,聚類結果相對較好;故采用Matlab對成員數(shù)據(jù)集進行K均值聚類,Best total sum of distances表示聚類結果的好壞,經(jīng)由10次聚類結果評估,如表1所示。

最佳距離總和=544.77時效果最好,并運行得出貢獻者即項目成員團隊的分類結果,得到12組貢獻者。

2.3 基于詞頻統(tǒng)計的貢獻者行為特征選擇

詞頻統(tǒng)計的主要操作步驟主要分為4步,即分詞、詞干提取、去停用詞和計算詞頻[3]。分詞是將文件中的信息按照一定的規(guī)則進行分散;詞干提取是將同一單詞在不同的語句狀態(tài)下呈現(xiàn)不同的狀態(tài)進行提取;去停用詞是英文狀態(tài)下經(jīng)常出現(xiàn),其沒有特殊指代含義,采用Python自然語言中自帶的NLTK工具包中停用詞語料庫,實現(xiàn)對高頻詞的停用;計算詞頻是遍歷每個單詞出現(xiàn)在文本中的次數(shù);首先將12組文本信息通過詞頻統(tǒng)計得到12組結果,對提取出的行為特征頻數(shù)排序,提取其特征數(shù)出現(xiàn)超過1萬次的詞匯作為行為特征初始樣本;然后將12組貢獻者的特征信息與提取的行為特征初始樣本比對,保留12組貢獻者都存在的特征集。

2.4 基于主成分分析的特征降維

主成分分析算法從多元特征中解析出主要特征,其反映原始變量絕大部分信息,并且彼此之間不相關,實現(xiàn)數(shù)據(jù)集之間的降維效果,最終實現(xiàn)對貢獻者行為特征的選擇[4]。

采用Matlab工具將12組度量元的統(tǒng)計數(shù)據(jù)進行主成分分析算法的降維,處理過程如下:(1)數(shù)據(jù)的標準化處理;(2)計算樣本相關系數(shù)矩陣;(3)計算相關系數(shù)矩陣特征值及特征向量;(4)計算特征值的貢獻率和累計貢獻率;(5)選擇主成分;(6)計算主成分得分。得到行為特征重要性排序,將降序中為0以上的數(shù)據(jù)集保留,其行為特征對與軟件開發(fā)的影響性較大,選取此類行為特征進行軟件缺陷預測分析。

3 軟件缺陷預測

隨機森林算法具有很高的預測準確率,對噪聲和異常值具有很好的容忍度,易于實現(xiàn),且計算開銷小,不容易出現(xiàn)過擬合現(xiàn)象等[5],故本文采取隨機森林算法實現(xiàn)對軟件缺陷預測。

3.1 數(shù)據(jù)處理

缺陷數(shù)據(jù)集獲取,實操中存在兩種缺陷網(wǎng)址數(shù)據(jù)集,https://issues.apache.org/jira/browse下可直接獲取缺陷數(shù)據(jù)集總量;https://github.com/apache下的缺陷數(shù)據(jù)集分布在issue中的open和closed中,匯總得到缺陷量,存在bug缺失項。將172個項目日志數(shù)統(tǒng)計,運用SPSS工具對缺陷數(shù)據(jù)集及日志數(shù)據(jù)集進行數(shù)據(jù)關聯(lián)性分析,不具有關聯(lián)性。平均值插補法不會對樣本造成極大的干擾,其通用與各個領域,具有極大的普適性,故采用平均值法進行缺失值的插補得出最終bug數(shù)據(jù)表,得出各組貢獻值的bug表,進行整理匯總,得到貢獻者特征缺陷數(shù)據(jù)集表,如表2所示。

3.2 基于隨機森林算法的特征行為缺陷預測

采用K折交叉驗證法作為隨機森林模型檢驗分析技術,其將原始樣本打亂并重復利用,充分地利用有限的樣本資源減少預測偏差,并考慮訓練樣本和泛化誤差。其具體的步驟如下:首先將原始數(shù)據(jù)隨機分為k組,然后將子集分別做一次測試集,余下的k-1組子集作為訓練集用來訓練模型,共得到k個模型,最后用平均值作為模型預測精度的最終估計值。求得其均方根誤差(RMSE)、平均絕對誤差(MAE)及因變量實際與預測值的相關系數(shù)(R)作為模型模擬結果與實際值的吻合程度的衡量指標,當RMSE與MAE的值越小,R的值越接近1,表明模型的預測效果越好,其指標的定義如(4)(5)(6)所示:

RMSE=∑ni=1( yi-yi)2n(4)

MAE=1n∑ni=1 yi-yi(5)

R=±∑ni=1(y^-y-)2∑ni=1(yi-y-)2(6)

yi,yi表示第i個樣本的預測值,y-表示樣本觀測值的平均值,n表示對應的樣本容量。利用特征缺陷率的數(shù)據(jù)集,采用隨機森林回歸算法進行對軟件的缺陷的預測如圖1所示。

當特征集為10,17,38,41,43,45,46時,即code,file,remove,support,test,update,use時,其判斷為缺陷集的可能性較大,故貢獻者在進行軟件開發(fā)時,可以? 通過規(guī)避及防范此類特征下的操作,增加開源軟件項目的可信度,提高軟件產品的質量。

4 結語

本文提出了基于貢獻者行為特征的軟件預測研究。首先在Apache軟件基金會中運用Git和SVN版本控制系統(tǒng)完成對開源項目獲取,使用MySQL等工具實現(xiàn)對開源項目日志信息獲取,對日志中成員進行貢獻統(tǒng)計分析,采用K均值聚類算法完成對貢獻者選擇,得到12組貢獻者分組;然后利用詞頻統(tǒng)計方式完成對貢獻者行為特征選擇,并采用主成分分析完成對特征降維,共提取49項特征;之后采用缺陷跟蹤系統(tǒng)對項目的bug集統(tǒng)計;最后使用隨機森林算法完成貢獻者特征行為的軟件缺陷預測研究,得出貢獻者在進行項目開發(fā)時在遇到code,file,remove,support,test,update,use等行為特征時開源軟件出現(xiàn)缺陷的概率較高,貢獻者在進行軟件項目的開發(fā)過程中遇到此類編寫程序代碼時,應保持警惕,減少軟件缺陷。

參考文獻

[1]謝新強,楊曉春,王斌,等.一種多特征融合的軟件開發(fā)者推薦[J].軟件學報,2018(8):2306-2321.

[2]劉望舒,陳翔,顧慶,等.軟件缺陷預測中基于聚類分析的特征選擇方法[J].中國科學:信息科學,2016(9):1298-1320.

[3]李杰,孫仁誠.基于詞頻統(tǒng)計算法的中英文詞頻分布研究[J].青島大學學報(工程技術版),2020(1):1-5.

[4]張曉風.基于主成分分析的軟件缺陷預測研究[D].南京:南京航空航天大學,2017.

[5]呂紅燕,馮倩.隨機森林算法研究綜述[J].河北省科學院學報,2019(3):37-41.

(編輯 傅金睿)

Research on open source software defect prediction based on characteristic behavior of contributors

Huang? Yameng1, Ma? Lulu2*

(1.Huanghe Jiaotong University, Jiaozuo 454950, China; 2.Zhengzhou Technical College, Zhengzhou 450100, China)

Abstract: Aiming at the problems of open source software defects and improving software quality,this paper puts forward a research on open source software defect prediction based on the behavior characteristics of contributors.First,obtain the open source software project in the Apache Software Foundation,and use GIT and SVN version control system to extract the developers log information;Then,the K-means clustering algorithm model is used to mine the developer team (contributors), and the word frequency statistics and principal component analysis algorithm model are used to obtain the behavior characteristics of contributors;Finally,the random forest algorithm is used to predict the software defects of contributors characteristic behavior.The experimental results have certain reference significance.

Key words: open source software; behavioral characteristics; software defect prediction

主站蜘蛛池模板: 亚洲二三区| 国产精品福利尤物youwu| 91www在线观看| 五月婷婷伊人网| 亚洲综合色在线| AV网站中文| 色婷婷电影网| 91视频精品| 亚洲天堂成人在线观看| 日本在线免费网站| 麻豆国产原创视频在线播放| 亚洲无线国产观看| 欧洲极品无码一区二区三区| 欧美中文字幕在线视频| 国产成人精品一区二区秒拍1o| 国产手机在线小视频免费观看| 国产传媒一区二区三区四区五区| 欧美日韩一区二区在线播放 | 一本大道东京热无码av| 看你懂的巨臀中文字幕一区二区 | 在线观看91精品国产剧情免费| 狠狠色综合网| 中国国产A一级毛片| 1769国产精品视频免费观看| 毛片视频网址| 亚洲成人一区在线| 色悠久久久| 日本免费新一区视频| 久久精品免费国产大片| 中日无码在线观看| 午夜福利视频一区| 久久人搡人人玩人妻精品一| 欧美一区二区三区香蕉视| 在线国产毛片手机小视频| 日韩123欧美字幕| 国产在线视频福利资源站| 香蕉国产精品视频| 最新国语自产精品视频在| 亚洲综合第一区| 九九九精品视频| 欧美、日韩、国产综合一区| 亚洲国产精品日韩专区AV| 国产日本欧美在线观看| 婷婷中文在线| 国产精品3p视频| 在线视频97| 国产成人精品一区二区不卡| 色婷婷亚洲十月十月色天| 国产欧美精品一区二区| 国产成人精彩在线视频50| 亚洲成人网在线观看| 不卡的在线视频免费观看| 欧美成人精品一级在线观看| 午夜视频在线观看免费网站| 2020极品精品国产| 久久久久亚洲精品无码网站| 亚洲天堂首页| 午夜不卡视频| 欧美成人午夜视频免看| 亚洲青涩在线| 精品亚洲国产成人AV| 久久久久久高潮白浆| 国产成人亚洲日韩欧美电影| 99伊人精品| 国产成a人片在线播放| 日韩一区二区三免费高清| 精品久久久久无码| 久久这里只有精品23| 91福利国产成人精品导航| 丁香婷婷激情网| 爆乳熟妇一区二区三区| 亚洲人成影院在线观看| 五月激激激综合网色播免费| 日本国产精品| 97国产在线播放| 国产精品久久久免费视频| 欧美成人一级| 久久久久无码精品| 全裸无码专区| 激情午夜婷婷| 超碰aⅴ人人做人人爽欧美| 91精品免费高清在线|