Identifying Linux Bug Fixing Patches閱讀筆記
Identifying Linux Bug Fixing Patches閱讀筆記
2012 IEEE
論文概述
當前許多修復補丁可能由於系統維護人員的差異,導致許多linux核心補丁未打上,本文提出基於程式碼倉庫提交的記錄資訊和變化,利用機器學習的技術自動識別補丁。本文提出的方法相較於在核心資訊中識別關鍵字的方法,準確度與其相似的情況下,召回率提高53.19%
技術思路
1.資料獲取:從linux程式碼倉庫中提取提交的更新程式碼資訊。
2.特徵提取:減少資料集為一些潛在的不同維度,根據文字描述區分哪些是修復漏洞補丁,那些是程式碼優化補丁。
3.模型學習:通過分析特徵與補丁對應關係,構建模型試著將漏洞修復補丁與其他補丁區分開。
4.漏洞修復補丁識別:應用模型從未標記的資料中獲取漏洞修復補丁。
識別模型構建過程
LPU:採用半監督機器學習分類方式,喂正面的資料和未標記的資料。
SVM:有監督機器學習,喂正面和反面的資料。
整個模型首先使用LPU演算法將經過正面資料訓練的模型用其排位未標記的資料指標,將人為定義的底部k引數和排位後的資料一起作為SVM演算法的輸入,形成最終構建模型。
如下圖
實驗概述
黑色資料集由已知穩定版補丁和漏洞修復工具建立的補丁構成,灰色資料集則是指定核心版本區間內的補丁。
通過LPU演算法分類正資料集和未標記資料集並利用費舍爾值排名,再利用svm監督學習演算法區分出未標記資料中的非漏洞補丁,最後通過準確率和召回率衡量識別的準確度。
黑色資料集如下
灰色資料集如下
本文方法與關鍵字方法正確率和召回率對比如下
相關文章
- 【《TOP》讀書筆記】<3> Identifying Performance Problems筆記IDEORM
- 閱讀筆記筆記
- 【閱讀筆記:字典】筆記
- gdbOF閱讀筆記筆記
- 閱讀筆記03筆記
- 閱讀筆記02筆記
- 閱讀筆記8筆記
- 閱讀筆記1筆記
- 閱讀筆記5筆記
- 閱讀筆記4筆記
- 閱讀筆記3筆記
- 閱讀筆記7筆記
- 閱讀筆記2筆記
- JDK原始碼閱讀:Object類閱讀筆記JDK原始碼Object筆記
- 《Clean Code》閱讀筆記筆記
- Dependencies for Graphs 閱讀筆記筆記
- javascript閱讀筆記01JavaScript筆記
- #EffectiveJava筆記#閱讀心得Java筆記
- 閱讀影片方法筆記筆記
- 《快速閱讀術》讀書筆記筆記
- JDK原始碼閱讀(5):HashTable類閱讀筆記JDK原始碼筆記
- JDK原始碼閱讀(4):HashMap類閱讀筆記JDK原始碼HashMap筆記
- JDK原始碼閱讀:String類閱讀筆記JDK原始碼筆記
- MapReduce 論文閱讀筆記筆記
- ArrayList原始碼閱讀筆記原始碼筆記
- CopyOnWriteArrayList原始碼閱讀筆記原始碼筆記
- SiamRPN++閱讀筆記筆記
- Raft: 一點閱讀筆記Raft筆記
- 《思維力量》閱讀筆記筆記
- Flownet 2.0 閱讀筆記筆記
- Koa 原始碼閱讀筆記原始碼筆記
- Keys for graphs閱讀筆記筆記
- GoogleNet閱讀筆記Go筆記
- The Data Warehouse Toolkit 閱讀筆記筆記
- 《大圖景》閱讀筆記筆記
- mobx-react閱讀筆記React筆記
- SSD論文閱讀筆記筆記
- memcached 原始碼閱讀筆記原始碼筆記