[發明專利]一種用于數據競爭檢測的程序調度方法有效
| 申請號: | 201510399123.1 | 申請日: | 2015-07-08 |
| 公開(公告)號: | CN104978272B | 公開(公告)日: | 2018-05-18 |
| 發明(設計)人: | 蔡彥 | 申請(專利權)人: | 中國科學院軟件研究所 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京科迪生專利代理有限責任公司 11251 | 代理人: | 成金玉;孟卜娟 |
| 地址: | 100190 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 用于 數據 競爭 檢測 程序 調度 方法 | ||
1.一種用于數據競爭檢測的程序調度方法,其特征在于包括以下步驟:
(1)劃分給定程序為若干個程序塊;
(2)運行一次給定程序,并計算每個程序塊b
a)所有線程在b
b)所有線程在程序塊b
(3)選擇數據競爭檢測工具,再次運行給定程序,并根據每個線程和鎖、程序塊中鎖類型集合的關系調度每個線程的運行;所述數據競爭檢測工具為Happens-before;
(4)在步驟(3)的運行中同時使用選定的工具檢測數據競爭;
(5)在步驟(3)的運行中同時重新計算每個程序塊的鎖的類型集合,用于下一次運行的調度;
(6)重復步驟(3)至(5)若干次,并收集每次檢測到的數據競爭;
所述步驟(2)和(5)中鎖類型的算法為區分Java程序中不同鎖的內存對象摘要算法。
2.根據權利要求1所述的用于數據競爭檢測的程序調度方法,其特征在于:所述步驟(2)和(5)中程序塊的鎖類型集合生成為動態生成或靜態生成;若使用靜態生成,則權利要求1中步驟(5)可以省略。
3.根據權利要求1或2所述的用于數據競爭檢測的程序調度方法,其特征在于:所述步驟(1)中劃分給定程序為若干個程序塊采用單位程序塊劃分方法。
4.根據權利要求3所述的用于數據競爭檢測的程序調度方法,其特征在于:所述單位程序塊劃分方法包括函數、程序基本塊劃分。
5.根據權利要求1所述的用于數據競爭檢測的程序調度方法,其特征在于:所述步驟(1)中每個程序塊為連續的若干行程序語句。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國科學院軟件研究所,未經中國科學院軟件研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201510399123.1/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種緩存系統和方法
- 下一篇:應用程序的測試方法、裝置及系統
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





