版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、軟件行業(yè)的快速發(fā)展使軟件的適應(yīng)性要求提高,需求變化愈發(fā)頻繁,源碼變更次數(shù)也呈現(xiàn)上升趨勢。然而,源碼變更帶來的影響是難以準(zhǔn)確預(yù)測的,這些變更可能會導(dǎo)致軟件出現(xiàn)新的缺陷(bugs)或者安全漏洞等。因此如何高效地處理源碼變更帶來的影響是提升軟件可靠性和安全性的重要問題之一。
源碼變更分析的研究已流行一段時(shí)間,但是目前主要的研究工作集中在源碼級別,比如ChangeDistiller工具通過樹差分算法研究變更前后源碼(JAVA編程語言)
2、得出軟件不同版本之間的源碼變更信息。基于源碼級別的差異分析結(jié)果,工程人員通常依賴經(jīng)驗(yàn)去判斷變更部分代碼對軟件的影響;然而,即使擁有豐富經(jīng)驗(yàn)的工程人員也會出現(xiàn)失誤,從而造成不可估量的后果,可能會使得一次版本變更變成災(zāi)難。然而,快速準(zhǔn)確的程序分析、驗(yàn)證方法可以幫助工程人員分析軟件以及程序變更部分代碼對軟件帶來的影響。但是這些程序分析方法基于中間代碼,比如模型檢測、實(shí)施符號執(zhí)行等。但是這些基于中間代碼的程序分析、驗(yàn)證方法無法使用源碼分析結(jié)果,
3、兩者之間缺乏交互機(jī)制,存在鴻溝。因此,本文研究源碼變更與中間代碼之間關(guān)系,以給上述程序分析方法提供便利。本文把源碼到中間代碼的翻譯過程作為切入點(diǎn),研究如何基于源碼分析結(jié)果獲取中間代碼變更信息。
基于上述問題分析,本文利用變更標(biāo)記跟蹤源碼翻譯過程以確定源碼在中間代碼中的對應(yīng)的指令塊,提出一種基于源碼變更分析的程序中間代碼生成技術(shù):IRChange。IRChange技術(shù)基于Clang/LLVM框架,通過源碼變更差異分析的研究,獲取
4、源碼變更后的中間代碼。IRChange生成的中間代碼可以進(jìn)行差異分析,并且可以通過提取變更部分中間代碼為增量程序分析、驗(yàn)證提供便利。在獲取變更后中間代碼過程中,IRChange使用變更標(biāo)記來跟蹤源碼,以定位其在中間代碼中的變更內(nèi)容。IRChange添加變更標(biāo)記的方法可以有效避免修改編譯器本身源碼至中間代碼的翻譯行為,降低與編譯器耦合程度,為進(jìn)一步的功能擴(kuò)展提供方便。
本文課題的主要研究內(nèi)容:首先,IRChange技術(shù)為源碼添加
5、變更標(biāo)記(源碼行號),在中間代碼翻譯過程中傳遞變更標(biāo)記,生成帶有標(biāo)記的中間代碼;其次,當(dāng)源碼發(fā)生變更后,設(shè)計(jì)并實(shí)現(xiàn)語句級別的差異分析工具Diff以進(jìn)行源碼差異分析,得到源碼變更后的編輯腳本;然后,根據(jù)中間代碼生成語法規(guī)則,快速生成變更部分源碼的指令集;最后設(shè)計(jì)并實(shí)現(xiàn)的MergeIR算法將變更前中間代碼與變更部分的指令集合成,以生成源碼變更后的中間代碼。
本文從開源社區(qū)Github中的Clang和LLVM項(xiàng)目中選取足量的變更源碼
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于GCC的中間代碼優(yōu)化技術(shù)研究.pdf
- 基于微軟COFF平臺的中間代碼混淆技術(shù)研究.pdf
- 編譯技術(shù)課程設(shè)計(jì)報(bào)告-詞法分析、語法分析、中間代碼生成
- 編譯技術(shù)課程設(shè)計(jì)報(bào)告-詞法分析、語法分析、中間代碼生成
- Dalvik虛擬機(jī)即時(shí)編譯系統(tǒng)中間代碼生成的分析與優(yōu)化.pdf
- 反編譯器自動評測與中間代碼生成研究.pdf
- 編譯原理課程設(shè)計(jì)--中間代碼生成器設(shè)計(jì)---逆波蘭式的生成
- C編譯器中間代碼生成及其后端的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 天津理工大學(xué)編譯原理實(shí)驗(yàn)3語義分析與中間代碼生成
- 動態(tài)二進(jìn)制翻譯中基于中間代碼的優(yōu)化研究.pdf
- 基于DSP的RTW代碼自動生成技術(shù)研究.pdf
- 基于RTW的AMT代碼自動生成技術(shù)研究.pdf
- 基于源碼分析的軟件安全測試技術(shù)研究.pdf
- 語法制導(dǎo)翻譯及中間代碼優(yōu)化可視化研究.pdf
- 基于量子框架AMT系統(tǒng)的代碼自動生成技術(shù)研究.pdf
- 程序代碼詞庫構(gòu)建與概要生成技術(shù)研究及系統(tǒng)實(shí)現(xiàn).pdf
- CAD模型中間面生成技術(shù)研究.pdf
- 基于XML的構(gòu)件組裝描述及其代碼生成技術(shù)研究.pdf
- cad模型中間面生成技術(shù)研究
- 程序源代碼復(fù)制檢測技術(shù)研究.pdf
評論
0/150
提交評論