簡體   English   中英

Frama-C EVA插件中“后”列的含義和目的是什么?

[英]What is the meaning and purpose of “after” column in Frama-C EVA plugin

EVA教程中 ,我找到了這個截圖: EVA教程屏幕截圖 解釋:“導致這一點的確切值顯示在第c5列:-1。C標准將負數的左移視為未定義的行為。因為-1是此callstack中唯一可能的值,所以減少由警報引起的后狀態就是這樣。“

所以,我想問:

Frama-C EVA插件中“后”欄的含義和目的是什么?

有沒有更詳細的文件來理解EVA中使用的術語“減少”和“后狀態”?

當您選擇一個聲明s在GUI中,但是也有一些相關的兩個內存狀態:一個前s (也稱為前的狀態),和副作用后,一個s已經完成(也稱為后狀態)。 這就是為什么你在感興趣的每個lval的Values選項卡中都有兩列。在程序驗證中,pre和post-state的概念非常標准,並且基本上可以追溯到Hoare Logic

術語“減少”指的是在發出警報之后,EVA將試圖從其抽象狀態中移除對應於肯定會導致未定義行為的具體狀態的元素。 實際上,抽象狀態應該是所有具體狀態的過度近似,這些狀態可以在沒有預先觸發未定義行為的情況下到達語句:如果某些事情在s之前失敗,那么在推測在評估s時會發生什么是沒有意義s 在您所參考的示例中,我們有特定情況,其中所有可能的具體狀態都會導致錯誤。 因此,我們最終得到了BOTTOM抽象狀態,表示一組空的具體狀態,並且對該分支的分析結束。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM