本論文提出了一種新的軌跡邏輯,用於描述和驗證包含遞迴過程的程式。該邏輯基於有限軌跡語義,並使用二元狀態謂詞、chop 運算和最小不動點來表達程式的行為。
該邏輯的語義基於程式的有限軌跡。軌跡是指程式執行過程中經過的一系列狀態。邏輯公式用於描述軌跡的屬性,例如:
Id
表示狀態不變,Sba
表示變數 x
的值根據表達式 a
進行更新。ϕ1⌢ϕ2
表示先執行滿足 ϕ1
的軌跡,然後執行滿足 ϕ2
的軌跡。µX.ϕ
表示滿足 ϕ
的最小軌跡集合,其中 X
可以遞迴地出現在 ϕ
中。論文中設計了一個組合證明演算,用於證明程式滿足特定軌跡公式。該演算包含以下規則:
skip
語句滿足 Id
公式。x := a
滿足 Sba
公式。S1; S2
滿足 ϕ1⌢ϕ2
公式,其中 S1
滿足 ϕ1
,S2
滿足 ϕ2
。if b then S1 else S2
滿足 ϕ
公式,其中 S1
滿足 ¬b ∨ϕ
,S2
滿足 b ∨ϕ
。m()
滿足 Id⌢ϕm
公式,其中 m
的過程體滿足 ϕm
。本論文提出了一種新的軌跡邏輯和證明演算,為包含遞迴過程的程式的形式化驗證提供了一個強大的框架。
翻譯成其他語言
從原文內容
arxiv.org
深入探究