Polyspace能证明递归是不可能的吗?

5视图(30天)
斯坦Heselmans
斯坦Heselmans 2017年12月8日
回答: Anirban 2018年12月13日
我们有一个statemachine实现在C嵌入式汽车产品,使用table-approach。表包含指向函数的指针处理的转变以及在操作状态。这些函数可以调用表,有机会在递归(由另一个第三方静态代码分析工具)。
我们“知道”的代码设计递归是不可能的,但我们需要证明我们后ISO26262-6 (ASIL-C)和misra - 2012规则。从这些规范,递归的实现是不允许的。
可以polyspace bugfinder / codeprover报告这个表格与状态机实现的递归?如果是,如何?

答案(1)

Anirban
Anirban 2018年12月13日
Polyspace可以检测使用递归。有很多方法可以打开递归检测:

翻译的