CDT and external static code analysis tools: a match made in heaven

Session Type: 
Standard [25 minutes]

Eclipse CDT 8.0, part of the Indigo release, includes Codan, a sophisticated code analysis framework for C/C++ projects. Out of the box, Codan not only provides all the infrastructure necessary to perform static code analysis, it also comes with some useful, ready-to-use problem checkers.

Even though the provided checkers are a great addition to a developer’s toolbox, many more are needed in order for Codan to have feature parity with existing external static analysis tools like clang_check and cppcheck. In addition, Codan only provides support for writing "internal" checkers: checkers that perform static code analysis using CDT's AST implementation. Currently, there is no built-in support for integrating Codan with external static code analysis tools.

Integrating Codan with external static analysis tools can be extremely useful. The benefits are obvious. Eclipse C/C++ developers would enjoy all the static code checks from these mature tools without leaving the IDE:

  • External code analysis tools would be invoked automatically, without any action taken from the developer.
  • These tools could be easily configured using Codan’s preference page.
  • The output of these tools would be displayed as editor markers. There would not be need to leave the IDE.

This session describes how we have successfully integrated Codan with external static code analysis tools at Google.

A step-by-step live coding demo will show how to integrate Codan with cppcheck.

Comments

Great, thx! Bernd

Great, thx!
Bernd

I have no problem having this

I have no problem having this talk as a standard talk. Thanks so much for letting me know! :)

Cheers!

PS. I'll be updating this session proposal right after posting this reply.

Hi Alex, We would like to

Hi Alex,

We would like to accept your talk as a standard talk. (The vast majority of talks will be standard talks) . Please let us know until Friday if this is ok for you.

Thank you
Bernd