The IPA/SEC C language guide to coding practices has been formulated by the Software Engineering Centre of the Japanese Information-Technology Promotion Agency. The coding practices are designed to assist in the production of consistently high quality source code, regardless of the skills of individual programmers.
The focus of the guide is on quality attributes which enable a quality model to be met by the enforcement of the corresponding coding conventions. The guide draws upon extensive Japanese experience of software development for embedded systems, coupled with existing best practices from: MISRA-C:2004, the "Indian Hill C style and coding standards" and the GNU coding standards.
The guidelines are characterised by the quality attributes Reliability, Maintainability, Portability and Efficiency. They therefore cover a wider spectrum of C programming issues than those currently addressed by MISRA-C:2004, which primarily targets Reliability. They also complement the security issues targeted by the CERT C Secure Coding Standard.
The IPA/SEC C guidelines also address issues of naming conventions and style, which are not directly addressed by MISRA-C:2004 and the CERT C Secure Coding Standard.
LDRA has recently expanded the capabilities of the LDRA tool suite to incorporate an implementation of these SEC C guidelines. With this expanded functionality TBvision now enables users to assess the performance of their code against these guidelines in addition to others including MISRA-C:2004 and the CERT C Secure Coding Standard. Software which satisfies all three sets of rules is highly likely to be reliable, secure and easily maintainable.
In addition to the coding practices that are outlined in the SEC C guidelines the guide also highlights 20 examples of common programming errors. All of these programming errors may be automatically detected by TBvision.
Through advanced code analysis capabilities TBvision provides compliance checking for the MISRA-C:1998, MISRA-C:2004, MISRA-C++:2008 guidelines and the CERT C Secure Coding standard. In addition, LDRA has worked with Lockheed Martin in developing the JSF++ AV standard, and is able to enforce Meyers Effective C++ and Effective STL coding guidelines amongst others.
TBvision can be configured for compiler dependent features for host or target testing.
LDRA's products & services are widely used by companies whose names are synonymous with security-sensitive embedded systems development including: DENSO Corporation, IHI Corporation, Lockheed Martin, Honeywell, Raytheon, Elbit Systems, Rockwell Collins, eSysTech, Presagis and NASA.