ClearCase-CRDB
view release on metacpan or search on metacpan
There are a number of such tools on the market, for example SNiFF+ from
WindRiver. Typically these work by parsing the source code into some
database representation which they can then analyze. It's a powerful
technique but entails some tradeoffs:
MINUSES
* A true code analysis tool must have knowledge of each programming
language in use. I.e. to add support for Java, a Java parser must be
added.
* A corollary of the above is that it requires lot of work by expert
programmers. Thus the tools tend to be large, complex and expensive.
Note: there is also *cscope* which is free, and maybe others. But as
the name implies *cscope* is limited to C-like languages.
* Another corollary is that the tool must track each advance in each
language, usually with significant lag time, and may not be
bug-for-bug compatible with the compiler.
* Also, since analysis basically entails compiling the code, analysis
of a large code base can take a long time, potentially as long or
longer than actually building it.
* If some part of the application is written in a language the tool
doesn't know (say Python or Visual Basic or Perl or an IDL), no
analysis of that area can take place.
WHOUSES.html view on Meta::CPAN
<p>
</p>
<h2><a name="minuses">MINUSES</a></h2>
<ul>
<li></li>
A true code analysis tool must have knowledge of each programming
language in use. I.e. to add support for Java, a Java parser must be
added.
<p></p>
<li></li>
A corollary of the above is that it requires lot of work by expert
programmers. Thus the tools tend to be large, complex and expensive.
Note: there is also <em>cscope</em> which is free, and maybe others. But as
the name implies <em>cscope</em> is limited to C-like languages.
<p></p>
<li></li>
Another corollary is that the tool must track each advance
in each language, usually with significant lag time, and
may not be bug-for-bug compatible with the compiler.
<p></p>
<li></li>
Also, since analysis basically entails compiling the code, analysis of
a large code base can take a long time, potentially as long or longer
than actually building it.
<p></p>
<li></li>
If some part of the application is written in a language the tool
=over 4
=item *
A true code analysis tool must have knowledge of each programming
language in use. I.e. to add support for Java, a Java parser must be
added.
=item *
A corollary of the above is that it requires lot of work by expert
programmers. Thus the tools tend to be large, complex and expensive.
Note: there is also I<cscope> which is free, and maybe others. But as
the name implies I<cscope> is limited to C-like languages.
=item *
Another corollary is that the tool must track each advance
in each language, usually with significant lag time, and
may not be bug-for-bug compatible with the compiler.
=item *
Also, since analysis basically entails compiling the code, analysis of
a large code base can take a long time, potentially as long or longer
than actually building it.
=item *
( run in 0.395 second using v1.01-cache-2.11-cpan-3cd7ad12f66 )