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

當(dāng)前位置:主頁 > 科技論文 > 計算機(jī)論文 >

面向并發(fā)程序的重構(gòu)一致性檢測方法

發(fā)布時間:2022-02-04 20:32
  針對并發(fā)軟件重構(gòu)后可能帶來的行為不一致問題,提出了一種重構(gòu)一致性檢測方法,該方法使用控制流分析和數(shù)據(jù)流分析檢測重構(gòu)前后的變化,使用同步依賴分析檢測重構(gòu)前后同步依賴關(guān)系的變化.針對對象重用性、靜態(tài)共享字段、死鎖3種典型的引起并發(fā)錯誤的情況,設(shè)計了3種檢測算法對重構(gòu)前后程序的不一致性進(jìn)行檢測.依據(jù)該方法,在WALA軟件分析框架下實現(xiàn)了一個原型檢測工具.在實驗中,使用該工具在SPECjbb2005和HSQLDB測試程序上進(jìn)行了驗證,并與Schafer等提出的方法進(jìn)行比較,實驗結(jié)果表明,該方法能夠有效地發(fā)現(xiàn)并發(fā)軟件重構(gòu)的不一致行為. 

【文章來源】:河北師范大學(xué)學(xué)報(自然科學(xué)版). 2020,44(03)

【文章頁數(shù)】:9 頁

【部分圖文】:

面向并發(fā)程序的重構(gòu)一致性檢測方法


檢測框架

對象,算法,監(jiān)視器,類型


圖3為對象重用檢測算法.通過檢測監(jiān)視器對象的類型,對監(jiān)視器對象類型進(jìn)行判斷,判斷其是否為Boolean,Integer或String等類型.方法doPerformAnalysis(1~5行)中,被檢測的程序如果檢測的方法不為空,則通過調(diào)用方法populateBugInstances檢測程序中符合條件的監(jiān)視器對象信息,賦值給bugInstances實例獲取最終符合條件的重用對象.方法populateBugInstances(6~12行)判斷獲取的指令是否為重用對象.其中獲取的指令instruction必須為監(jiān)視器獲取鎖定指令.通過調(diào)用方法getReusableLockObjectTypes給reusableLockObjectTypes賦值.該reusableLockObjectTypes符合對象重用類型.方法getReusableLockObjectTypes(13~18行),獲取監(jiān)視器指令monitorInstruction的指向地址,將其賦值給instanceKey.通過方法createReusableChecker判斷instanceKey是否為重用對象類型.方法createReusableChecker(19~29行),獲取instanceKey的類型,如果其類型為Boolean,Integer或String等重用類型,則檢測出該程序中含有對象重用問題.2.2 靜態(tài)共享字段檢測

對象,示例,類型,監(jiān)視器


對象的重用是在鎖定諸如Boolean,Integer等類型的對象時發(fā)生的重用,如Boolean類型只有2個值true和false,如果使用2個Boolean類型對象作為同步監(jiān)視器對象,可能會因指向同一地址而導(dǎo)致問題.如圖2的示例程序,在synchronized同步塊中,其鎖定監(jiān)視器對象類型是Boolean類型.方法oneMethod( )和方法anotherMethod( )分別會在2個線程中執(zhí)行.由于Boolean FALSE和false 2個常量代表同一內(nèi)存位置,實際上是同一個同步對象,在圖2的程序中雖然使用2個不同名字的同步對象,但會導(dǎo)致臨界資源的訪問形成互斥.圖3為對象重用檢測算法.通過檢測監(jiān)視器對象的類型,對監(jiān)視器對象類型進(jìn)行判斷,判斷其是否為Boolean,Integer或String等類型.方法doPerformAnalysis(1~5行)中,被檢測的程序如果檢測的方法不為空,則通過調(diào)用方法populateBugInstances檢測程序中符合條件的監(jiān)視器對象信息,賦值給bugInstances實例獲取最終符合條件的重用對象.方法populateBugInstances(6~12行)判斷獲取的指令是否為重用對象.其中獲取的指令instruction必須為監(jiān)視器獲取鎖定指令.通過調(diào)用方法getReusableLockObjectTypes給reusableLockObjectTypes賦值.該reusableLockObjectTypes符合對象重用類型.方法getReusableLockObjectTypes(13~18行),獲取監(jiān)視器指令monitorInstruction的指向地址,將其賦值給instanceKey.通過方法createReusableChecker判斷instanceKey是否為重用對象類型.方法createReusableChecker(19~29行),獲取instanceKey的類型,如果其類型為Boolean,Integer或String等重用類型,則檢測出該程序中含有對象重用問題.


本文編號:3613893

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

本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/3613893.html


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

版權(quán)申明:資料由用戶d16f4***提供,本站僅收錄摘要或目錄,作者需要刪除請E-mail郵箱bigeng88@qq.com
精品偷拍一区二区三区| 日本欧美一区二区三区高清| 欧美国产日本免费不卡| 中文字幕人妻一区二区免费| 国产不卡最新在线视频| 亚洲男人的天堂久久a| 中国美女偷拍福利视频| 国产精品一区二区成人在线| 欧美人妻盗摄日韩偷拍| 亚洲高清亚洲欧美一区二区| 欧美国产日产综合精品| 日本成人三级在线播放| 97人妻精品一区二区三区男同| 91日韩在线视频观看| 日韩欧美三级中文字幕| 日韩精品人妻少妇一区二区| 日本精品啪啪一区二区三区| 日本高清二区视频久二区| 日本丰满大奶熟女一区二区| 在线观看国产午夜福利| av在线免费播放一区二区| 国产午夜在线精品视频| 91人妻人澡人人爽人人精品| 国产免费黄片一区二区| 一区二区三区四区亚洲另类| 国产精品亚洲一区二区| 久久精品亚洲精品国产欧美| 国产不卡免费高清视频| 开心五月激情综合婷婷色| 国产毛片av一区二区三区小说| 四十女人口红哪个色好看| 久久精品国产在热亚洲| 欧美做爰猛烈叫床大尺度| 久久精品国产第一区二区三区| av免费视屏在线观看| 风间中文字幕亚洲一区| 青青操视频在线播放免费| 精品少妇人妻av一区二区蜜桃| 国产一区二区三区丝袜不卡| 内射精子视频欧美一区二区| 国产中文另类天堂二区|