Authentic feedback from real users
Analyzing large projects
Your Project Analyzer tool is top notch! We're using it to analyze
projects well over 1 million lines of code. The depth
and breadth the tooling is superb; the enterprise diagrams, Visustin,
project metrics viewer, and dead code analysis have been quite useful
for our current project.
Matt Warner, TaxWorks
Understanding existing code
I'm using Project Analyzer to learn and complete a 40,000-line VB.Net/SQL
Server 2000 prototype written by a coder who is no longer
available as a source of insight. Already in two 1-hour sessions I have
learned more, and identified more required fixes, than I would have done in
a month by reading and exercising the code unaided. As we say in the
southern USA, 'you cannot beat it with a stick.'
Project Analyzer is the best product of its kind I have used in 15 years.
The Procedure Tree List made me register the program. Just this one
feature of Project Analyzer has saved me many hours (and my client many
dollars) of frustration in trying to understand a client's VB program.
Converting from VB to C#
Project Analyzer has been very helpful. I've had to rewrite several applications
for a client from VB to C#.Net. I'm not a VB developer, so this tool has been very useful
in figuring out relationships and behavior.
Getting feedback when working alone
I just wanted to tell you again what a wonderful product you have. It struck me tonight, why I find it SO valuable. I don't work in an office with 20 other programmers, so when I program, I have no peers to give me feedback. Project Analyzer makes up quite a bit for that, giving me a 'project review and walkthrough' that would otherwise be impossible to get.
Anyways. I'm going to get the problem count down to 0 before I go to sleep
tonight, so I'd best get going!
Already in two 1-hour sessions I have
learned more, and identified more required fixes, than I would have done in
a month by reading and exercising the code unaided.
Identifying controls to replace
Our product utilizes several vendor-supplied Visual Basic controls to allow our clients to navigate our utilities. There are several thousand controls used across several hundred forms. One of the vendors no longer supported the version of their product we had and they did not provide an upgrade path. We needed to identify every control along with the particular event we used from this package in order to identify the effort required to replace the controls.
After installing Project Analyzer and gaining some very elementary familiarity with the operation of the tool, one of our engineers created a report identifying all controls, events and vendors used, down to the procedure level. Originally, I had allocated 2 engineers to 2 days to find a way to capture a snapshot of the impact we were facing. I suggested that maybe Project Analyzer might help. Within 5 minutes of returning to my desk I received an email containing a report of everything I needed to understand to scope our effort. We saved 31 staff hours of effort!!!!! Project Analyzer has more than paid for itself and we have only scratched the surface of our plans for the tool.
Ken Garrison, Fiserv
Reducing program size
The dollars spent have already paid themselves back. What your program did in less than 17 minutes would have taken me well over 200 hours. I used the time saved to add comments and do further optimizing of the code (original exe was about 1.2 meg, now it is only 700k).
It really solved a big problem we had. We have had a team of 3 people working on the same program for the past 3 years, it is very large. We were able to immediately shave 300k off the size of our executable!
Lance Keene, Sarbrook Company
I removed 7 files and 361KB of source code and the executable size was reduced from 908KB to 652KB. Needless to say, obtaining these results would have been impractical without a dead code detector.
Your product is superlative and using a simple seek and replace on the string functions (format
-> format$ ...) I reduced my **compressed ** EXE by 14k. Aivosto, where have you been all of my
Cleaning up unused code
I purged about 20 dead source files and over 50 dead routines, and also found a number of bugs thanks to your option explicit checking. In our 150,000 line application, it only takes about a minute and a half to perform the initial analysis.
The first project I analyzed, I was able to cut the executable from 2,076 KB to 1776 KB by following the recommendations of this program. Very simple installation, easy and intuitive interface and SIMPLY OVERWHELMING data analysis and capabilities.
I have had another opportunity to test its capabilities. The current project is for a customer who is selling their program for from $20,000 to $35,000. I analyzed the existing code and cut the executable down from 1358 KB to 975 KB. Added in all of the changes they wanted (which were substantial and added several other 3rd party controls) and got a final executable size of 1278 KB. Their code had been worked on by at least 6 programmers for the past 4 years with nobody bothering to try to clean it up. I think I have found an entirely new area of programming to specialize in.
Spotting more dead code
The thing about its dead code locator is... not only does it spot dead code
but it also spots code that will be dead as soon as you remove the code
initially marked dead.
Not only that but..... it will spot "Excess Scope" issues and tell you that
you can move a variable or procedure to another module if you want to make
it Private. It also provides several graphs and statistical reports on just
Ken Halter, MS-MVP-VB in microsoft.public.vb.general.discussion
Improving quality of undocumented code
A couple of years ago we bought licenses for VB Watch Enterprise Edition and Project
Analyser Enterprise Edition. I must say this has made the world of a difference to us,
since very little of our existing code (60.000+ lines) was documented properly and we are
with a small team of developers. Project Analyser made it possible to improve on quality
and finally to make change decisions which affected many forms with confidence.
Theo de Roo, MAF Europe
Turning a project to another programmer
Your product VB Project Analyzer has been a life saver.
I have a complex VB 6 project that must be turned over to another programmer
by mid January and there is no way I could do this without the excellent
analysis and code documentation tools that your software does so well!
Not only do you write very good software for programmers and developers.
You also provide very good customer support.
Danny Ringo, Odyssey Consulting Corp.
Discovering garbage in code
I am really happy I bought Project Analyzer!
It has helped me to discover a lot garbage in my code.
The dead variables, dead return values, procedures, modules, variables
written not read, variables read not written etc. is phenomenal, and I guess
I am just looking at the top of the iceberg...
.NET with Option Strict discovers quite a lot of potential problems, but
Project Analyzer finds them all.
I do not remember ever having such a good response to support questions for
any software as with Aivosto.
Torsten Borg, Fisa
Discovering your own faults
I am now using the code surf HTML facility to publish all our development code to our intranet web site allowing all developers to see their own programming faults identified in RED! This has resulted in a flurry of emails and fixes between the developers with inevitable improvements being made. I think they're all (including myself) a little embarrassed at having their coding inconsistencies there for all to see.
Chris Barber, Isotrak Ltd.
Running code review
I'm very pleased with it. It has performed as I had thought
and hoped it would for the purposes I needed to use it for.
Some of the areas that it has helped me to take care of:
- Dead code, dead variables
- clearing violations, i.e. deallocating arrays or objects when finished using them
- notification of method arguments or local/member variables that are only written to or read from
- variables read before they have been written
- return values from functions that are either not declared, assigned, or used by calling methods.
- data types not declared for named constants
- ByVal parameter missing from method arguments
- When LenB or Trim$, etc. functions would be better to use
- Code not being reached
- Excess scope of a method or variable
- Possible short circuit issues with condition statements
- Use of As New in variable declaration
- Empty Case or condition statement blocks
- Optional argument missing default value
I liked that there were already several default problem filters created for code review to choose from;
and that you could choose one and edit it and save the modifications as a personal problem filter. It
saves time not having to look through and choose all of the options you want manually; having to only
uncheck the few options you don't want or choose the few additional ones you do want. And I thought
the way the options window was laid out was easy enough to scan through and mostly understand
the various options without having to go to the help reference.
I liked being able to have a context menu option to pop up the description of a particular problem
in the Problem pane. The descriptions were very helpful in understanding what the problem was and
hints on how to address it.
I liked being able to double click on a problem line in the Problem pane and have the code area displayed
in a separate pane with line numbers. I liked the ease of choosing the project, the code files to analyze,
and which problem filter you want to use.
Carl Hoelzlhammer, Emerson Process Management
The program is just absolutely great. I did 575 pages of
documentation yesterday, and it was totally painless. I just can't say
enough about what you have done here. Very, very good work.
I would normally take 1 month to document my software, now it takes me 1
day and I invoice for a month.
It definitely is worth acquiring this piece of software if Visual Basic is your tool for development. The various options available caters for just about every possible query one could have regarding the VB source.
Danie Odendaal, Microsoft
It is really a pleasure to work with a support like the one you are offering to us.
Armando Zuliani, Beta 80 Group
Great Utility - I have used it for many years and it keeps improving! A must have tool for any serious programmer.
Spontaneous, authentic comment at Developersdex.com
IMHO ist er jeden Cent wert. Ich nehme mal an,
wenn Ihr eine Dead-Code Analyse laufen lasst,
dürften sich eure Probleme gelöst haben. Es ist
stellenweise erschreckend, wie viele Code-Leichen
sich so in einem Projekt herumtreiben.
Translation: IMHO it's worth every cent. When you run a dead code analysis, your problems should be solved, I assume. At times it's scary how many code corpses wander in a project.
Thomas Ehlert in microsoft.public.de.vb
Checking out Aivosto VB Project Analyzer's compatibility checklist
If you don't know about VB Project Analyzer, rush to Aivosto's web site and learn about this great tool. It performs code analysis, dead code detection and removal, coding and naming rule enforcement. It can find common programming errors (including memory leaks caused by undisposed API handles), can optimize your code much faster than the fastest and smartest developer, and can generate a thorough documentation of all classes, forms, and members (including cross-reference data to detect who call whom). Best of all, it works with VB6, VB.NET, and VBA.
If you are preparing your VB6 apps for migration to .NET this tool is also very helpful, because it can automatically spot most VB6 language elements that the Update Wizard doesn't convert correctly to VB.NET.
Visual Basic 6 to .Net Migration
A major problem that faces many Visual Basic programmers is migration of Visual Basic 6 applications to .Net. I will not get into the heated discussions about when, why, and if you should make this migration, but the undeniable fact remains that it is a far from simple task and programmers need all the help they can get. Project Analyzer (Enterprise Edition only) lets you analyze your Visual Basic 6 code for elements and constructs that will cause problems when migrated to .Net.
Do you really need this capability, given that Visual Studio has a Visual Basic 6 to .Net migration wizard? Given the complexity of the issues, involved I prefer not to rely on a single tool. If you first use Project Analyzer to detect .Net incompatibilities in your Visual Basic 6 program and then fix them, you are likely to have better results when you run the migration wizard.
Peter Aitken at DevSource.com
Pointing out where you need improvements
For all the modules containing code, you can view the module in a 'hypertext' view. This is similar to what you see in the VB code window, only more colourful and you can click on procedures to find out about them. You can also find out information about the module. This is one of Project Analyser's strengths. It gives you information like name, version, lines of code, and information about the number of procedures.
For each procedure, you can find out about the variables called, whether there are any dead ones. It also provides an analysis of what procedures this current procedure calls, and which ones call it.
The analysis engine is quick and powerful, and the reports are accurate. They are also ruthless at pointing out where you need improvements, and how complex your code it. I was very surprised at what was pointed out to me about my coding and what improvements there were to make.
John Percival at Developer.com
WOW! This program is a MUST for every serious VB programmer. It has tons of cross-reference reports, code optimization suggestions and discover dead code. Rating: 5/5.
Aldo Vargas at Betanews.com
Thank you for sending us your comments.