版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、隨著多線程等并發(fā)技術(shù)的發(fā)展,多線程編程技術(shù)被越來越廣泛地應(yīng)用于實際中。多線程技術(shù)通過提高CPU的利用率,減少資源的浪費,從而大大提高了程序執(zhí)行的效率。各種編程語言,如Java, C++等,也提出了各自的并發(fā)編程模型。這些并發(fā)編程模型,也被越來越多地應(yīng)用于實際的開發(fā)之中,并且被證明可以極大地提高程序運行速度。但是與此同時,并發(fā)程序也由于其執(zhí)行行為的不確定性,在發(fā)生錯誤后很難被開發(fā)人員定位;而錯誤發(fā)生后也往往需要花費開發(fā)人員大量的時間來重現(xiàn)
2、錯誤發(fā)生的場景。典型的如數(shù)據(jù)競爭(Data Race),死鎖(Deadlock)以及操作原子性的違反(Atomicity Violation),這些并發(fā)程序獨有的錯誤大大增加了測試及修正并發(fā)程序的難度?;谝陨蠋c,很大一部分傳統(tǒng)的程序測試方法在并發(fā)程序中并不適用。而線程間調(diào)度的不可確定性,也對并發(fā)程序的測試提出了新的要求。為了更加方便地調(diào)試并發(fā)程序,記錄及回放(Record & Replay)的方法被引入到了并發(fā)程序的測試之中。對于并
3、發(fā)程序的記錄及回放,目前存在兩種方法:基于內(nèi)容(Content-based)的以及基于順序(Order-based)的方法?;趦?nèi)容的方法可以準(zhǔn)確地重現(xiàn)對于內(nèi)存的讀寫內(nèi)容,而基于順序的方法則關(guān)注于線程間(inter-thread)事件的執(zhí)行順序。這兩種方法有各自的優(yōu)點及局限性:基于內(nèi)容的方法由于內(nèi)存讀寫數(shù)量的巨大,往往會生成過大的記錄文件;而基于順序的記錄回放方法則需要線程執(zhí)行過程中準(zhǔn)確地重現(xiàn)線程間所有事件的執(zhí)行順序。對于并發(fā)程序中的程
4、序錯誤(Software Bugs),目前已有的方法主要是通過長時間的壓力測試(Stress Testing)重現(xiàn)錯誤。但是這樣的方法除了需要耗費大量的時間以外,也無法保證能重現(xiàn)特定的并發(fā)錯誤?;谝陨系男枨?本文特別關(guān)注于并發(fā)程序中對于程序錯誤的記錄及確定性的回放。使用Soot對Java字節(jié)碼進(jìn)行插裝,將在原始程序的基礎(chǔ)上生成兩個版本的程序:記錄及回放版本。運行記錄版本的程序,將在程序運行同時記錄下線程間事件的執(zhí)行邏輯順序。通過研究及
5、擴展單線程程序錯誤重現(xiàn)架構(gòu),本文提出了工具ConCrash以在并發(fā)程序崩潰后自動生成多線程的測試用例以及程序運行的邏輯時鐘順序記錄文件。通過運行這些測試用例并調(diào)用回放版本的程序,并發(fā)程序的崩潰場景可以被確定性地重現(xiàn)。本文的主要貢獻(xiàn)在于以下幾點:提出了一個輕量級及可擴展的對于多線程程序錯誤的捕捉重現(xiàn)技術(shù),并可以同時與其他靜態(tài)分析的前端技術(shù)相結(jié)合。實現(xiàn)了基于Java語言的原型,ConCrash,并且可以在程序崩潰后自動生成模擬多線程場景的J
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于不變量的并發(fā)錯誤檢測技術(shù).pdf
- 多線程程序并發(fā)錯誤檢測與重放系統(tǒng)研究.pdf
- 基于預(yù)測分析的并發(fā)程序錯誤檢測技術(shù)研究.pdf
- 一種對象粒度和上下文敏感的Java程序并發(fā)錯誤檢測框架(Jacob).pdf
- 基于約束求解的并發(fā)程序錯誤探測.pdf
- 移動通信網(wǎng)絡(luò)用戶感知智能分析系統(tǒng)-投訴回放和故障重現(xiàn)模塊的研究與開發(fā).pdf
- 基于深層神經(jīng)網(wǎng)絡(luò)的口語發(fā)音檢測與錯誤分析.pdf
- C程序靜態(tài)分析與錯誤檢測.pdf
- 辨認(rèn)引發(fā)錯案分析.pdf
- 行人重現(xiàn)檢測研究.pdf
- 基于靜態(tài)分析的RTL設(shè)計錯誤檢測方法研究.pdf
- 基于回放場景的足球視頻精彩鏡頭檢測.pdf
- 突發(fā)錯誤信道中的Rateless編碼連續(xù)相位調(diào)制系統(tǒng)研究.pdf
- 淺談電能計量裝置錯誤接線檢測與分析
- 檢測錯誤與roc曲線
- 讓錯誤行為重現(xiàn)培養(yǎng)良好習(xí)慣
- 基于因果推理與聚類分析的軟件錯誤定位.pdf
- RCS實測數(shù)據(jù)分析與回放軟件.pdf
- 基于SOPC的語音記錄與回放系統(tǒng)設(shè)計與實現(xiàn).pdf
- 面向錯誤檢測的指針分析技術(shù)研究.pdf
評論
0/150
提交評論