程序依赖图(Program Dependency Graph)-(PDG)
1.定義
百度百科:
程序依賴圖(Program Dependence Graph)是程序的一種圖形表示,它是帶有標(biāo)記的有向多重圖。程序依賴圖能夠表示程序的控制依賴和數(shù)據(jù)依賴關(guān)系。程序依賴圖(Program Dependence Graph)是關(guān)于源代碼的一種圖模型。源代碼的圖模型包括流程圖(Control Flow Graph)、控制依賴圖(Control Dependence Graph)、數(shù)據(jù)流程圖(dataDependence Graph)、程序依賴圖(Program Dependency Graph)。程序依賴圖(Program Dependence Graph)是程序的一種圖形表示,它是帶有標(biāo)記的有向多重圖。系統(tǒng)程序依賴圖是軟件程序間控制依賴關(guān)系和數(shù)據(jù)依賴關(guān)系的圖形表示。面向方面的程序是基于面向方面的思想,使用相關(guān)的框架或語言工具,實(shí)現(xiàn)系統(tǒng)中橫切關(guān)注點(diǎn)的清晰模塊化的程序。系統(tǒng)依賴圖是分析和理解程序的基礎(chǔ)工具之一,其在面向?qū)ο蟮某绦蛏系难芯繚u趨成熟,而在面向方面的程序上的研究才剛剛開始。
????????處理方法是以程序的控制流圖為基礎(chǔ),去掉CFG的控制流邊,加入數(shù)據(jù)和控制流邊。包括了數(shù)據(jù)依賴圖和程序依賴圖。數(shù)據(jù)依賴圖定義了數(shù)據(jù)之間的約束關(guān)系,控制依賴圖定義了語句執(zhí)行情況的約束關(guān)系。程序依賴圖是一個(gè)有向圖。
????????在建立在SAST技術(shù)上的靜態(tài)分析技術(shù),將程序依賴圖算法應(yīng)用于動(dòng)態(tài)切片,從而達(dá)到縮小程序分析范圍的目的。
2.拓展
代碼屬性圖:一種綜合了抽象語法樹(AST),控制流圖(CFG),和程序依賴圖(PDG)的聯(lián)合數(shù)據(jù)結(jié)構(gòu),包含了代碼的控制依賴,數(shù)據(jù)依賴以及語法結(jié)構(gòu)等語義信息,是目前語義信息最為全面的抽象圖結(jié)構(gòu)之一。
參考:
心滿意足享受每一點(diǎn)快樂,是走向幸福的唯一途徑。
——《櫻桃小丸子》總結(jié)
以上是生活随笔為你收集整理的程序依赖图(Program Dependency Graph)-(PDG)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 真c++创建B树(非c with cla
- 下一篇: nazo闯关记录