views:

759

answers:

6

I am looking for a static analysis tool for Python, Ruby, Sql, Cobol, Perl, PL/SQL, SQL similar to find bugs and check style. I am looking for calculating the line count, identify bugs during the development, and enforcing coding standard.

+4  A: 

I use PyChecker and pylint as Python code checkers. However it seems that they get buggy when you use some modules (e.g., socket or pygame, IIRC).

Bastien Léonard
Both Perl:Critic and Pylint looks very good for Python.. Which would be the best choice?
Raj
@unknown: Well, the one that says Perl is no good for Python :)
brian d foy
+1 for pychecker and pylint. I prefer pylint.
ChristopheD
Thank you Brian and chris for our suggestion
Raj
+1 for pylint. Unfortunately, there doesn't seem to be a version for 3.x yet.
dan04
+6  A: 

Perl has Perl::Critic (and perlcritic.com)

Chas. Owens
It worked pretty well for me; it found some archaisms in my code which I’d been copy/pasting since before they were archaic.
Flash Sheridan
@Flash - curious as to what they were?
DVK
Funny you should ask yesterday; I think they were violations at Palm, from my BBEdit Perl stationery, of “128. Use … the three-argument form of open. This variant was introduced in Perl 5.6 and is more robust that the older two- argument version, which is susceptible to very rare, but subtle, failures.” I’d originally written the code in the last millennium; nothing is so permanent as sample code…
Flash Sheridan
A: 

I use Pylint for Python which was nicely integrated into Komodo by Brandon Corfman over at http://bit.ly/1hBscE - if ActiveState's Komodo is your thing.

pboucher
+1  A: 

For Ruby, you're probably best served looking at this previous SO question:

http://stackoverflow.com/questions/286564/can-anyone-recommend-a-ruby-source-code-analyzer-something-like-pylint

which seems pretty thorough.

Mike Woodhouse
Thank you Mike, that tool works for the Ruby
Raj
A: 

Sonar has a PL/SQL plugin that is based on Toad CodeXpert code analyzer.

I am looking for a open source plugin's preferably
Raj
A: 

See various static analysis tools from Semantic Designs.

These cover standard metrics for Java, C# and COBOL. There are also tools to detect duplicate code (clones) for many languages, including Python, Java, PL/SQL (from your list).

Finally, there is a style checker (coding standards checks) for COBOL (with optional Eclipse plugin) that offers refactoring support to fix some of the style errors.

Ira Baxter