posts - 403, comments - 310, trackbacks - 0, articles - 7
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          Finding and Reproducing Heisenbugs in Concurrent Programs

          Posted on 2009-02-17 11:30 ZelluX 閱讀(641) 評論(0)  編輯  收藏 所屬分類: System

          今年的ASPLOS '09上zhou yuanyuan也有一篇關于如何concurrent program中發現隱藏的atomicity violation bugs的paper,里面提到了這篇paper

          2008-11-30

          OSDI '08上MSR發的paper,針對并發編程中難以發現的bug問題。

          paper的內容主要分兩大塊。

          一是如何在發現bug的時候記錄下線程的運行先后(thread interleaving),途徑是在線程API和用戶程序多寫一層wrapper functions,這里還有一些其他的問題,比如只記錄下了thread interleaving的話出現data race怎么解決等。

          另外一塊內容是如何遍歷出給定程序運行后所能產生的結果的集合,加入這個能實現的話那就能把所有隱藏的bug都找出來了。但是這個搜索空間很大,是 指數級的,的一個結論就是:給定一個程序有n個的線程,所有線程共完成k條指令,那么c次占先調度后線程的排列情況數的復雜度是k^{c}的,所以在實現遍歷代碼的時候必須有效的降低k和c的值。

          主站蜘蛛池模板: 台中市| 通榆县| 天全县| 永昌县| 雅安市| 黑山县| 千阳县| 阳城县| 黎川县| 昭通市| 朝阳区| 图们市| 嘉祥县| 离岛区| 五原县| 定陶县| 望江县| 佳木斯市| 嘉黎县| 垫江县| 深圳市| 明溪县| 丽水市| 女性| 玛纳斯县| 宜兰县| 海安县| 稻城县| 吕梁市| 岫岩| 毕节市| 锦州市| 武陟县| 丰原市| 六安市| 石门县| 和硕县| 天祝| 扎赉特旗| 荆州市| 九龙坡区|