国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種基于矛盾片段模式的路徑生成方法

      文檔序號:6524156閱讀:245來源:國知局
      一種基于矛盾片段模式的路徑生成方法
      【專利摘要】本發(fā)明公開了一種基于矛盾片段模式的路徑生成方法,包括:A、從控制流圖中選擇本次路徑生成的起點作為當前點,然后執(zhí)行步驟B;B、選擇后繼點,然后執(zhí)行步驟C;C、如果成功選到后繼點,則執(zhí)行步驟G;否則執(zhí)行步驟D;D、查看是否還有前一個點,有則執(zhí)行步驟E;否則執(zhí)行步驟F;E、將前一個點設為當前點,然后執(zhí)行步驟B;F、由于已經(jīng)回退到起點,所以生成路徑失?。籊、查看后繼點是否是路徑的終點,是則成功生成路徑;否則執(zhí)行步驟H;H、將后一個點設置為當前點,然后執(zhí)行步驟B。采用本發(fā)明方法,能夠在路徑生成過程中快速檢測當前路徑片段已經(jīng)是不可達路徑,從而大大提高判定不可達路徑的效率。
      【專利說明】一種基于矛盾片段模式的路徑生成方法
      【技術領域】
      [0001]本發(fā)明涉及軟件測試技術,尤其涉及一種基于矛盾片段模式的路徑生成方法。
      【背景技術】
      [0002]為了對軟件測試的完備性進行衡量,業(yè)界提出了多種測試覆蓋準則。無論使用哪一種覆蓋準則,都是使用控制流圖生成路徑以達到覆蓋要求。事實證明,依據(jù)控制流圖生成的路徑有很多是不可達路徑。
      [0003]導致出現(xiàn)大量不可達路徑的原因,主要有:1)不可達路徑必然是由于某個謂詞節(jié)點的某個分支(不可達路徑經(jīng)過的分支)無法執(zhí)行;2)謂詞節(jié)點的當前分支無法執(zhí)行必然是路徑之前的某個節(jié)點影響了當前謂詞節(jié)點的判定,即路徑上的任何一個謂詞都必然和路徑之前的某個節(jié)點有關聯(lián)。
      [0004]目前,路徑總是從控制流圖生成,而控制流圖無法反映謂詞和其關聯(lián)節(jié)點之間的聯(lián)系。所以,只要存在謂詞關聯(lián),通過控制流圖生成的路徑就必然存在不可達路徑。
      [0005]縱觀軟件發(fā)展的趨勢,其復雜性越來越高,謂詞關系也越來越復雜,所以必然導致大量不可達路徑。但是,不可達路徑與缺陷不同,缺陷是可以修復的。不可達路徑中有小部分是經(jīng)過不可達點(死碼)的路徑,應該修正,大部分是程序邏輯的必然產(chǎn)物,無法修正。
      [0006]綜上,從謂詞關聯(lián)角度入手是檢測不可達路徑最直接的方法。從問題空間的角度看,主要分為兩類:1)全空間檢測:針對所有謂詞,完備但效率較低。2)啟發(fā)式檢測:針對滿足特定模式的謂詞,效率高但有遺漏。由于謂詞數(shù)量眾多,關系復雜,“如何以簡單的邏輯,選擇較少的關聯(lián)謂詞,卻判定較多的不可達路徑是提高效率的關鍵”。啟發(fā)式檢測通過模式識別,只選擇較少的關聯(lián)謂詞;又由于模式本身是經(jīng)驗積累而來,從而能判定較多的不可達路徑??傊?啟發(fā)式檢測性價比高。

      【發(fā)明內容】

      [0007]有鑒于此,本發(fā)明的主要目的在于提供一種基于矛盾片段模式的路徑生成方法,以提聞不可達路徑的判定效率。
      [0008]為達到上述目的,本發(fā)明的技術方案是這樣實現(xiàn)的:
      一種基于矛盾片段模式的路徑生成方法,包括如下步驟:
      A、從控制流圖中選擇本次路徑生成的起點作為當前點,然后執(zhí)行步驟B;
      B、選擇后繼點,然后執(zhí)行步驟C;
      C、如果成功選到后繼點,則執(zhí)行步驟G;否則執(zhí)行步驟D ;
      D、查看是否還有前一個點,有則執(zhí)行步驟E;否則執(zhí)行步驟F ;
      E、將前一個點設為當前點,然后執(zhí)行步驟B;
      F、由于已經(jīng)回退到起點,所以生成路徑失??;
      G、查看后繼點是否是路徑的終點,是則成功生成路徑;否則執(zhí)行步驟H;
      H、將后一個點設置為當前點,然后執(zhí)行步驟B。[0009]其中:所述步驟B中,還需要訪問當前點的后繼點。
      [0010]還包括:依據(jù)不同的覆蓋準則,當前點的后繼點可能是控制流圖中的后繼點,也可能是前驅接點;在語句覆蓋準則中,以控制流圖中間某個點為目標點,需要以控制流圖起點為終點找到半條路徑;再以控制流圖終點為終點找到另半條路徑;最終拼成一整條路徑;當找前半條路徑時,選后繼點就是找控制流圖中前驅點;當找后半條路徑時,選后繼點就是找控制流圖中后繼點。
      [0011]所述步驟D中,當出現(xiàn)沒有前一個點的情況時,表明本次路徑生成的起點根本無法到達終點,即本次路徑生成的起點為一個不可達點。
      [0012]一種將矛盾片段用于路徑生成的方法,主要包括如下步驟:
      A、判定當前節(jié)點是否還有未選擇過的后繼點;如果有,則執(zhí)行步驟B;否則執(zhí)行步驟
      D ;
      B、選擇當前節(jié)點的其中一個還未選擇過的后繼點;
      C、得到路徑起點到當前選擇的后繼點構成的路徑片段,用矛盾片段模式判定路徑片段是否不可達;如果判定為不可達,則執(zhí)行步驟A ;否則,判定選擇后繼點成功;
      D、由于當前節(jié)點所有后繼點都無法構成可達路徑,表明路徑起點到當前節(jié)點構成的路徑片段是不可達路徑片段;當前路徑必須回退一個點,以當前點的前一個點為當前點,繼續(xù)選擇后繼點。
      [0013]其中,步驟A進一步包括:當某個后繼點P已經(jīng)被選擇過,表明路徑起點到P構成的路徑片段被矛盾片段模式判定為不可達,此時需要重新選擇一個后繼點。
      [0014]步驟B包括:需記錄當前后繼節(jié)點已經(jīng)被選擇過;當路徑回退以后,重新選擇當前點的后繼點時,需要清空之前設置的后繼點訪問標志。
      [0015]步驟C包括:先得到路徑起點到當前節(jié)點所構成的路徑片段,然后用矛盾片段模式對該路徑片段進行不可達判定;如果判定為不可達,則需要選擇另一個后繼點;否則,表明成功的選出了當前節(jié)點的后繼點。
      [0016]一種利用基于矛盾片段模式的路徑生成方法判定不可達路徑的方法,包括:
      a、判斷路徑判定是否包含目標謂詞,如果否,則執(zhí)行步驟e;如果是,則執(zhí)行步驟b ;
      b、進一步判斷目標謂詞之前是否經(jīng)過矛盾點集中所有點,如果否,則執(zhí)行步驟e,如果是,則執(zhí)行步驟c ;
      C、進一步判斷路徑片段是否經(jīng)過解除點集中任一點,如果否,則執(zhí)行步驟e,否則,執(zhí)行步驟d ;
      d、設置返回結果為不可達,并結束本次流程;
      e、設置返回結果為不確定,并結束本次流程。
      [0017]本發(fā)明所提供的基于矛盾片段模式的路徑生成方法,具有以下優(yōu)點:
      利用該方法,能夠在路徑生成過程中快速檢測當前路徑片段是否為不可達路徑,從而大大提高判定不可達路徑的效率。本發(fā)明方法提出的矛盾片段模式的概念,對程序中不可達路徑出現(xiàn)的原因進行分析歸類,繼而進行模式識別并進行準確檢測。本發(fā)明方法能夠先識別被測單元中的矛盾片段模式,并將其應用于路徑生成。實驗證明,利用本發(fā)明的基于矛盾片段模式進行路徑不可達判定,具有比區(qū)間運算方式進行判定的方法更高的效率。進一步地,將矛盾片段模式用于路徑生成中和路徑生成后進行分析,在有目標點的情況下,前者效率更聞。
      【專利附圖】

      【附圖說明】
      [0018]圖1為本發(fā)明應用于路徑生成的流程總圖;
      圖2為本發(fā)明應用于選擇后繼節(jié)點的流程子圖;
      圖3為利用本發(fā)明基于矛盾片段模式的路徑生成方法判定不可達路徑的流程圖;
      圖4為控制流圖中出現(xiàn)在目標謂詞之前的點示意圖;
      圖5為矛盾片段與矛盾謂詞和解除點集的關系示意圖;
      圖6為矛盾片段模式判定不可達數(shù)據(jù)流圖;
      圖7為矛盾謂詞用于路徑生成后判斷不可達的步驟示意圖;
      圖8為IF-謂詞一致/互補模式定義示意圖;
      圖9為IF-謂詞一致/互補模式的流程示意圖;
      圖9A為由圖9所述流程圖得到的IF-謂詞一致/互補模式結構列表流程圖;
      圖9B為處理多個矛盾謂詞之間的解除點集流程示意圖;
      圖9C為處理當前矛盾謂詞之間的解除點集流程示意圖 圖10為P和Q的謂詞關系互補時M點修改Q的謂詞變量實例;
      圖11為矛盾片段處理當前矛盾謂詞無法用于路徑不可達判定的實例;
      圖12為IF-謂詞常量模式定義示意圖;
      圖13為IF-謂詞常量模式的流程示意圖;
      圖13A為由圖13所示流程圖得到的IF-謂詞常量模式結構列表流程圖;
      圖14為P點將R的謂詞變量賦值為常量時Q點將R的謂詞變量賦值為另一個常量的實例;
      圖15為圖14所示矛盾片段之一示意圖;
      圖16為圖14所示矛盾片段之二示意圖;
      圖17為WHILE-謂詞常量模式定義示意圖;
      圖18為WHILE-謂詞常量模式的流程示意圖;
      圖18A為由圖18所示流程圖得到的WHILE-謂詞常量模式結構列表的流程圖;
      圖19為P點為WHILE語句時循環(huán)體內存在Q點將P的謂詞變量賦值為常量的實例; 圖20為圖19所示矛盾片段之一示意圖;
      圖21為圖19所示矛盾片段之二示意圖;
      圖22為WHILE_IF謂詞一致/互補模式的定義示意圖;
      圖23為WHILE_IF謂詞一致/互補模式的流程圖;
      圖23A為由圖23所示流程圖得到的WHILE_IF謂詞一致/互補結構列表流程圖;
      圖24為P為WHILE語句Q為WHILE循環(huán)體內的IF語句時P與Q的謂詞一致實例;
      圖25為圖24所示矛盾片段之一;
      圖26為圖24所示矛盾片段之二。
      【具體實施方式】
      [0019]下面結合附圖及本發(fā)明的實施例對本發(fā)明的基于矛盾片段模式的路徑生成方法作進一步詳細的說明。
      [0020]本發(fā)明方法的實現(xiàn)過程包括:1、提出矛盾謂詞、矛盾片段和矛盾片段模式的定義和結構;2、將矛盾片段用于路徑生成。
      [0021]其中,所述矛盾謂詞、矛盾片段和矛盾片段模式的定義及其結構介紹如下。
      [0022]I)定義和結構。
      [0023](I)目標謂詞,判定謂詞矛盾的入口點。
      [0024](2)關聯(lián)點:
      〈1>和目標謂詞引用至少一個相同的變量。
      [0025]控制流圖中出現(xiàn)在目標謂詞之前的點(即存在路徑,使得目標謂詞出現(xiàn)在關聯(lián)點之后)。如圖4所示。
      (3)關聯(lián)謂詞,關聯(lián)點是謂詞節(jié)點。
      [0026](4)矛盾點:通過對目標謂詞及其關聯(lián)點的演算,得出矛盾的那些關聯(lián)點都是矛盾點。對于謂詞,發(fā)生矛盾的是分支,所以矛盾點需要記錄矛盾對應的分支。
      [0027](5)矛盾點集,矛盾點的集合。
      [0028](6)矛盾謂詞:目標謂詞+矛盾點集(它們構成了矛盾)。
      [0029](7)解除點:
      <1>屬于關聯(lián)點。
      [0030]屬于某一組矛盾謂詞。
      [0031]出現(xiàn)在某一組矛盾謂詞中間,導致無法判定原矛盾關系是否仍然存在。
      [0032](8)解除點集:解除點的集合。
      [0033](9)矛盾片段:矛盾謂詞+解除點集。
      [0034]這里,由于矛盾謂詞和解除點集都是控制流圖的一部分,但需要組合成一個整體才可用于判定不可達路徑,所以我們使用片段這個詞來表達“若干個體合成相對獨立的整體”這一概念。如圖5所不。
      [0035](10)矛盾片段模式:矛盾片段是具體的謂詞、語句構成的集合。通過對抽象語法樹和控制流圖進行分析,我們可以抽象出一些結構,這些結構可以產(chǎn)生矛盾片段。這種來自于抽象語法樹和控制流圖的結構稱為矛盾片段模式。但并不是所有結構在程序中都會大量出現(xiàn),所以經(jīng)過驗證確實大量存在的結構才真正具有價值。
      [0036]A、矛盾片段模式能夠有效減少關聯(lián)謂詞的數(shù)量和復雜度。
      [0037]B、經(jīng)過驗證的矛盾片段模式,檢測出不可達路徑的可能性更大。
      [0038](11)矛盾片段模式判定不可達步驟:如下為矛盾片段模式判定不可達的數(shù)據(jù)流圖。如圖6所示。
      [0039]2)所述將矛盾謂詞用于路徑生成。通常情況下,我們總是路徑生成后,再判定不可達。如圖7所示。
      [0040]通過對控制流圖的遍歷,選擇節(jié)點,生成路徑,然后進行不可達判定。
      [0041]但是,如果我們選擇到Q點時,發(fā)現(xiàn)從起點到Q_T分支的路徑片段(起點_>...->P_T->..._>Q_T),通過矛盾片段模式可以判定為不可達,則下方方框所示的子圖將不再參與選路,從而可以直接進入Q_F分支進行選路。這樣,減少了參與路徑選擇的點,提高路徑生成效率。[0042]1、本發(fā)明基于矛盾片段模式的路徑生成方法的流程圖,如圖1所示。
      [0043]1.1、路徑生成的目的就是依據(jù)覆蓋準則生成可達路徑,盡管覆蓋準則不盡相同,路徑生成包含如下幾個基本步驟:
      步驟A、從控制流圖中選擇本次路徑生成的起點作為當前點,然后執(zhí)行步驟B。
      [0044]步驟B、選擇后繼點,然后執(zhí)行步驟C。
      [0045]步驟C、如果成功選到后繼點,則進入步驟G ;否則執(zhí)行步驟D。
      [0046]步驟D、查看是否還有前一個點,有則執(zhí)行步驟E ;否則,執(zhí)行步驟F。
      [0047]步驟E、將前一個點設為當前點,然后執(zhí)行步驟B。
      [0048]步驟F、由于已經(jīng)回退到起點,所以生成路徑失敗。
      [0049]步驟G、查看后繼點是否是路徑的終點,是則成功生成路徑;否則執(zhí)行步驟H。
      [0050]步驟H、將后一個點設置為當前點,然后執(zhí)行步驟B。
      [0051]1.2、在所述步驟B中,需要訪問當前點的后繼點。但是依據(jù)不同的覆蓋準則,當前點的后繼點可能是控制流圖中的后繼點,也可能是前驅接點。比如語句覆蓋準則中,以控制流圖中間某個點為目標點,需要以控制流圖起點為終點找到半條路徑,即向上找;再以控制流圖終點為終點找到另半條路徑,即向下找。最后拼成一整條路徑。找前半條路徑時,本方法中的選后繼點就是找控制流圖中前驅點;找后半條路徑時,本方法中的選后繼點就是找控制流圖中后繼點。
      [0052]1.3、在所述步驟D中,會出現(xiàn)沒有前一個點的情況。這表明本次路徑生成的起點根本無法到達終點,即本此路徑生成的起點是一個不可達點(unreachable code)。
      [0053]2、矛盾片段用于選擇后繼節(jié)點的流程圖,如圖2所示。
      [0054]2.1、將矛盾片段模式應用在路徑生成中,就是應用在選擇當前節(jié)點的后繼點,該方法包括以下步驟:
      步驟A、判定當前節(jié)點是否還有沒有選擇過的后繼點。如果有,執(zhí)行步驟B ;否則進行執(zhí)行步驟D。
      [0055]這里,某個后繼點P已經(jīng)被選擇過,表明路徑起點到P構成的路徑片段被矛盾片段模式判定為不可達,所以需要重新選擇一個后繼點。
      [0056]步驟B、選擇當前節(jié)點的其中一個還沒有選擇過的后繼點;
      步驟C、得到路徑起點到當前選擇的后繼點構成的路徑片段,用矛盾片段模式判定路徑片段是否不可達。如果判定為不可達,則執(zhí)行步驟A ;否則選擇后繼點成功。
      [0057]步驟D、由于當前節(jié)點所有后繼點都無法構成可達路徑,表明路徑起點到當前節(jié)點構成的路徑片段是不可達路徑片段。當前路徑必須回退一個點(即不再包含當前點),以當前點的前一個點為當前點,繼續(xù)選擇后繼點。
      [0058]2.2、在所述步驟B中,需記錄當前后繼節(jié)點已經(jīng)被選擇過。特別需要注意的是,當路徑回退以后,重新選擇當前點的后繼點時,因為整個路徑片斷已經(jīng)改變,所以需要清空之前設置的后繼點訪問標志。
      [0059]2.3、在所述步驟C中,首先得到路徑起點到當前節(jié)點所構成的路徑片段,然后用矛盾片段模式對這個路徑片段進行不可達判定。如果判定為不可達,則需要選擇另一個后繼點;否則,表明成功的選出了當前節(jié)點的后繼點。
      [0060]3)優(yōu)化策略。[0061]考慮極端情況:當程序有N個分支時,如果矛盾片段沒能減少參與選路的節(jié)點,則矛盾片段調用的次數(shù)將達到2N數(shù)量級。
      [0062]我們有如下2種優(yōu)化策略:
      (I)減少整體調用次數(shù),首先得到所有矛盾片段的目標謂詞,只有碰到目標謂詞才調用。
      [0063](2)減少涉及到的模式個數(shù),將模式按語句類型分類,比如Select類、While類、Case類、for類和其他;如果是Select節(jié)點,只使用Select類模型進行判定。
      [0064]4)應用場景。將應用場景分為2類:即有目標點的和沒有目標點的。其中:
      (I)有目標點。
      [0065]針對某個目標覆蓋元素,找到一條路徑即可。比如,語句覆蓋、分支覆蓋。
      [0066]對一個M個語句節(jié)點和N的分支節(jié)點的程序而言,語句覆蓋需要找到M條路徑,而分支覆蓋需要找到2N條路徑。
      [0067]對應的矛盾片段判定次數(shù)最多為2n*M和2n*2N。
      [0068]所以,有目標點的情況適于選路中。
      [0069](2)沒有目標點。
      [0070]沒有具體的目標覆蓋元素,比如路徑覆蓋,要求找所有的路徑。對一個M個語句節(jié)點和N的分支節(jié)點的程序而言,路徑覆蓋需要找到2N條路徑。
      [0071]對應的矛盾片段判定次數(shù)最多為2n*2n。而所有的路徑才2N條,即路徑生成后,再判定,只需調用2N次。所以,沒有目標點的情況不適于選路中。
      [0072]下面,結合本發(fā)明的具體實施例對路徑生成過程及不可達判定等過程進行詳細說明:
      應用本發(fā)明進行路徑生成主要有兩個步驟:
      步驟A、模式識別。
      [0073]步驟B、不可達路徑的判定方法,請參考圖3。
      [0074]其中,步驟A需根據(jù)控制流圖識別出是否存在指定的矛盾片段模式。下面給出幾個模式的描述。
      [0075]下述的模式都遵循如下原則:1)抽象語法樹確定結構(并列或嵌套)。2)矛盾謂詞之間沒有跳轉語句(G0T0、LABEL)。3)處理矛盾謂詞之間的解除點集的算法是公用的,所以只在第一個模式進行描述。
      [0076]I) IF-謂詞一致/互補模式,如圖8所示。
      [0077]A、定義,參考圖8。
      [0078]并列的兩個IF語句:P和Q在抽象語法樹上是兄弟關系,Q是P的右兄弟。而且,P和Q之間沒有跳轉語句。這里,Q是目標謂詞,為保證Q在P后執(zhí)行,所以之間不能有跳轉語句。
      [0079]兩個IF語句謂詞關系一致或互補:P和Q謂詞關系一致或互補。
      [0080]矛盾謂詞之間沒有修改謂詞變量:P和Q產(chǎn)生的矛盾謂詞之間的點沒有修改謂詞變量。
      [0081]B、其算法如下:
      輸入:AST。輸出:矛盾片段集合。如圖9所示為IF-謂詞一致/互補模式的流程圖。分別得到IF-謂詞一致/互補模式結構列表流程圖9A,處理多個矛盾謂詞之間的解除點集流程圖9B,處理當前矛盾謂詞之間的解除點集流程圖9C。
      [0082]C、具體實施例如下:
      【權利要求】
      1.一種基于矛盾片段模式的路徑生成方法,其特征在于,包括如下步驟: A、從控制流圖中選擇本次路徑生成的起點作為當前點,然后執(zhí)行步驟B; B、選擇后繼點,然后執(zhí)行步驟C; C、如果成功選到后繼點,則執(zhí)行步驟G;否則執(zhí)行步驟D ; D、查看是否還有前一個點,有則執(zhí)行步驟E;否則執(zhí)行步驟F ; E、將前一個點設為當前點,然后執(zhí)行步驟B; F、由于已經(jīng)回退到起點,所以生成路徑失敗; G、查看后繼點是否是路徑的終點,是則成功生成路徑;否則執(zhí)行步驟H; H、將后一個點設置為當前點,然后執(zhí)行步驟B。
      2.根據(jù)權利要求1所述基于矛盾片段模式的路徑生成方法,其特征在于,所述步驟B中,還需要訪問當前點的后繼點。
      3.根據(jù)權利要求2所述基于矛盾片段模式的路徑生成方法,其特征在于,還包括:依據(jù)不同的覆蓋準則,當前點的后繼點可能是控制流圖中的后繼點,也可能是前驅接點;在語句覆蓋準則中,以控制流圖中間某個點為目標點,需要以控制流圖起點為終點找到半條路徑;再以控制流圖終點為終點找到另半條路徑;最終拼成一整條路徑;當找前半條路徑時,選后繼點就是找控制流 圖中前驅點;當找后半條路徑時,選后繼點就是找控制流圖中后繼點。
      4.根據(jù)權利要求1所述基于矛盾片段模式的路徑生成方法,其特征在于,所述步驟D中,當出現(xiàn)沒有前一個點的情況時,表明本次路徑生成的起點根本無法到達終點,即本次路徑生成的起點為一個不可達點。
      5.一種將矛盾片段用于路徑生成的方法,其特征在于,主要包括如下步驟: A、判定當前節(jié)點是否還有未選擇過的后繼點;如果有,則執(zhí)行步驟B;否則執(zhí)行步驟D ; B、選擇當前節(jié)點的其中一個還未選擇過的后繼點; C、得到路徑起點到當前選擇的后繼點構成的路徑片段,用矛盾片段模式判定路徑片段是否不可達;如果判定為不可達,則執(zhí)行步驟A ;否則,判定選擇后繼點成功; D、由于當前節(jié)點所有后繼點都無法構成可達路徑,表明路徑起點到當前節(jié)點構成的路徑片段是不可達路徑片段;當前路徑必須回退一個點,以當前點的前一個點為當前點,繼續(xù)選擇后繼點。
      6.根據(jù)權利要求5所述將矛盾片段用于路徑生成的方法,其特征在于,步驟A進一步包括:當某個后繼點P已經(jīng)被選擇過,表明路徑起點到P構成的路徑片段被矛盾片段模式判定為不可達,此時需要重新選擇一個后繼點。
      7.根據(jù)權利要求5所述將矛盾片段用于路徑生成的方法,其特征在于,步驟B中還包括:需記錄當前后繼節(jié)點已經(jīng)被選擇過;當路徑回退以后,重新選擇當前點的后繼點時,需要清空之前設置的后繼點訪問標志。
      8.根據(jù)權利要求5所述將矛盾片段用于路徑生成的方法,其特征在于,步驟C還包括:先得到路徑起點到當前節(jié)點所構成的路徑片段,然后用矛盾片段模式對該路徑片段進行不可達判定;如果判定為不可達,則需要選擇另一個后繼點;否則,表明成功的選出了當前節(jié)點的后繼點。
      9.一種利用基于矛盾片段模式的路徑生成方法判定不可達路徑的方法,其特征在于,包括:a、判斷路徑判定是否包含目標謂詞,如果否,則執(zhí)行步驟e;如果是,則執(zhí)行步驟b ; b、進一步判斷目標謂詞之前是否經(jīng)過矛盾點集中所有點,如果否,則執(zhí)行步驟e,如果是,則執(zhí)行步驟c ; C、進一步判斷路徑片段是否經(jīng)過解除點集中任一點,如果否,則執(zhí)行步驟e,否則,執(zhí)行步驟d ; d、設置返回結果為不可達,并結束本次流程; e、 設置返回結果為不確定,并結束本次流程。
      【文檔編號】G06F11/36GK104035864SQ201310693444
      【公開日】2014年9月10日 申請日期:2013年12月17日 優(yōu)先權日:2013年12月17日
      【發(fā)明者】黃俊飛, 宮云戰(zhàn), 李峰, 王雅文, 金大海 申請人:北京郵電大學
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1