ISO/IEC TS 17961 规则
Polyspace® 支持的 ISO/IEC TS 17961 安全标准规则的列表和描述 
ISO/IEC TS 17961 是一个用于开发安全代码的规则集。这些规则设计为可以由静态分析工具实施,且不会出现过多的误报。
 Polyspace 可以根据 ISO/IEC TS 17961 安全标准检查您的代码。可以使用检查 ISO/IEC TS 17961 (-iso-17961) 分析选项激活这些规则的子集。
Polyspace 结果
| ISO/IEC TS 17961 [accfree] | Accessing freed memory | 
| ISO/IEC TS 17961 [accsig] | Accessing shared objects in signal handlers | 
| ISO/IEC TS 17961 [addrescape] | Escaping of the address of an automatic object | 
| ISO/IEC TS 17961 [alignconv] | Converting pointer values to more strictly aligned pointer types | 
| ISO/IEC TS 17961 [argcomp] | Calling functions with incorrect arguments | 
| ISO/IEC TS 17961 [asyncsig] | Calling functions in the C Standard Library other than abort, _Exit, and signal from within a signal handler | 
| ISO/IEC TS 17961 [boolasgn] | No assignment in conditional expressions | 
| ISO/IEC TS 17961 [chreof] | Using character values that are indistinguishable from EOF | 
| ISO/IEC TS 17961 [chrsgnext] | Passing arguments to character handling functions that are not representable as unsigned char | 
| ISO/IEC TS 17961 [dblfree] | Freeing memory multiple times | 
| ISO/IEC TS 17961 [diverr] | Integer division errors | 
| ISO/IEC TS 17961 [fileclose] | Failing to close files or free dynamic memory when they are no longer needed | 
| ISO/IEC TS 17961 [filecpy] | Copying a FILE object | 
| ISO/IEC TS 17961 [funcdecl] | Declaring the same function or object in incompatible ways | 
| ISO/IEC TS 17961 [insufmem] | Allocating insufficient memory | 
| ISO/IEC TS 17961 [intoflow] | Overflowing signed integers | 
| ISO/IEC TS 17961 [intptrconv] | Converting a pointer to integer or integer to pointer | 
| ISO/IEC TS 17961 [inverrno] | Incorrectly setting and using errno | 
| ISO/IEC TS 17961 [invfmtstr] | Using invalid format strings | 
| ISO/IEC TS 17961 [invptr] | Forming or using out-of-bounds pointers or array subscripts | 
| ISO/IEC TS 17961 [ioileave] | Interleaving stream inputs and outputs without a flush or positioning call | 
| ISO/IEC TS 17961 [liberr] | Failing to detect and handle standard library errors | 
| ISO/IEC TS 17961 [libmod] | Modifying the string returned by getenv, localeconv, setlocale, and strerror | 
| ISO/IEC TS 17961 [libptr] | Forming invalid pointers by library function | 
| ISO/IEC TS 17961 [libuse] | Using an object overwritten by getenv, localeconv, setlocale, and strerror | 
| ISO/IEC TS 17961 [nonnullcs] | Passing a non-null-terminated character sequence to a library function | 
| ISO/IEC TS 17961 [nullref] | Dereferencing an out-of-domain pointer | 
| ISO/IEC TS 17961 [padcomp] | Comparison of padding data | 
| ISO/IEC TS 17961 [ptrcomp] | Accessing an object through a pointer to an incompatible type | 
| ISO/IEC TS 17961 [ptrobj] | Subtracting or comparing two pointers that do not refer to the same array | 
| ISO/IEC TS 17961 [resident] | Using identifiers that are reserved for the implementation | 
| ISO/IEC TS 17961 [restrict] | Passing pointers into the same object as arguments to different restrict-qualified parameters | 
| ISO/IEC TS 17961 [sigcall] | Calling signal from interruptible signal handlers | 
| ISO/IEC TS 17961 [signconv] | Conversion of signed characters to wider integer types before a check for EOF | 
| ISO/IEC TS 17961 [sizeofptr] | Taking the size of a pointer to determine the size of the pointed-to type | 
| ISO/IEC TS 17961 [strmod] | Modifying string literals | 
| ISO/IEC TS 17961 [swtchdflt] | Use of an implied default in a switch statement | 
| ISO/IEC TS 17961 [syscall] | Calling system | 
| ISO/IEC TS 17961 [taintformatio] | Using a tainted value to write to an object using a formatted input or output function | 
| ISO/IEC TS 17961 [taintnoproto] | Using a tainted value as an argument to an unprototyped function pointer | 
| ISO/IEC TS 17961 [taintsink] | Tainted, potentially mutilated, or out-of-domain integer values are used in a restricted sink | 
| ISO/IEC TS 17961 [taintstrcpy] | Tainted strings are passed to a string copying function | 
| ISO/IEC TS 17961 [uninitref] | Referencing uninitialized memory | 
| ISO/IEC TS 17961 [usrfmt] | Including tainted or out-of-domain input in a format string | 
| ISO/IEC TS 17961 [xfilepos] | Using a value for fsetpos other than a value returned from fgetpos | 
| ISO/IEC TS 17961 [xfree] | Reallocating or freeing memory that was not dynamically allocated | 
主题
- Polyspace 编码规范支持检查 Polyspace 对不同编码标准的支持情况。 
- 检查并审查编码标准违规使用 Polyspace Bug Finder 检查代码是否违反了 AUTOSAR C++14、CERT® C、CERT C++、CWE、MISRA C™、MISRA® C++、JSF AV C++ 或 ISO-17961 标准。