Visustin: Document Code in Flow Charts
This utility parses source code and turns the logic into flow charts and UML-style diagrams.
Visustin is a coding utility that parses source code and turns the logic into flow charts and UML-style diagrams. The software reverse engineers more than two dozen programming languages, including many variants and dialects. For example, the support for Basic-derived languages includes Visual Basic, Visual Basic .NET, Visual Basic for Applications (VBA), Active Server Pages (ASP), QuickBASIC, LotusScript, PowerScript, PureBasic, and REALbasic. I tested the Pro version of the product using VB .NET and C# code.
For a quick start, fire up the program, go to the Samples menu, choose a language, and select a code sample. Visustin displays some source code, sets the language in the dropdown list box, and renders the flow chart image. When you import your own file or paste code into a snippet, you need to remember to select the language first. Otherwise, the tool produces strange charts without warning you that it's parsing VB code using C# as the selected language. Upon opening files, the software defaults to common extensions, so don't expect to see *.cs (the file extension for C#) when the dropdown is set for ASP classic.
The flow charts themselves are okay in terms of logic, but the rendering resolution needs improvement to prevent ugly "jaggies." The effect is literally magnified when you use the Export to PowerPoint option. Nobody wants huge stair-step lines on an auditorium screen. On the other hand, the Export to Visio option (using Visio's VSD format) produces a perfectly acceptable diagram, with editable, vector-based objects.
Comments are great in code, and they can be a substantial time-saver, especially when reviewing the code of others. However, comments can clutter up flow diagrams significantly. Visustin gives you the option to hide comments, display them as part of the control flow, or have the software offset them as callouts to the corresponding statements.
One problem with automated flow charts is that they display logic and code rather than explanations. For example, a decision diamond's label "Shopping basket exists?" makes far more sense to non-programmers than does "shoppingBasket == null?"
Unfortunately, sometimes there are cases when the program's intended audience (developers) need to share what they create with people who aren't developers themselves, and displaying code to non-developers doesn't help them understand what's going on.
The product employs shareware-style licensing and activation that ties the license to a specific computer and the current logged-in account. The registration routine submits the hardware identifier and Windows user name to Aivosto's Web site. After that, you go through a cumbersome online and e-mail activation process to exchange your license keyword for an activation code. It's too bad paying customers are caught in the crossfire when a software author battles crackerz. Speaking of crossfire, munitions manufacturers should note licensing condition 11: "The Software may not be used for the design, development, production, use, or stockpiling of weapons."
I should also note that the VB6 installer package threw a run-time error '53' (File not found) on my XP Pro system. I bypassed the failed install by running the executable directly.
Visustin's batch mode feature could be valuable for quick compliance with a documentation requirement. Using this feature is as simple as pointing the batch mode to your project's code folder. For more meaningful flow charts, you can let the tool generate Visio objects and tweak the diagrams by hand from there.
At $499 for the Pro version, Visustin is expensive compared with similar shareware, but the company does offer a generous 30-day money back guarantee.
Visustin by Aivosto
Price: $499 (Pro Edition)
Quick Facts: Generates flow charts and UML charts by reverse engineering source code.
Pros: Supports many computer languages and dialects; exports Visio objects; unattended batch mode; 30-day money back guarantee.
Cons: Bitmaps show stair-step "jaggies"; cumbersome activation procedure; expensive.