天堂国产午夜亚洲专区-少妇人妻综合久久蜜臀-国产成人户外露出视频在线-国产91传媒一区二区三区

Typestate性質運行時驗證的關鍵技術研究

發(fā)布時間:2019-09-02 08:09
【摘要】:現(xiàn)代大規(guī)模的軟件系統(tǒng)一般都是建立在第三方程序庫之上的,比如大家所熟知的Java類庫。但是,第三方程序庫往往對其提供的接口規(guī)定了一些調用規(guī)約,軟件開發(fā)人員必須遵循這些調用規(guī)約,否則將會導致軟件系統(tǒng)在運行時出現(xiàn)不可預知的異;蚴。這些規(guī)約被稱作typestate性質,通?梢允褂脦ё杂勺兞康臅r序邏輯表示。據(jù)統(tǒng)計,許多大規(guī)模軟件系統(tǒng)的錯誤都是由于違反第三方程序庫的接口調用規(guī)約而引起的,并且此類錯誤不易被軟件開發(fā)和維護人員發(fā)現(xiàn)和修復,極大地增加了軟件開發(fā)和維護成本。靜態(tài)分析程序是否滿足給定的typestate性質是一個不可判斷的問題。通常,大家使用運行時驗證這種動態(tài)方式測試程序是否違反typestate性質。運行時驗證技術能夠將typestate性質自動轉換為運行時監(jiān)控器,并對原程序進行插裝處理。但是,插裝過后的程序一般包含了大量的冗余插裝,這會嚴重影響程序運行時性能。近年來,大家使用靜態(tài)分析技術在編譯階段刪除一些不必要的監(jiān)控插裝代碼,以此來降低動態(tài)監(jiān)控給程序運行時性能所帶來的不利影響,這就是所謂的混成typestate性質分析技術。Eric Bodden提出的Nop-shadows Analysis(NSA)就是一種典型的混成Typestate性質分析技術。NSA使用部分上下文敏感、過程內流敏感的數(shù)據(jù)流分析方法在編譯階段識別和刪除一些不必要的監(jiān)控插裝代碼。盡管NSA靜態(tài)分析的精度比較高,但是仍然存在一些案例,NSA不能完全刪除其中的監(jiān)控插裝。甚至,對于某些案例,NSA基本上沒有效果。本課題認真地研究分析了失效案例,詳細地剖析了NSA靜態(tài)分析過程。在此基礎之上,我們提出了三種分別適用于不同情形的優(yōu)化技術,它們都能針對某些案例提高NSA靜態(tài)分析精度,在編譯階段識別和刪除更多的監(jiān)控插裝代碼。具體來說,本文取得了如下貢獻和創(chuàng)新:1.定義了穩(wěn)定configuration的概念,詳細地分析了它的特性,并提出了基于穩(wěn)定configuration的NSA靜態(tài)分析優(yōu)化技術。為了識別后向數(shù)據(jù)流分析結果中產(chǎn)生的穩(wěn)定configuration,我們通過增加一個布爾變量將原來configuration二元組擴展為三元組,使configuration能夠記錄狀態(tài)轉換信息,并修改了后向數(shù)據(jù)流分析過程中的configuration轉換算法。本文提出了消除穩(wěn)定configuration對識別冗余監(jiān)控插裝代碼時的不利影響的規(guī)則,并對該規(guī)則的正確性進行了證明。在程序中存在多個相同類型的對象的操作相互交叉的情況下,我們的優(yōu)化技術能進一步提高NSA靜態(tài)分析的精度,識別和刪除更多的冗余監(jiān)控插裝代碼。2.定義了本地對象和過程間configuraiton的概念,提出了基于本地對象的優(yōu)化技術,它可以進一步提高NSA靜態(tài)分析技術識別冗余監(jiān)控插裝代碼的能力。本文基于過程內流敏感的指針別名信息,設計了一個識別本地對象的高效算法。我們通過增加一個布爾變量將configuration擴展為三元組結構,使其能夠記錄數(shù)據(jù)流分析過程中的過程間控制流傳播信息,便于從數(shù)據(jù)流分析結果中識別過程間configuration。另外,根據(jù)configuration在控制流圖中的傳播機理,本文修改了configuration在過程間的傳播轉換函數(shù)。基于本地對象和過程間configuration,本文提出了消除過程間configuration對識別冗余監(jiān)控插裝代碼時的不利影響的規(guī)則,并證明了該規(guī)則的正確性。3.提出了基于部分過程間流敏感信息的NSA分析優(yōu)化技術,其核心思想是利用被調用方法中所包含的部分流敏感信息,精化過程間方法調用的數(shù)據(jù)流分析結果。這樣我們可以不用對整個程序的控制流圖進行流敏感的數(shù)據(jù)流分析,有效地避免了完全過程間流敏感分析的代價,還能進一步提高NSA靜態(tài)分析的精度。本文定義了兩個變量綁定和configuration的二元運算符,計算過程間數(shù)據(jù)流分析的結果。基于過程內流敏感的肯定別名分析算法,本文定制了一個簡單高效的過程間肯定別名分析算法。在此基礎之上,本文介紹了基于部分過程間流敏感信息的NSA靜態(tài)分析優(yōu)化技術的工作流程。4.本課題實現(xiàn)了以上三種優(yōu)化技術,并將它們集成到Clara框架中,將Clara的靜態(tài)分析階段由3個擴展到6個。采用學術界公認的Da Capo基準程序測試集,對比分析和評估我們所提出的優(yōu)化方法的效果。實驗表明,我們所提出的優(yōu)化方法能夠在超過一半的案例中有明顯的效果,平均每個案例在原來NSA靜態(tài)分析之后還能進一步刪除11個監(jiān)控插裝代碼。特別是在兩個案例中,我們得到了非常好的實驗結果,完全刪除了由原來NSA技術不能識別的冗余監(jiān)控插裝代碼,避免了運行時動態(tài)監(jiān)控。此外,三種優(yōu)化方法并不會額外地引入大量的分析時間。事實上,與程序在編譯階段的總時間相比,優(yōu)化技術引入的額外開銷幾乎可以忽略不計。
【學位授予單位】:國防科學技術大學
【學位級別】:博士
【學位授予年份】:2016
【分類號】:TP311.5

【相似文獻】

相關期刊論文 前10條

1 王凱;孔祥營;;軟件靜態(tài)分析工具評析[J];指揮控制與仿真;2011年02期

2 張少白,馮志全,成謝鋒;靜態(tài)分析器靜態(tài)分析過程的研究及實現(xiàn)[J];濟南大學學報(自然科學版);2001年03期

3 李亞紅,郝克剛,葛瑋;一個靜態(tài)分析器的設計與實現(xiàn)[J];微機發(fā)展;2004年12期

4 郭榮鋒;金茂忠;劉超;;輕量級靜態(tài)分析器構造方法綜述[J];計算機應用研究;2008年08期

5 陳杰;;基于最弱前置條件的靜態(tài)分析誤報消除技術[J];計算機工程與應用;2012年33期

6 黃世葆,蔡之華;靜態(tài)分析器應用研究[J];微型機與應用;2001年06期

7 陳超;李俊;孔德光;;基于數(shù)據(jù)融合的源代碼靜態(tài)分析[J];計算機工程;2008年20期

8 趙明忠;;結構力學靜態(tài)分析計算后的數(shù)據(jù)后處理[J];火控雷達技術;1988年04期

9 賀鈞;通過靜態(tài)分析提高程序測試的效率[J];現(xiàn)代電子技術;2002年11期

10 張華;;面向軟件缺陷檢測的靜態(tài)分析技術[J];濰坊學院學報;2008年02期

相關會議論文 前9條

1 楊繡;宮云戰(zhàn);金大海;;一種基于靜態(tài)分析的資源泄漏檢測方法[A];第三屆全國軟件測試會議與移動計算、柵格、智能化高級論壇論文集[C];2009年

2 江雷;朱建平;;基于靜態(tài)分析的軟件安全檢測技術研究[A];全國計算機安全學術交流會論文集(第二十四卷)[C];2009年

3 肖慶;楊朝紅;畢學軍;;基于靜態(tài)分析的面向故障測試方法[A];第四屆中國測試學術會議論文集[C];2006年

4 祁鵬;宮云戰(zhàn);金大海;;面向故障的C++程序全局靜態(tài)分析框架[A];第三屆全國軟件測試會議與移動計算、柵格、智能化高級論壇論文集[C];2009年

5 蘇娟;杜普選;崔欣;姜道勇;;鐵路FSK信號靜態(tài)分析系統(tǒng)研究[A];'2006系統(tǒng)仿真技術及其應用學術交流會論文集[C];2006年

6 萬琳;劉娟;金麗亞;;未初始化變量故障的靜態(tài)分析[A];第四屆中國測試學術會議論文集[C];2006年

7 李冬萌;徐國勝;黃欣;;針對JSP的基于靜態(tài)分析與動態(tài)過濾的XSS攻擊的防范設計[A];虛擬運營與云計算——第十八屆全國青年通信學術年會論文集(下冊)[C];2013年

8 龔飛;葉紅玲;隋允康;;籃球筐的數(shù)值分析[A];北京力學會第11屆學術年會論文摘要集[C];2005年

9 丁元;周樹高;凌俊;李淑琦;;廣州城鄉(xiāng)居民消費結構變動及對策研究[A];第九屆珠三角流通學術峰會——擴大內需與現(xiàn)代流通體系建設論文集[C];2012年

相關博士學位論文 前3條

1 王承松;Typestate性質運行時驗證的關鍵技術研究[D];國防科學技術大學;2016年

2 姬秀娟;資源泄露故障靜態(tài)分析的關鍵技術研究[D];南開大學;2014年

3 楊學紅;BPEL流程的故障模式及其靜態(tài)分析技術的研究[D];北京郵電大學;2011年

相關碩士學位論文 前10條

1 宋衛(wèi)衛(wèi);RecEye:一種針對安卓竊聽程序的檢測方法[D];復旦大學;2014年

2 胡世超;無線傳感器網(wǎng)絡路由協(xié)議實現(xiàn)的靜態(tài)分析研究[D];北京工業(yè)大學;2015年

3 潘志輝;基于代價敏感的源代碼警告分類研究[D];重慶大學;2016年

4 毛辰宇;一種基于意圖的SQLIA檢測方法[D];江西師范大學;2016年

5 劉勇;基于靜態(tài)分析的惡意App檢測工具的設計與實現(xiàn)[D];河南大學;2016年

6 吳春華;搬物機械手及其強度特性分析技術研究[D];杭州電子科技大學;2016年

7 曹星辰;基于靜態(tài)分析的軟件安全性評估方法研究[D];華中科技大學;2015年

8 武翔宇;基于手勢定向投放的安卓應用測試技術研究[D];南京大學;2017年

9 劉莉;文件化簡技術在靜態(tài)分析中的研究與應用[D];北京郵電大學;2012年

10 王相懂;軟件靜態(tài)分析自動化工具的研究與實現(xiàn)[D];西安理工大學;2006年

,

本文編號:2530812

資料下載
論文發(fā)表

本文鏈接:http://www.sikaile.net/shoufeilunwen/xxkjbs/2530812.html


Copyright(c)文論論文網(wǎng)All Rights Reserved | 網(wǎng)站地圖 |

版權申明:資料由用戶d73ed***提供,本站僅收錄摘要或目錄,作者需要刪除請E-mail郵箱bigeng88@qq.com