views:

225

answers:

4

Right now we are maintaining some old project written in VB6 we are planning to implement continuous integration server for it. We would like to implement some code analysis as well to track that maintanability at least not getting worse. Basically there is only one requirement - the tool should be command line so we can call it from continuous integration server and it should work with VB6 projects. I will really appreciate any recommendations regards tools to try.

Thank you, Maksym

A: 

You could look at SourceMonitor as this says that it can produce metrics for VB6, and can be made to work from the command line.

I've only used it for C++ myself.

quamrana
Thanks, you are right SourceMonitor should work for VB6, I just forgot that it is cross language. Really thanks
Maksym Markov
+1  A: 

Have you looked at the recommendations in this question about tools for analysing VB6 source code?

I don't know whether any of these tools can be run from the command-line.

MarkJ
Unfortunately, I took a look on Project Analyzer before and it looks like it does not support command line execution
Maksym Markov
A: 

Our SD Source Code Search Engine is a tool for lightning-fast search across large code bases.

It words by breaking the text into language atoms, indexing all those atoms, and then executing queries using the indexes to guide the search. The SCSE has a VB6-specific front end (as well as front ends for a wide variety of other languages).

As a side effect of the indexing process, it produces metrics: SLOC, number of comments, Cyclomatic Complexity, Halstead measures, deepest-nested conditionals, etc. These metrics are emitted to an XML file that can be formatted/interrogated any way you like.

The indexing process is a command-line step, so you can integrate it into your scripts.

We also have a clone detector for VB6 that finds exact and near-miss duplicate blocks of code across large systems of source code.

Ira Baxter
A: 

VBDepend can help to understand the existing vb6 code, its the NDepend like for vb6.

Issam