Skip navigation

After having played
a bit with cpd, I
went searching for more elaborate source code analysis tools. And there are some, even in the FLOSS realm:

  • pygccxml, a gcc plugin to generate XMLized
    output from the AST (plus a python framework to actually work with this representation).
  • gccxml, quite similar to pygccxml, focused on extracting declarations
  • synopsis, a standalone parser plus analysis framework – a bit lacking
    for c++, which is inherently hard to parse.
  • opencxx, same as above (actually a predecessor/inspiration for synopsis)
  • rtlcheck, a gcc plugin that extracts code on the RTL (register-transfer level).
    Currently, seems to be used only for c, extending that to c++ should be both easy & rewarding (as rtlcheck appears to be the
    most elaborate project of all listed).
  • Also quite interesting, though with different scope (being a runtime-analysis tool) is the
    Design Recovery Tool, roughly characterizable as a means to get from UI
    actions to the code involved processing them.

I do like the gcc patching/plugin approach the most, knowing how complex it is to get c++ parsing even half-way right. And as is such a beast, code-size wise, getting all the help we could from automatic tools appears wise to me.


One Trackback/Pingback

  1. […] Posted in Wow. Hub just pointed me at one of the recent GCC developer summit’s talks (also quite interesting: coding rule checking and incremental compilation, which goes along nicely with gold’s (not-yet-implemented) incremental linking), which presents a static c++ code analysis framework, implemented on top of GCC (I mentioned some previous attempts at that before). […]

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: