• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    一種基于調(diào)用鏈的Java程序數(shù)據(jù)競爭靜態(tài)檢測算法*

    2013-11-28 09:39:58宋東海陳二虎
    艦船電子工程 2013年12期
    關(guān)鍵詞:線程調(diào)用內(nèi)存

    宋東海 陳二虎

    (1.92493部隊(duì)88分隊(duì) 葫蘆島 125001)(2.92515部隊(duì) 葫蘆島 125001)

    1 引言

    隨著多核技術(shù)的出現(xiàn)和GUI程序的廣泛應(yīng)用,為有效利用計(jì)算資源,提高系統(tǒng)效率,而廣泛采用并發(fā)程序設(shè)計(jì)。雖然Java編程語言為編寫多線程程序提供了強(qiáng)大的語言支持,但是編寫正確高效的多線程并發(fā)程序仍然比較困難。在多線程程序中,當(dāng)兩個(gè)線程在無時(shí)序約束的情況下訪問同一內(nèi)存位置并且至少有一個(gè)是寫訪問時(shí),就會(huì)導(dǎo)致數(shù)據(jù)競爭[1]。粗粒度的保守機(jī)制可以避免數(shù)據(jù)競爭,但與此同時(shí)可能會(huì)產(chǎn)生死鎖,并發(fā)多線程編程導(dǎo)會(huì)致許多特定的優(yōu)化和檢錯(cuò)問題。高效、精確的競爭檢測對于提高軟件可靠性,增強(qiáng)系統(tǒng)的穩(wěn)定性具有重要意義。

    2 Java數(shù)據(jù)競爭檢測

    2.1 競爭檢測技術(shù)研究現(xiàn)狀

    按照競爭檢測的時(shí)機(jī),數(shù)據(jù)競爭檢測可分為競爭動(dòng)態(tài)檢測、競爭靜態(tài)檢測。競爭動(dòng)態(tài)檢測主要有基于發(fā)生序(happen-before order)[2~3]、基于鎖集(lock-set)[4~5]以及其混合方法[6~7],采用插樁技術(shù)能獲得變量和別名的準(zhǔn)確信息,準(zhǔn)確捕獲共享內(nèi)存訪問的發(fā)生序和鎖集信息,幾乎不產(chǎn)生誤報(bào)(false-positive),但依賴于程序輸入,只分析與程序執(zhí)行路徑有關(guān)的代碼,會(huì)漏報(bào)(false-negative)一些真正的數(shù)據(jù)競爭并且開銷很大。競爭靜態(tài)檢測是程序編譯時(shí)或者編譯后對源程序或者目標(biāo)代碼進(jìn)行檢測,需要分析整個(gè)程序,不像動(dòng)態(tài)競爭檢測,無需插樁,不需占用程序的運(yùn)行時(shí)間,不受程序規(guī)模限制。但因靜態(tài)分析的不可判定性[8],對于任何一個(gè)有一定規(guī)模的軟件,希望獲得關(guān)于它的完備描述通常是不現(xiàn)實(shí)的[9],往往采用不完備的近似算法,靜態(tài)分析的結(jié)果比較保守。

    由于并發(fā)程序中線程調(diào)度的不確定性,精確的數(shù)據(jù)競爭檢測是一個(gè)NP-h(huán)ard[1]問題,數(shù)據(jù)競爭很難被發(fā)現(xiàn)和重現(xiàn),并且數(shù)據(jù)競爭不像死鎖,不會(huì)導(dǎo)致程序的突然失效,無法繼續(xù)運(yùn)行,大量的誤報(bào)會(huì)使得使用者對靜態(tài)分析工具失去信心和耐心。含有數(shù)據(jù)競爭錯(cuò)誤的程序調(diào)試是非常困難的,為了提高分析精度,減少誤報(bào),便于調(diào)試程序,有必要提高數(shù)據(jù)競爭靜態(tài)檢測的精度。

    2.2 Java內(nèi)存模型

    內(nèi)存模型描述的是程序中變量(實(shí)例域、靜態(tài)域、數(shù)組元素等)之間的關(guān)系,以及在實(shí)際計(jì)算機(jī)系統(tǒng)中將變量存儲(chǔ)到內(nèi)存和從內(nèi)存取出變量的底層細(xì)節(jié)。

    JMM(Java memory model)是JVM的內(nèi)存模型,規(guī)范了線程之間通過內(nèi)存的交互原則。JMM定義了一個(gè)統(tǒng)一的內(nèi)存管理模型,屏蔽了底層平臺(tái)內(nèi)存管理細(xì)節(jié),具體由各個(gè)虛擬機(jī)來實(shí)現(xiàn)對內(nèi)存的動(dòng)態(tài)管理,包括對內(nèi)存的分配以及回收。JMM將線程能訪問的內(nèi)存分為主內(nèi)存(main memory)與工作內(nèi)存(working memory),Java中所有類實(shí)例域、靜態(tài)域、數(shù)組都儲(chǔ)存在主內(nèi)存中,對于所有線程都是共享的。每個(gè)線程都有自己的工作內(nèi)存,工作內(nèi)存中保存的是主內(nèi)存中某些變量的拷貝和臨時(shí)變量,線程內(nèi)對所有變量的操作都是在工作內(nèi)存中進(jìn)行,線程之間無法相互直接訪問,變量傳遞均需要通過主內(nèi)存完成,數(shù)據(jù)競爭只可能出現(xiàn)在主內(nèi)存變量上。

    2.3 Java語言數(shù)據(jù)競爭靜態(tài)檢測

    Java程序競爭靜態(tài)檢測主要有流非敏感的類層次型約束的系統(tǒng),流敏感的基于鎖集合算法的靜態(tài)檢測,路徑敏感的模型檢測器。Choi[10]等人將競爭檢測分成一系列分析階段,包括逃逸分析階段、別名分析階段、競爭檢測階段。在此基礎(chǔ)上斯坦福Naik[11]等人提出了一種K-對象敏感、上下文敏感Java程序競爭靜態(tài)檢測算法,算法分為五個(gè)階段:1)可達(dá)競爭對檢測(originalRaces);2)別名競爭對檢測(aliasingRaces);3)逃逸競爭對檢測(escapingRaces);4)并發(fā)競爭對檢測(paralleRaces);5)未加鎖競爭對檢測(unlockedRaces)。該算法隨著各階段的進(jìn)行,逐漸縮小檢測范圍,采用了自適應(yīng) K-對象敏感(k-object-sensitive)的上下文信息,提高了靜態(tài)分析的精度。張昱[7]等人基于即時(shí)編譯器(just-in time,JIT)采用增量式競爭檢測技術(shù),提高了競爭檢測的精度。

    2.4 并發(fā)程序靜態(tài)切片

    程序切片作為一種對程序結(jié)構(gòu)進(jìn)行分析的技術(shù),可以用在程序信息分析方面,從而增強(qiáng)對程序的理解、調(diào)試、測試和確認(rèn)。1993年,J.Cheng[12]最早考慮了并發(fā)程序的靜態(tài)切片,并提出了一種基于程序依賴網(wǎng)(PDN)的并發(fā)程序切片方法。1998年,J.Krinke[13]針對多線程程序提出了一種新的靜態(tài)切片算法,引入了線程控制流圖、線程程序依賴圖,同時(shí)提出了線程證據(jù)的概念,用來描述多線程程序的執(zhí)行路徑。對程序的分析主要考慮程序數(shù)據(jù)依賴和控制依賴關(guān)系。Ranganath[14]于2003年又提出了并發(fā)程序干擾依賴(Interference Dependence)和現(xiàn)成依賴(Ready Dependence)的概念。2007年,戚曉芳[15]提出了線程交互可達(dá)圖,構(gòu)建了以程序狀態(tài)和語句二元組為節(jié)點(diǎn)的并發(fā)程序依賴圖。隨著Java等語言并發(fā)程序的應(yīng)用越來越多,多線程程序的分析、調(diào)試、測試比傳統(tǒng)單線程程序更復(fù)雜。并發(fā)程序切片工具可以使并發(fā)程序的理解和維護(hù)等工作更容易完成。

    3 類層次的Java競爭靜態(tài)檢測算法(Class-lever DC)

    雖然競爭靜態(tài)檢測作為一種有效的數(shù)據(jù)競爭檢測方法,但是競爭靜態(tài)檢測受到線程交互、動(dòng)態(tài)數(shù)據(jù)分配、別名信息、流信息、路徑信息、數(shù)組元素的影響,很難有精確的實(shí)現(xiàn)。為了提高檢測競爭檢測的有效性并且方便程序理解,需要對競爭靜態(tài)檢測的結(jié)果進(jìn)行確認(rèn),但是對數(shù)據(jù)競爭結(jié)果進(jìn)行確認(rèn)費(fèi)時(shí)費(fèi)力。

    本文將競爭靜態(tài)檢測技術(shù)和靜態(tài)程序切片技術(shù)結(jié)合起來,提出了一種類層次的Java數(shù)據(jù)競爭靜態(tài)檢測算法。該算法首先以函數(shù)調(diào)用鏈為上下文信息對類域進(jìn)行分析,找出可能數(shù)據(jù)競爭,然后通過對函數(shù)調(diào)用鏈靜態(tài)切片分析,并結(jié)合數(shù)據(jù)競爭的必要條件,去掉不可能數(shù)據(jù)競爭。

    3.1 數(shù)據(jù)競爭必要條件

    用五元組(t,p,v,e,ls)表示線程t在程序點(diǎn)p 對變量v進(jìn)行訪問e(e為讀r或?qū)憌),ls表示在程序點(diǎn)p變量v訪問時(shí)擁有的鎖集,如果線程t在程序點(diǎn)p對變量v進(jìn)行訪問e時(shí),v沒有被鎖保護(hù),則ls為?。數(shù)據(jù)對(t1,p1,v1,e1,ls1),(t2,p2,v2,e2,ls2)為數(shù)據(jù)競爭的必要條件:

    1)t1≠t2;

    2)alias(v1,v2)=true;

    3)程序點(diǎn)p1、p2處對變量v1、v2的訪問語句能夠并發(fā)執(zhí)行,不具有發(fā)生序;

    4)e1,e2至少一個(gè)為寫操作;

    5)?l1∈ls1,?l2∈ls2,alias(l1,l2)=false(v1,v2在程序點(diǎn)p不被同一別名鎖保護(hù))。

    3.2 競爭檢測算法描述

    Narayanasamy[16]發(fā)現(xiàn)程序中的絕大部分?jǐn)?shù)據(jù)競爭是無害的。通過對Java并發(fā)程序進(jìn)行分析,可以發(fā)現(xiàn)產(chǎn)生數(shù)據(jù)競爭的類是非常少的,需要更加重視頻繁使用以及更值得關(guān)注的類,因此本文提出了類層次的Java程序數(shù)據(jù)競爭靜態(tài)檢測算法。

    3.2.1 類層次的Java數(shù)據(jù)競爭靜態(tài)檢測算法

    類層次的Java程序數(shù)據(jù)競爭靜態(tài)檢測算法包含兩個(gè)部分:類層次數(shù)據(jù)競爭預(yù)測部分和以函數(shù)調(diào)用鏈的數(shù)據(jù)競爭確認(rèn)部分。

    類層次的Java程序數(shù)據(jù)競爭靜態(tài)檢測算法:

    類層次的Java程序數(shù)據(jù)競爭靜態(tài)檢測算法的數(shù)據(jù)競爭預(yù)測部分對一個(gè)類的每個(gè)字段進(jìn)行分析,找出一對可能產(chǎn)生數(shù)據(jù)競爭的程序語句。記一個(gè)待分析類的字段集合F(包含實(shí)例字段和靜態(tài)字段)、函數(shù)集合M,啟動(dòng)線程集T(T表示啟動(dòng)線程集合,包含main函數(shù)和start函數(shù)啟動(dòng)的線程。滿足關(guān)系;T={([],main)}∪{(o,start)}),字段操作E(E={r,w}),函數(shù)調(diào)用鏈L(L為 m1-m2-m3…mn-1mn,表示函數(shù) mn調(diào)用 mn-1,…,m3調(diào)用 m2,m2調(diào)用m1),則函數(shù)m中對字段f操作記為f-e-m∈F×E×M,線程t中調(diào)用函數(shù)m記為m-l-t∈M×L×T。因此f-e-m-l-t∈F×E×M×L×T表示線程t以l為調(diào)用鏈的方法m內(nèi)對類字段f進(jìn)行e操作,用OP表示這些操作的集合。

    如圖1所示,我們從類Class的代碼中可以獲得類的F×E×M集合,從程序函數(shù)調(diào)用圖中可以獲得M×L×T集合。根據(jù)數(shù)據(jù)競爭必要條件4),利用笛卡爾積運(yùn)算可以計(jì)算待分析類上的數(shù)據(jù)競爭〈f-w/r-m1-l1-t1,f-wm2-l2-t2〉。

    圖1 數(shù)據(jù)競爭預(yù)測

    圖2 數(shù)據(jù)競爭確認(rèn)

    如圖2所示,〈f-e-m1-l1-t1,f-e-m2-l2-t2〉表示一個(gè)可能的數(shù)據(jù)競爭對,以函數(shù)調(diào)用鏈的數(shù)據(jù)競爭確認(rèn)部分對類層次的數(shù)據(jù)競爭預(yù)測部分產(chǎn)生的數(shù)據(jù)競爭進(jìn)行確認(rèn)。通過MHP(可能并行執(zhí)行)分析[17],根據(jù)數(shù)據(jù)競爭必要條件3)去掉不能并發(fā)執(zhí)行的語句對;通過TLO(線程局部對象)分析[18],根據(jù)數(shù)據(jù)競爭必要條件1)去掉不能被多個(gè)線程訪問變量的語句對;最后進(jìn)行別名鎖分析,根據(jù)數(shù)據(jù)競爭必要條件2)和5),更進(jìn)一步對競爭結(jié)果進(jìn)行確認(rèn),判斷兩個(gè)引用變量是否可能別名,如果不可能的話,則說明不可能產(chǎn)生數(shù)據(jù)競爭。如果兩個(gè)引用變量可能別名,則在此基礎(chǔ)上判斷它們是否被相同鎖保護(hù),如果被同一鎖保護(hù),則說明對共享變量的訪問被同步保護(hù),不會(huì)產(chǎn)生數(shù)據(jù)競爭,否則說明可能產(chǎn)生數(shù)據(jù)競爭。

    3.2.2 算法分析

    A和B為待分析的兩個(gè)類,其中類A有字段f1,類B有字段f2,類B上的可能數(shù)據(jù)競爭對記為〈B.f2-e-B.mi-l1-t1,B.f2-e-B.mj-l2-t2〉,類B 的函數(shù)mi訪問(直接或間接)類A的字段f1,類B的函數(shù)mj訪問(直接或間接)類A的字段f1,因此,類A上的可能數(shù)據(jù)競爭對可以記為〈A.f1-e-A.mp-mp+1-…-B.mi-l1-t1,A.f1-e-A.mq-mq+1-B.mj-l2-t2〉。消除類A 上數(shù)據(jù)競爭〈A.f1-e-A.mp-mp+1-…-B.mi-l1-t1,A.f1-e-A.mq-mq+1-B.mj-l2-t2〉的同時(shí)可以消除與之關(guān)聯(lián)的類B上的數(shù)據(jù)競爭〈B.f2-e-B.mi-l1-t1,B.f2-e-B.mj-l2-t2〉,即消除一個(gè)類上的數(shù)據(jù)競爭同時(shí)可以消除與之有關(guān)聯(lián)類上的相應(yīng)數(shù)據(jù)競爭。類A上的函數(shù)相對于類B上的函數(shù)處于函數(shù)調(diào)用鏈的底層,類層次的數(shù)據(jù)競爭算法預(yù)測部分以類為基礎(chǔ)對程序進(jìn)行數(shù)據(jù)競爭預(yù)測,使得我們可以根據(jù)類之間的關(guān)系來安排類上數(shù)據(jù)競爭檢測的順序,可以首先分析類層次較低的類(一般它的函數(shù)處于函數(shù)調(diào)用鏈的底層)或者更需要關(guān)注的類(程序中頻繁使用的類或?qū)θ蝿?wù)關(guān)鍵的類)。

    在以函數(shù)調(diào)用鏈為上下文的數(shù)據(jù)競爭確認(rèn)部分,利用數(shù)據(jù)競爭的必要條件,對以類為層次的數(shù)據(jù)競爭預(yù)測部分產(chǎn)生的可能數(shù)據(jù)競爭進(jìn)行確認(rèn),逐步求精,最后可以獲得較精確的數(shù)據(jù)競爭檢測結(jié)果,但由于靜態(tài)程序分析的不可判定性,由于是根據(jù)數(shù)據(jù)競爭的必要條件進(jìn)行判斷,檢測結(jié)果有一定的誤報(bào)率。

    可以通過對程序中的每個(gè)類執(zhí)行一次算法,就會(huì)獲得整個(gè)程序的數(shù)據(jù)競爭。并且以函數(shù)調(diào)用鏈為上下文,縮小了程序分析的范圍,易于理解競爭出現(xiàn)的原因,讓程序員關(guān)注函數(shù)調(diào)用鏈上的代碼,便于指導(dǎo)修復(fù)程序中的競爭缺陷。

    4 競爭檢測實(shí)例分析

    本節(jié)將通過一個(gè)Java多線程程序?qū)嵗敿?xì)介紹了競爭靜態(tài)檢測原型工具的分析執(zhí)行過程。以附錄1程序進(jìn)行實(shí)例分析。我們對類A進(jìn)行分析,首先獲得F={f4},M={A.init,A.set,A.get}(其中init為類的構(gòu)造函數(shù)),F(xiàn)-EM={f4-r-A.get,f4-w-A.init,f4-w-A.get}。

    從附錄1程序的函數(shù)調(diào)用圖中可以獲得M-L-T={A.get-B.get-T.main,A.get-B.get-T.run,A.set-B.set-T.main,A.init-B.init-T.main,A.set-B.set-T.run},為了方便后面闡述,F(xiàn)-E-M-L-T記為:

    防疫部門應(yīng)加大對疫情的監(jiān)測力度,并制定一套完善的疫情預(yù)警報(bào)告制度,時(shí)刻留意牧區(qū)羊群的生長狀況。一旦發(fā)現(xiàn)存在疑似感染小反芻獸疫病的羊只,應(yīng)在第一時(shí)間內(nèi)進(jìn)行隔離,待其恢復(fù)健康后,才能繼續(xù)同群飼養(yǎng)。因此,積極做好對牧區(qū)疫情的監(jiān)測工作是控制小反芻獸疫病毒肆意傳播的重要舉措。

    ①f4-r-A.get-B.get-T.main;②f4-r-A.get-B.get-T.run;

    ③f4-w-A.set-B.set-T.main;④f4-w-A.init-B.init-T.main;⑤f4-w-A.set-B.set-T.run(其中⑤屬于多個(gè)線程)

    如表1所示,對于可能競爭〈①,⑤〉,通過對調(diào)用鏈①,⑤分析,調(diào)用鏈①,⑤分別對v1.v8.f4(即同一內(nèi)存快)進(jìn)行讀寫,并且他們沒有被鎖保護(hù),會(huì)產(chǎn)生數(shù)據(jù)競爭。

    表1 競爭詳細(xì)信息

    如表2所示,可以對類層次生成的其他可能數(shù)據(jù)競爭進(jìn)行分析。

    表2 競爭檢測

    通過對調(diào)用鏈②,③分析,v2,v7屬于別名,并且被別名鎖(v2,v7)保護(hù),則不會(huì)產(chǎn)生數(shù)據(jù)競爭。對于可能競爭〈②,④〉,通過對調(diào)用鏈②,④分析,調(diào)用鏈②先于④執(zhí)行,他們不會(huì)產(chǎn)生數(shù)據(jù)競爭。對于可能競爭〈②,⑤〉,通過對調(diào)用鏈②,⑤分析,調(diào)用鏈②,⑤分別對v1.v8.f4,v2.v8.f4進(jìn)行讀寫,但是v1,v2屬于不同對象,則不會(huì)產(chǎn)生數(shù)據(jù)競爭。對于可能競爭〈③,⑤〉,通過對調(diào)用鏈③,⑤分析,調(diào)用鏈③,⑤分別對v1.v8.f4,v2.v8.f4進(jìn)行讀寫,但是v1,v2屬于不同對象,則不會(huì)產(chǎn)生數(shù)據(jù)競爭。對于可能競爭〈④,⑤〉,通過對調(diào)用鏈④,⑤分析,調(diào)用鏈④先于調(diào)用鏈⑤執(zhí)行,則不會(huì)產(chǎn)生數(shù)據(jù)競爭。對于可能競爭〈⑤,⑤〉,調(diào)用鏈⑤,⑤分別對v1.v8.f4(即同一內(nèi)存快)進(jìn)行讀寫,并且他們沒有被鎖保護(hù),會(huì)產(chǎn)生數(shù)據(jù)競爭。

    表3 競爭檢測結(jié)果

    同理,對類B,T進(jìn)行分析,可以獲得整個(gè)程序的數(shù)據(jù)競爭。通過對每個(gè)類進(jìn)行分析,我們發(fā)現(xiàn)類A〈①f4-r-A.get-B.get-T.main,⑤f4-w-A.set-B.set-T.run〉上的數(shù)據(jù)競爭與類B〈①f3-r-B.get-T.main,⑤f3-w-B.set-T.run〉上的數(shù)據(jù)競爭是有關(guān)聯(lián)的,實(shí)際上是由于對類B的A類型實(shí)例字段f3的訪問導(dǎo)致的??梢酝ㄟ^對類A的訪問進(jìn)行保護(hù),消除類A,類B上的數(shù)據(jù)競爭。同理可以消除類T的數(shù)據(jù)競爭。

    5 結(jié)語

    數(shù)據(jù)競爭不會(huì)導(dǎo)致程序的突然失效,而未受到開發(fā)人員的重視,雖然現(xiàn)在的數(shù)據(jù)競爭檢測主要是以動(dòng)態(tài)競爭檢測為主,但是由于靜態(tài)競爭檢測不需要對運(yùn)行程序進(jìn)行插裝,不會(huì)影響系統(tǒng)運(yùn)行。隨著靜態(tài)競爭檢測技術(shù)分析結(jié)果精度的不斷提高,靜態(tài)競爭檢測越來越受到重視。本文通過引入切片技術(shù),提出了一種類層次基于調(diào)用鏈的Java數(shù)據(jù)競爭靜態(tài)檢測算法。通過實(shí)例分析,發(fā)現(xiàn)類之間的數(shù)據(jù)競爭是有關(guān)聯(lián)的,對一個(gè)類進(jìn)行修改,不僅可以消除這個(gè)類上的數(shù)據(jù)競爭,還能消除與之有關(guān)聯(lián)的類上的部分?jǐn)?shù)據(jù)競爭。實(shí)例表明,該算法是可行的,我們對整個(gè)程序進(jìn)行數(shù)據(jù)競爭檢測分析,可以首先對待分析的各個(gè)類按照使用頻率和重要程度進(jìn)行排序,然后對各個(gè)類進(jìn)行數(shù)據(jù)競爭檢測,由于各個(gè)類上的數(shù)據(jù)競爭是有關(guān)聯(lián)的,并且對于修復(fù)程序中的競爭缺陷具有指導(dǎo)意義。下一步可以進(jìn)一步研究類之間的關(guān)系與其上數(shù)據(jù)競爭分布的規(guī)律,安排類之間競爭檢測的順序,在保證軟件質(zhì)量的同時(shí),盡可能的節(jié)約測試成本。

    [1]Netzer R H B,Miller B P.What are race conditions?some issues and formalizations[J].ACM Letters on Programming Languages and Systems,1992,1(1):74-88.

    [2]Adve S V,Hill M D,Miller B P,et al.Detecting data races on weak memory systems[C]//Proceedings of the 18th Annual International Symposium on Computer Architecture(ISCA'91).Toronto,Canada,1991:234-243.

    [3]Christiaens M,Brosschere K.TRaDe:A topological approach to on-the-fly race detection in Java programs[C]//Proceedings of the 1st Java Virtual Machine Research and Technology Symposium(JVM'01).Monterey,California,USA,2001:105-116.

    [4]Agarwal R,Sasturkar A,Wang L,et al.Optimized run-time race detection and atomicity checking using partial discovered types[C]//Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering(ASE 2005),Long Beach,USA,November,2005:233-242.

    [5]Cheng G,F(xiàn)eng M,Leiserson C,et al.Detecting data races in Cilk programs that use locks[C]//Proceedings of the 10th Annual ACM Symposium on Parallel Algorithms and Architectures(SPAA'98),Puerto Vallarta,Mexico,1998:298-309.

    [6]Yu Y,Rodeheffer T,Chen W.RaceTrack:Efficient detection of data race conditions via adaptive tracking[C]//Proceedings of the 20th ACM Symposium on Operating Systems Principles(SOSP'05),Brighton,United Kingdom,2005:221-234.

    [7]張昱,郝允允.Java程序數(shù)據(jù)競爭的增量式檢測[J].西安交通大學(xué)學(xué)報(bào),2009,43(8):22-27.

    [8]Landi W.Undecidability of static analysis[J].ACM Letters on Programming Languages and Systems,1992,1(4):323-337.

    [9]梅宏,王千祥,張路,等.軟件分析技術(shù)進(jìn)展[J].計(jì)算機(jī)學(xué)報(bào),2009,32(9):1697-1710.

    [10]Choi J D,Loginov A,Sarkar K.Static datarace analysis for multithreaded object-oriented programs[R].IBM Research:Technical Report RC22146,2001.

    [11]Naik M.Effective static race detection for java[D].Stanford University,2008.

    [12]Cheng J.Slicing concurrent program s-A graph theoretical approach[C]//The First International Workshop on Automated and Algorithmic Debugging.Link ping,Sweden,1993:223-240.

    [13]Krnke J.Static slicing of threaded programs[J].ACM SIGPLAN Notices,1998,33(7):35-42.

    [14]Ranganath V P,Hatcliff J.Slicing concurrent Java programs using Indus and Kaveri[J].International Journal on Software Tools for Technology Transfer(STTT),2007,9(5-6):489-504.

    [15]戚曉芳,徐寶文,周曉宇.一種基于程序可達(dá)圖的并發(fā)程序依賴性分析方法[J].電子學(xué)報(bào),2007,35(2):287-291.

    [16]Narayanasamy S,Wang Z,Tigani J,et al.Automatically classifying benign and harmful data races using replay analysis[C]//Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation(PLDI).San Diego,California,USA,2007:22-31.

    [17]Li L.A practical MHP information computation for concurrent Java programs[D].Montreal,Canada:McGill University,2004.

    [18]Halpert R.Static lock allocation[D].Montreal,Canada:McGill University,2008.

    附錄1:Java多線程樣例程序EX1(該程序出自文獻(xiàn)[1]Naik M的學(xué)位論文第13頁)

    猜你喜歡
    線程調(diào)用內(nèi)存
    核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
    “春夏秋冬”的內(nèi)存
    LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
    淺談linux多線程協(xié)作
    基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
    基于內(nèi)存的地理信息訪問技術(shù)
    利用RFC技術(shù)實(shí)現(xiàn)SAP系統(tǒng)接口通信
    Linux線程實(shí)現(xiàn)技術(shù)研究
    么移動(dòng)中間件線程池并發(fā)機(jī)制優(yōu)化改進(jìn)
    上網(wǎng)本為什么只有1GB?
    汤姆久久久久久久影院中文字幕| 另类精品久久| 国产av一区二区精品久久| 久久久国产精品麻豆| 亚洲美女黄色视频免费看| 日本猛色少妇xxxxx猛交久久| 制服人妻中文乱码| 侵犯人妻中文字幕一二三四区| 在线观看一区二区三区激情| 肉色欧美久久久久久久蜜桃| 久久久久视频综合| 亚洲四区av| 日日啪夜夜爽| 黑丝袜美女国产一区| 亚洲欧洲国产日韩| 99久久综合免费| 晚上一个人看的免费电影| 午夜福利一区二区在线看| 满18在线观看网站| 亚洲内射少妇av| 久久国内精品自在自线图片| 午夜影院在线不卡| 国产成人精品久久二区二区91 | 国产男女内射视频| 最近2019中文字幕mv第一页| 亚洲人成网站在线观看播放| 国产极品天堂在线| 国产片内射在线| 97人妻天天添夜夜摸| 久久精品熟女亚洲av麻豆精品| 欧美日韩一区二区视频在线观看视频在线| 精品久久蜜臀av无| 亚洲欧美中文字幕日韩二区| 午夜福利乱码中文字幕| 这个男人来自地球电影免费观看 | 人妻少妇偷人精品九色| 人妻 亚洲 视频| 国产成人精品久久二区二区91 | 国产综合精华液| 日韩中文字幕欧美一区二区 | 巨乳人妻的诱惑在线观看| 亚洲成人av在线免费| 视频区图区小说| 中文字幕av电影在线播放| 国产成人欧美| 波野结衣二区三区在线| 色吧在线观看| 丝袜脚勾引网站| 欧美在线黄色| 久久免费观看电影| 国产一区二区 视频在线| 九色亚洲精品在线播放| 亚洲视频免费观看视频| 国产 一区精品| 人人澡人人妻人| 日韩一区二区三区影片| 99国产精品免费福利视频| 国产一区二区三区av在线| 国产一区二区 视频在线| 一区二区三区激情视频| 看十八女毛片水多多多| 亚洲一级一片aⅴ在线观看| 春色校园在线视频观看| 午夜免费观看性视频| 亚洲av欧美aⅴ国产| 欧美精品国产亚洲| 侵犯人妻中文字幕一二三四区| 国产又色又爽无遮挡免| 亚洲精品久久久久久婷婷小说| av一本久久久久| 一级a爱视频在线免费观看| 精品人妻在线不人妻| 边亲边吃奶的免费视频| 精品久久蜜臀av无| 一级黄片播放器| 尾随美女入室| 亚洲天堂av无毛| 日本爱情动作片www.在线观看| 热re99久久精品国产66热6| 欧美人与善性xxx| 香蕉国产在线看| 欧美日韩视频高清一区二区三区二| 建设人人有责人人尽责人人享有的| 蜜桃在线观看..| 欧美日韩成人在线一区二区| 亚洲情色 制服丝袜| 超碰97精品在线观看| 99国产精品免费福利视频| 2022亚洲国产成人精品| 看免费av毛片| 国产亚洲精品第一综合不卡| 中文字幕人妻丝袜制服| 国产精品三级大全| 在线观看www视频免费| 十八禁网站网址无遮挡| av免费在线看不卡| 亚洲欧美日韩另类电影网站| 老汉色av国产亚洲站长工具| 久久久精品国产亚洲av高清涩受| 国产精品嫩草影院av在线观看| 日韩精品免费视频一区二区三区| 欧美精品一区二区免费开放| 美国免费a级毛片| 天天躁狠狠躁夜夜躁狠狠躁| 国产精品国产三级专区第一集| 欧美日韩视频高清一区二区三区二| 欧美日韩亚洲高清精品| 黄频高清免费视频| 日韩制服骚丝袜av| 97在线视频观看| 久久97久久精品| 春色校园在线视频观看| 亚洲欧美中文字幕日韩二区| 精品人妻一区二区三区麻豆| 日韩av在线免费看完整版不卡| 国产高清国产精品国产三级| 欧美成人午夜免费资源| 午夜福利网站1000一区二区三区| 国产精品一区二区在线不卡| 精品亚洲乱码少妇综合久久| 亚洲精品视频女| 亚洲情色 制服丝袜| 中文字幕亚洲精品专区| 日本-黄色视频高清免费观看| 男女边吃奶边做爰视频| 免费黄网站久久成人精品| 叶爱在线成人免费视频播放| 国产精品免费大片| 欧美 日韩 精品 国产| videosex国产| 丰满乱子伦码专区| 国产一级毛片在线| 香蕉丝袜av| 欧美中文综合在线视频| 建设人人有责人人尽责人人享有的| 成年人免费黄色播放视频| 菩萨蛮人人尽说江南好唐韦庄| 免费日韩欧美在线观看| a级片在线免费高清观看视频| 一区在线观看完整版| 99九九在线精品视频| 国产色婷婷99| 最黄视频免费看| 一区二区三区乱码不卡18| 欧美97在线视频| 亚洲人成电影观看| 天天躁日日躁夜夜躁夜夜| h视频一区二区三区| 街头女战士在线观看网站| 日日爽夜夜爽网站| 日韩精品免费视频一区二区三区| 日韩精品有码人妻一区| 侵犯人妻中文字幕一二三四区| 久久久久精品人妻al黑| 欧美精品国产亚洲| 午夜精品国产一区二区电影| av网站免费在线观看视频| 午夜免费鲁丝| 美女中出高潮动态图| 成人手机av| 欧美日韩国产mv在线观看视频| 日韩视频在线欧美| 最新中文字幕久久久久| 免费黄色在线免费观看| 女人久久www免费人成看片| 少妇的丰满在线观看| 水蜜桃什么品种好| 国产精品一区二区在线观看99| av网站在线播放免费| 啦啦啦啦在线视频资源| 大话2 男鬼变身卡| 久久青草综合色| tube8黄色片| 亚洲激情五月婷婷啪啪| 精品卡一卡二卡四卡免费| 成年动漫av网址| 两性夫妻黄色片| 色播在线永久视频| 欧美变态另类bdsm刘玥| 99热网站在线观看| 天堂俺去俺来也www色官网| 亚洲人成77777在线视频| √禁漫天堂资源中文www| 国产精品久久久久久久久免| 久久久久久久久久久久大奶| 国产免费一区二区三区四区乱码| 午夜福利,免费看| 日本wwww免费看| 97人妻天天添夜夜摸| 免费大片黄手机在线观看| 可以免费在线观看a视频的电影网站 | 久久久精品区二区三区| 满18在线观看网站| 亚洲成人手机| 亚洲国产精品999| 精品国产一区二区久久| 韩国高清视频一区二区三区| 成人毛片60女人毛片免费| 精品少妇久久久久久888优播| 亚洲国产毛片av蜜桃av| av福利片在线| 麻豆乱淫一区二区| 亚洲欧美一区二区三区黑人 | 精品国产一区二区三区久久久樱花| 黑人猛操日本美女一级片| 女人被躁到高潮嗷嗷叫费观| 国产精品 国内视频| 少妇猛男粗大的猛烈进出视频| 欧美97在线视频| 一区在线观看完整版| 热99国产精品久久久久久7| 蜜桃在线观看..| av片东京热男人的天堂| 久热久热在线精品观看| a级毛片在线看网站| 美女福利国产在线| 人人妻人人爽人人添夜夜欢视频| www.精华液| 亚洲精品国产av蜜桃| 成人毛片60女人毛片免费| 亚洲精品av麻豆狂野| 午夜福利乱码中文字幕| 久久久久视频综合| 亚洲图色成人| 中文字幕人妻丝袜制服| 成人18禁高潮啪啪吃奶动态图| 久久久久久久国产电影| 亚洲精品,欧美精品| 美国免费a级毛片| 人妻一区二区av| 成人国语在线视频| 久久人人97超碰香蕉20202| 91午夜精品亚洲一区二区三区| 国产成人av激情在线播放| 久久久a久久爽久久v久久| 欧美日韩视频精品一区| 人妻系列 视频| 精品国产乱码久久久久久男人| 久久综合国产亚洲精品| 考比视频在线观看| 亚洲av福利一区| 欧美 日韩 精品 国产| 欧美精品人与动牲交sv欧美| av不卡在线播放| 亚洲精品美女久久久久99蜜臀 | 色吧在线观看| 久久久久久人人人人人| 只有这里有精品99| 九色亚洲精品在线播放| 在线看a的网站| 国产av国产精品国产| 两个人免费观看高清视频| 人人妻人人澡人人看| 日韩一区二区三区影片| a级毛片在线看网站| 欧美日韩国产mv在线观看视频| 午夜福利,免费看| 大码成人一级视频| 国产亚洲av片在线观看秒播厂| 日本色播在线视频| 麻豆乱淫一区二区| a级毛片在线看网站| 人妻人人澡人人爽人人| 90打野战视频偷拍视频| xxxhd国产人妻xxx| 亚洲,欧美精品.| 国产精品人妻久久久影院| 女的被弄到高潮叫床怎么办| 制服诱惑二区| 激情视频va一区二区三区| 最近最新中文字幕大全免费视频 | 久久综合国产亚洲精品| 免费看不卡的av| 中国三级夫妇交换| 亚洲伊人色综图| 欧美日韩视频精品一区| 一级黄片播放器| 久久精品国产亚洲av高清一级| 亚洲成人手机| 看十八女毛片水多多多| 高清不卡的av网站| 十八禁网站网址无遮挡| 综合色丁香网| 伦精品一区二区三区| 亚洲欧洲日产国产| 精品一品国产午夜福利视频| 中文精品一卡2卡3卡4更新| 黑人巨大精品欧美一区二区蜜桃| 99香蕉大伊视频| 欧美成人午夜精品| 婷婷色麻豆天堂久久| 亚洲四区av| 欧美最新免费一区二区三区| 国产精品久久久久久av不卡| 成人免费观看视频高清| 亚洲,一卡二卡三卡| 尾随美女入室| 亚洲国产精品一区三区| 1024香蕉在线观看| 久久ye,这里只有精品| 亚洲国产看品久久| 精品久久蜜臀av无| 国产成人精品一,二区| 日韩精品有码人妻一区| 狠狠精品人妻久久久久久综合| 大香蕉久久成人网| 亚洲欧美日韩另类电影网站| 亚洲一区二区三区欧美精品| 狂野欧美激情性bbbbbb| 高清黄色对白视频在线免费看| 日韩欧美精品免费久久| 国产高清不卡午夜福利| 亚洲国产欧美网| 国产在线免费精品| 国产综合精华液| 国产又色又爽无遮挡免| 有码 亚洲区| 午夜影院在线不卡| 亚洲国产欧美在线一区| 精品人妻一区二区三区麻豆| 国产成人免费观看mmmm| 丁香六月天网| 菩萨蛮人人尽说江南好唐韦庄| 中文字幕制服av| 日本av免费视频播放| 欧美成人午夜精品| 国产精品偷伦视频观看了| 亚洲欧美精品综合一区二区三区 | 咕卡用的链子| 伦理电影大哥的女人| 欧美日韩视频高清一区二区三区二| 免费看不卡的av| 国产精品 欧美亚洲| 亚洲三级黄色毛片| 一级片'在线观看视频| 涩涩av久久男人的天堂| 一本色道久久久久久精品综合| 十八禁高潮呻吟视频| 日韩精品有码人妻一区| av线在线观看网站| 亚洲av男天堂| 波多野结衣av一区二区av| 日本vs欧美在线观看视频| 精品99又大又爽又粗少妇毛片| 婷婷色麻豆天堂久久| 狂野欧美激情性bbbbbb| 日产精品乱码卡一卡2卡三| 少妇人妻精品综合一区二区| 男的添女的下面高潮视频| www日本在线高清视频| 免费观看在线日韩| 性色avwww在线观看| 90打野战视频偷拍视频| 亚洲欧美一区二区三区久久| 99国产综合亚洲精品| 午夜91福利影院| 午夜福利在线免费观看网站| 午夜福利影视在线免费观看| 中文字幕人妻丝袜制服| 女性被躁到高潮视频| 寂寞人妻少妇视频99o| 99久国产av精品国产电影| 天堂中文最新版在线下载| 我要看黄色一级片免费的| 精品国产乱码久久久久久男人| 欧美日韩国产mv在线观看视频| 夫妻性生交免费视频一级片| 夜夜骑夜夜射夜夜干| 肉色欧美久久久久久久蜜桃| 美女国产高潮福利片在线看| 日韩av不卡免费在线播放| 丝袜脚勾引网站| 母亲3免费完整高清在线观看 | 中文字幕另类日韩欧美亚洲嫩草| 色婷婷久久久亚洲欧美| 久久免费观看电影| 日韩中文字幕欧美一区二区 | 精品人妻偷拍中文字幕| 亚洲欧美日韩另类电影网站| 黄片无遮挡物在线观看| 国产一级毛片在线| 搡女人真爽免费视频火全软件| 亚洲美女搞黄在线观看| 色吧在线观看| 亚洲国产看品久久| 国产片内射在线| 1024香蕉在线观看| 精品少妇久久久久久888优播| 老汉色av国产亚洲站长工具| 丝袜美足系列| 成人免费观看视频高清| 午夜福利影视在线免费观看| 亚洲精品aⅴ在线观看| 丝袜脚勾引网站| 男女边摸边吃奶| 人妻系列 视频| 日本av免费视频播放| 亚洲国产欧美日韩在线播放| 精品一区二区三区四区五区乱码 | 亚洲欧美清纯卡通| 久久99一区二区三区| 丝袜脚勾引网站| 麻豆av在线久日| 麻豆精品久久久久久蜜桃| 男女国产视频网站| 国产成人一区二区在线| av在线播放精品| videosex国产| 久久国内精品自在自线图片| 亚洲一码二码三码区别大吗| 欧美国产精品va在线观看不卡| 亚洲av日韩在线播放| 水蜜桃什么品种好| 国产极品天堂在线| 女人被躁到高潮嗷嗷叫费观| 99热网站在线观看| 久久精品熟女亚洲av麻豆精品| 欧美另类一区| 国产探花极品一区二区| 国产成人a∨麻豆精品| 美女脱内裤让男人舔精品视频| 亚洲四区av| 母亲3免费完整高清在线观看 | 边亲边吃奶的免费视频| 国产乱来视频区| 亚洲美女黄色视频免费看| 亚洲国产成人一精品久久久| 国产97色在线日韩免费| 一区福利在线观看| 天堂8中文在线网| 亚洲中文av在线| 美国免费a级毛片| 成人毛片60女人毛片免费| 97精品久久久久久久久久精品| 久久99蜜桃精品久久| 欧美日韩亚洲高清精品| 国产97色在线日韩免费| 日韩欧美一区视频在线观看| 两个人看的免费小视频| 色94色欧美一区二区| av电影中文网址| 亚洲av欧美aⅴ国产| 亚洲三区欧美一区| 视频区图区小说| 波多野结衣av一区二区av| www.精华液| 免费在线观看完整版高清| 免费观看无遮挡的男女| av.在线天堂| 日韩 亚洲 欧美在线| 大香蕉久久成人网| 久久精品国产亚洲av天美| 国产一区亚洲一区在线观看| 宅男免费午夜| 亚洲成人手机| 欧美精品一区二区大全| 999精品在线视频| 国产一区二区在线观看av| 日本欧美视频一区| 黑人猛操日本美女一级片| 亚洲久久久国产精品| 精品少妇内射三级| 满18在线观看网站| 性色av一级| 国产精品秋霞免费鲁丝片| 免费少妇av软件| 中文字幕最新亚洲高清| 久久久国产精品麻豆| 热99国产精品久久久久久7| 国产黄色免费在线视频| 熟妇人妻不卡中文字幕| 久久久国产一区二区| 亚洲精华国产精华液的使用体验| 国产av国产精品国产| 香蕉丝袜av| 少妇 在线观看| 国产成人精品无人区| 国产亚洲一区二区精品| 免费在线观看完整版高清| 欧美国产精品一级二级三级| 亚洲三级黄色毛片| 中文字幕色久视频| 亚洲国产精品国产精品| 一区二区av电影网| 男人舔女人的私密视频| 婷婷色综合大香蕉| 欧美亚洲日本最大视频资源| 两性夫妻黄色片| 建设人人有责人人尽责人人享有的| 亚洲精品视频女| 狂野欧美激情性bbbbbb| 欧美精品一区二区大全| 五月天丁香电影| 亚洲欧美精品自产自拍| 又黄又粗又硬又大视频| 亚洲第一区二区三区不卡| 亚洲欧美清纯卡通| 欧美日韩一区二区视频在线观看视频在线| 亚洲精品第二区| 成人国产麻豆网| 精品视频人人做人人爽| 黄色怎么调成土黄色| 欧美激情高清一区二区三区 | 亚洲欧美成人精品一区二区| 9191精品国产免费久久| 美女大奶头黄色视频| 欧美亚洲日本最大视频资源| 可以免费在线观看a视频的电影网站 | av有码第一页| 久久久久精品性色| 精品国产乱码久久久久久小说| 欧美在线黄色| 啦啦啦中文免费视频观看日本| 亚洲第一区二区三区不卡| 丰满饥渴人妻一区二区三| 亚洲国产av新网站| 另类亚洲欧美激情| 国产免费一区二区三区四区乱码| 1024视频免费在线观看| 韩国精品一区二区三区| www.熟女人妻精品国产| 夫妻性生交免费视频一级片| 亚洲精品第二区| 精品一区二区三区四区五区乱码 | 麻豆乱淫一区二区| 美女国产视频在线观看| 熟女av电影| 丰满少妇做爰视频| 久久99精品国语久久久| 老女人水多毛片| 久久ye,这里只有精品| 夫妻性生交免费视频一级片| 亚洲精品成人av观看孕妇| 亚洲国产av影院在线观看| av视频免费观看在线观看| av卡一久久| 日韩av不卡免费在线播放| 欧美成人午夜免费资源| 国产亚洲最大av| 90打野战视频偷拍视频| 久久人人爽人人片av| av片东京热男人的天堂| 免费在线观看完整版高清| 春色校园在线视频观看| 国产 一区精品| 精品一区二区三卡| 久久 成人 亚洲| 国产精品 国内视频| 丝瓜视频免费看黄片| www.熟女人妻精品国产| 99精国产麻豆久久婷婷| 精品国产超薄肉色丝袜足j| 各种免费的搞黄视频| 亚洲男人天堂网一区| 亚洲四区av| 日韩中字成人| 秋霞伦理黄片| 99九九在线精品视频| 只有这里有精品99| 国产成人精品一,二区| av在线播放精品| 伊人亚洲综合成人网| 精品99又大又爽又粗少妇毛片| 黑人猛操日本美女一级片| 成人亚洲欧美一区二区av| 在线免费观看不下载黄p国产| 国产成人免费观看mmmm| 欧美+日韩+精品| 人妻人人澡人人爽人人| 国产 一区精品| 一区福利在线观看| 9191精品国产免费久久| 街头女战士在线观看网站| 国产xxxxx性猛交| 国产免费视频播放在线视频| 这个男人来自地球电影免费观看 | 在线看a的网站| 久久久久久久国产电影| 欧美精品av麻豆av| 免费观看av网站的网址| 中文字幕亚洲精品专区| 91久久精品国产一区二区三区| 大陆偷拍与自拍| 国产精品久久久久久精品古装| 大片电影免费在线观看免费| 伦理电影大哥的女人| 久久人人爽人人片av| 一级毛片 在线播放| 国产探花极品一区二区| 日韩 亚洲 欧美在线| 一级毛片 在线播放| 不卡视频在线观看欧美| 777久久人妻少妇嫩草av网站| av片东京热男人的天堂| 精品人妻熟女毛片av久久网站| 人妻少妇偷人精品九色| 亚洲国产av影院在线观看| 深夜精品福利| 人妻少妇偷人精品九色| 99久久中文字幕三级久久日本| 日韩,欧美,国产一区二区三区| 欧美精品亚洲一区二区| 成人国产av品久久久| 亚洲av日韩在线播放| 九九爱精品视频在线观看| 美女xxoo啪啪120秒动态图| 午夜福利网站1000一区二区三区| 国产在线一区二区三区精| 国产一区二区 视频在线| 久久女婷五月综合色啪小说| 久久人人爽人人片av| 国产男人的电影天堂91| 日韩,欧美,国产一区二区三区| 九色亚洲精品在线播放| 亚洲av.av天堂|