Atollic's TrueSTUDIO is based on Eclipse (see Delivering An All Up Eclipse) but Atollic has wrapped the open source integrated development environment (IDE) with additional features. One of the standard features in TrueSTUDIO is static analysis based on Atollic's TrueINSPECTOR technology.
TrueINSPECTOR provides MISRA-C support (see Why Are You Still Using C?). MISRA-C specifies a set of rules that application must match or it will be flagged as an error. Developers get more than just an error report with line numbers from Atollic. Lines in error can be examined and the system presents recommendations for changes that include good and bad examples of code (Fig. 1).
MISRA-C checking quality varies among the competition and TrueSTUDIO is in the top when it comes to the range of errors it can detect. The system also provides code metrics to developers.
MISRA-C was originally defined for the automotive industry. It was developed to improve code quality and reliability in safety critical applications and it is applicable to non-automotive environments. Static analysis support can also be used address security issues (see Can Static Analysis Address Security Issues?).
The development process for almost any embedded C/C++ applications should incorporate static analysis to reduce the number of bugs. The process for static analysis also differs between C/C++ and other languages such as Java (see What's The Difference Between Static Analysis of C and C++ Versus Java Programs).
The IDE provides RTOS kernel awareness for platforms like ThreadX, FreeRTOS/OpenRTOS, and embOS. Micrium uC/OS-III kernel awareness is new to this release. Likewise, the source code management support has been extended to SVN and Git. Bug control environments like Bugzilla are supported by the IDE as well as code review tools.
TrueSTUDIO supports other advanced features like refactoring. Refactoring is commonly used by Java developers but it is often overlooked by C/C++ developers. It is often possible to simplify or improve an application by refactoring the code. It is very handy when working with large projects or ones that incorporate third party source code.
TrueSTUDIO works with other Atollic products including TrueVerifier and TrueAnalyzer. TrueVerifier provides automated in-target unit-testing. It can analyze function arguments and automatically generate the unit tests necessary to exercise a function. TrueAnalyzer compliments the new static analysis with dynamic code coverage It can handle MC/DC (Modified condition/decision coverage) code coverage.