0
我正在嘗試創建一個靜態規則來檢查傳遞給SIL4應用程序中防禦性編程的令牌。Parasoft rulewizard
規則如下:「每個函數應有一個const uint_32作爲最後一個參數」
即:
uint_32 foo(uint_32 a, uint_32 b, const uint_32 c) ok
uint_32 foo(uint_32 a, uint_32 b, const uint_16 c) NOK
uint_32 foo(uint_32 a, uint_32 b, uint_32 c) NOK
uint_32 foo(uint_32 a, const uint_32 b, uint_32 c) NOK
有一個人可以幫助我嗎?我在黑暗中摸索
如果您沒有找到與Parasoft配合使用的方法,您可以使用自定義的Frama-C插件。在這種情況下,使用'Global.iter_on_fundecs'來檢查每個函數。 'fundec'是一個帶有字段'sformals'的記錄,它是一個參數變量列表;你想檢查這個列表的最後一個元素的類型。 – 2011-05-20 11:50:40