我有一個C程序(在VM中執行)的跟蹤控制流程圖,它非常複雜。我想知道如果我有一個程序跟蹤的CFG除了控制依賴項之外可以提取哪些信息!謝謝我們可以從控制流圖中獲得什麼信息?
0
A
回答
1
有區別在這裏提出:
一個控制流圖是近似到該程序的控制。 A control flow graph可以告訴你,對於程序的任何運行,其中可能是控制流。這是完全可行的,該方案可能永遠不會執行該圖的某些邊緣:
i := 23; x := some_complicated_function_returning_zero(); if (x < i) { print "Hello, world!"; } else { print "Bad!"; }
,所述else
分支將永遠不會被執行,然而程序分析工具通常會報告有一個控制分支兩側的流動邊緣。這是因爲程序分析是近似的。
- 甲跟蹤程序的是在該程序的控制流圖的邊緣的遍歷。一套好的測試通常會進行測試,這些測試涵蓋了許多可能的控制流程路徑(或者至少是那些可行的,直到控制流程圖結構中的不精確性),但除此之外,測試用例覆蓋範圍廣泛類似於變量的值在這些執行路徑中的範圍。
一個跟蹤將讓你看到,沒有程序如何執行單次運行,同時控制流圖將允許你說「什麼是可能的方式,我的程序可以執行。」
真正的程序很大,因此整個程序的控制流程圖將會非常大,但是由於您沒有指數分支效應,因此跟蹤會相當小。
相關問題
- 1. 我可以從OBD II獲得什麼信息?
- 2. 我可以從android瀏覽器JavaScript獲得什麼信息?
- 3. 我可以從IP地址獲得什麼信息?
- 4. 我可以從熱圖中獲得哪些有用的信息?
- 5. 我們可以從客戶端訪問什麼信息?
- 6. 我們可以使用Gigya令牌獲得用戶信息
- 7. 我們可以從netstat命令中獲得流逝時間嗎
- 8. 什麼時候可以從意圖獲取信息?
- 9. 什麼是XEED,我可以從哪裏獲得更多關於它的信息?
- 10. 我可以從這樣的崩潰信息中獲得有用的信息嗎?
- 11. 如何我可以從JSON字典中獲得信息的Java
- 12. 有什麼方法可以獲得一些信息,至少可以捕獲(...)嗎?
- 13. 我們可以從Facebook應用獲取哪些信息?
- 14. iOS - 從視圖控制器獲取信息以在視圖中繪製圖形
- 15. GSM調制解調器可以得到什麼信息?
- 16. 我可以從會話和視圖bean中獲取信息嗎?
- 17. 我們可以從當前登錄用戶訪問什麼信息MVC4
- 18. 我可以從'無法識別的選擇器'日誌消息中獲得什麼信息?
- 19. 我們可以複製NFC中的信息標籤
- 20. Yii ::我可以在控制器中獲得視圖的值
- 21. 從RYU控制器獲取流量信息
- 22. 一旦用戶授予應用程序訪問權限,我們可以獲得什麼信息?
- 23. 爲什麼我無法在js中獲得警報信息?
- 24. 如何從控制檯獲取信息
- 25. 從登錄控制獲取信息
- 26. 我們可以用Xamarin.Forms爲UWP獲得流體設計嗎?
- 27. 我可以從`ActionExecutingContext`獲得強類型控制器嗎?
- 28. 我們怎麼知道iphone已經從互聯網上獲得信息?
- 29. 獲得電流控制器
- 30. 爲什麼我用jmxtrans得到kafka指標,因爲我可以獲得JVM堆信息?
你還想知道什麼?此外,就像,控制流程如何...? –
是的,只是簡單地告訴我,像什麼數據或我們可以預測它的程序行爲。我們可以通過查看它來了解解釋器的行爲模式或方式。或者它們之間的區別是什麼如果執行的二進制文件是在不同的體系結構中編譯的,則執 – archies50