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