[發明專利]基于Adaboost模型的并發程序數據競爭語句級檢測方法有效
| 申請號: | 202010390967.0 | 申請日: | 2020-05-11 |
| 公開(公告)號: | CN111563045B | 公開(公告)日: | 2022-11-01 |
| 發明(設計)人: | 孫家澤;易剛;王曙燕 | 申請(專利權)人: | 西安郵電大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 710121 陜*** | 國省代碼: | 陜西;61 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 adaboost 模型 并發 程序 數據 競爭 語句 檢測 方法 | ||
1.基于Adaboost模型的并發程序數據競爭語句級檢測方法,其特征在于包括以下步驟:
(1)利用二進制插樁工具Pin對并發程序進行動態插樁,記錄各個程序指令的線程ID,指令訪問的內存地址,指令的讀寫操作,指令的鎖集;以及由各個線程的向量時鐘所組成的向量時鐘矩陣的更新過程;
(2)剔除掉無對應原碼的指令以及來自同一條語句的指令,每一條語句僅保留一條指令,實現指令的語句級轉化;
(3)提取并發程序的如下五個特征屬性:1)Pm:語句對中兩條語句訪問的內存地址是否一致,不一致為0,一致為1;2)Po:若兩條語句中至少有一條為寫操作則為1,否則為0;3)Pv:兩條語句的向量時鐘是否滿足偏序關系,不滿足為1,滿足為0;4)Pl:如果兩條語句沒有受到同一個鎖保護則為1,否則為0;5)Pr:是否包含數據競爭,如果該語句對發生數據競爭則為1,否則為0;
(4)對于并發程序訓練樣本集中的各個并發程序,以Pm,Po,Pv,Pl四個特征為特征屬性,Pr為類標號屬性,以此特征屬性數據建立并發程序數據競爭語句級檢測Adaboost模型,具體過程如下:
(4.1)設定迭代次數m,m=1,2,.,M,初始化m=1,初始化訓練樣本的權重:
其中ωmi表示第m次迭代時訓練樣本xi的權重,訓練樣本總數為N,迭代總次數為M;
(4.2)按照第m次迭代時訓練樣本權重Dm得到第m個基學習器Gm(x):
Gm(x):X→{0,1}
其中x是基學習器的輸入樣本,其四個特征屬性值為(Pm,Po,Pv,Pl),X為樣本x的預測結果Pr,值域為{0,1};
(4.3)計算基學習器Gm(x)在訓練樣本集上的分類誤差率em以及基學習器Gm(x)在最終分類器中的權重系數αm:
其中表示基學習器Gm(x)中輸入樣本xi被分類錯誤的概率,yi為xi的正確分類結果;
(4.4)更新訓練集中樣本的權重:
Dm+1=(ωm+1,1,ωm+1,2,...,ωm+1,N)
其中Dm+1表示第m+1次迭代時的樣本權重集合,wm+1,i表示第m+1次迭代時的樣本i的權重,Zm是規范化因子;
如果m<M,則令m=m+1,返回步驟(4.2),否則,進入步驟(4.5);
(4.5)構建最終的分類器線性組合f(x):
(4.6)最終的Adaboost分類器模型G(x):
其中sign(f(x))表示對f(x)進行{0,1}符號轉化,如果f(x)>0,則sign(f(x))=1,f(x)≤0,則sign(f(x))=0;
(5)將被測并發程序提取的Pm,Po,Pv,Pl四個特征輸入步驟(4)建立的Adaboost分類器模型,輸出為1則該語句包含有數據競爭,輸出為0則該語句沒有包含數據競爭。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于西安郵電大學,未經西安郵電大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010390967.0/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種避免磕損的智能物流分發裝置
- 下一篇:一種生物質顆粒機壓輥調節機構





