Project Analyzer v10.2
Source code analyzer, optimizer and documenter for Visual Basic, VB.NET and VBA. Understand VB systems. Find flaws. Remove unused code. Create documents and diagrams.
Code analyzer for Visual Basic
Project Analyzer is a code review and quality control tool for Visual Basic and VBA. It does static code analysis by reading your VB code. Detect logic flaws by automated code review. Perform impact analysis before writing changes. Understand poorly documented legacy code. Reverse engineer existing VB projects into diagrams and documentation. Save costs and keep end-users happy by delivering high-quality VB applications with few errors.
Understand. Project Analyzer helps you understand the undocumented spaghetti code your colleagues wrote. Surf through a large project as hypertext and interactive call trees. View diagrams. Make sense of hopelessly complex monster projects and refactor them into modern systems.
Improve. Locate bad code, rotten logic, errors and omissions with automated code review. Detect and remove unused dead code. Save your precious time and have Project Analyzer autofix your code.
Maintain. To help maintenance, Project Analyzer lets you enforce coding standards and generate project documentation.
Cut costs and improve quality at the same time. Project Analyzer helps you cut costs by automating your efforts. By locating mistakes that are hard to catch by even seasoned developers, Project Analyzer helps you deliver less errors to users and improve customer satisfaction.
Key features
Automated code review:
Detect dead code. Remove unused modules, procedures, variables, constants and controls. Decrease your .exe by up to 100s of kB.
Optimize. Find inefficient code. Use faster syntax and optimal declarations.
Check logic. Loops don't loop, conditions are unconditional, lines can't be reached, constants are inaccurate, empty objects are referenced...
Detect errors. Find functionality problems, such as unimplemented events, questionable tab orders and missing error handling.
Enforce coding style. Apply design standards and make that spaghetti code readable again.
Standardize naming. Enforce naming conventions on variables, procedures and other objects. Pro, Ent
Avoid resource leaks. Ensure proper disposing of objects and API handles.
Find duplicate blocks. Spot duplicated code blocks, the results of copy & paste coding. Ent
Ensure .NET compatibility. Review VB6 code for known VB.NET compatibility issues. Ent
Surf around in hypertext. Click objects to see their use and declarations. Locate code via the enhanced Find window. Copy syntax-formatted code to documents.
Cross-reference. Find locations of use for any programming object. View class instantiations, variable reads and writes, procedure calls etc. Analyze file dependencies and call sequences to understand the impact of changes. Cross-referencing is a technique that finds where each class, procedure or variable is being used and how.
Document your projects. Generate comprehensive documentation with reports including procedure list, variable list, control list, interface list and project dictionary. Print your source code in multiple columns with syntax highlighting. Export code as syntax highlighted PDF, HTML or RTF.
Create code manuals and source code web sites. Pro, Ent
Analyze binary libraries. See how your code calls binary .dll, .ocx and .exe libraries. Review the contents of DLL, COM and .NET assembly files referenced by your programs. Ent
Metrics. Monitor code quality with 184 metrics, such as lines of code, cyclomatic complexity, relative complexity, depth of nesting, comment density, length of names and object-oriented metrics. Compare projects and view project history. Ent
Std = Standard Edition. Pro = Pro Edition. Ent = Enterprise Edition.
Editions
Project Analyzer comes in three editions to choose from:
Standard Edition = sophisticated code analyzer
Pro Edition = Standard Edition + Pro features
Enterprise Edition = Pro Edition + Enterprise features
VBA Plug enables support for Office VBA.
System requirements
Project Analyzer v10.2 is compatible with:
2 installations per license. A single user license covers one user and two computers. For 2 users one needs a 2-pack, for 3 users a 3-pack and so on. A site license allows 100 installations. Reinstallation is allowed if previous installations are removed first. Online activation is required before running the full software. Activation on offline PC is possible. Activation is covered for 3 years after purchase.
Project Analyzer FAQ
Q: Which Visual Basic versions does Project Analyzer support?
A: Project Analyzer v10 supports all Visual Basic versions from 3.0 to 6.0, as well as Visual Basic .NET versions 2002, 2003, 2005, 2008, 2010, 2012 and 2013. It can also analyze the VB code in the code behind classes of an ASP.NET project.
Q: Does Project Analyzer support VBA?
A: Project Analyzer supports Office VBA, but you need VBA Plug to analyze any Visual Basic for Applications code.
Q: Is my project too large for Project Analyzer?
A: No. Project Analyzer is robust software. It is designed to work on systems of any size, up to millions of lines and hundreds of projects in one run. We haven't yet found a program too large for Project Analyzer. If your VB system contains millions of lines, please contact us, you might have the record. The larger the project or solution, the more useful Project Analyzer is for you.
Q: How do I analyze an ASP.NET web site without a .vbproj or .sln file?
A: Starting with Project Analyzer v9, choose Analyze directory in the File menu.
Q: Is it a floating license or a machine license?
A: It is neither. It is a user license. Each license covers one user and two installations. As an example, one license allows installation on a desktop and a laptop PC, as long as it is for the same user. For details on old Project Analyzer licenses until v7, please refer to the old version help file.
Q: How many installations can I make?
A: A single-user license allows 2 installations at a time. You need to activate the full version online before use.
Q: How can I reinstall on another machine?
A: When you have already done 2 installations and need to move to another machine, please contact us for the instructions.
Q: Can I activate the full version off-line?
A: You need access to the web and email to activate the software. Online access is not required on the installation machine, however. You get an activation code by using another machine.
Q: Do I need the .NET Framework or Visual Studio installed?
A: No! Project Analyzer works independent of either Visual Studio or the .NET Framework. Exception: .NET assembly analysis, which is an optional feature, requires .NET Framework 4 or 4.5.
Q: What is dead code?
A: Dead code is extra code that you can remove because it's not used anywhere in your program.
Q: How much dead code can there be?
A: We have heard of several hundred kilobytes of dead code in a single project. Some users have said their project contained 30% or 40% of dead code.
Even if your project has just 10% of dead code, it's worth taking it out. Think of the large EXEs and those functions that no-one knows what they were for!
Q: Why is a procedure "dead" although it is in use?
A: A procedure may be marked dead if it is called by other procedures. This happens only if the callers themselves are dead. You could as well remove all those procedures. This is a pretty unique feature in Project Analyzer.
Q: Why is a variable "dead" although it is written?
A: In addition to being totally out of use, a variable can be "read but not written" or "written but not read". This is kind of semi-dead code. You should review the variable to see whether you should remove it or add the missing read or write.
Q: How can I easily remove dead code?
A: Project Analyzer lets you manually review your dead code and decide if it is worth saving or should rather be deleted. Project Analyzer Enterprise Edition includes a problem auto-fix feature that automatically removes all dead code that can safely be removed.
Project Analyzer Features
The following table lists the features of Project Analyzer. The features are included in all the available editions unless otherwise noted.
Feature |
Details |
Required product |
Automated code review |
Analyze Visual Basic and VB.NET source code |
|
Office VBA analysis |
Analyze Office VBA projects |
VBA Plug |
Dead code detection |
Find unused procedures, properties, variables, parameters, constants, enums, user-defined types, classes, interfaces, modules and controls |
|
Dead code removal |
Delete or comment out dead code automatically |
Enterprise |
Detection of functionality problems |
Monitor known user interface issues and problems with program logic |
|
Flaw finder |
Locate logical mistakes and omissions and prevent future errors |
|
Memory leak prevention |
Ensure proper clearing of object variables, deallocation of dynamic arrays and releasing of Win API handles |
|
Optimization suggestions |
Detect unoptimal statements and syntax, configurable |
|
Coding standards |
Enforce coding standards by detecting programming style issues. Configurable. |
|
Naming: |
Define and enforce a naming standard on procedures, variables, constants, classes, enums, types etc. |
Pro, Enterprise |
Problem auto-fix |
Remove dead code and change live code according to selected standards |
Enterprise |
Constant analysis |
Detect duplicated and differing constants and enum constants |
|
String literal analysis |
Detect repeated string definitions |
|
Call trees |
View procedure call trees and file dependency trees in treeview or report format |
|
Cross-references |
View references to any programming object to see where it is being used, view all references between two files, view references into/out of a file, view references by type (such as object instantiations or array allocations) |
|
Diagramming: Project Graph |
Interactive procedure call trees, file dependency trees, class hierarchy trees, control flow trees, data flow trees, instantiation trees, data declaration trees and form show trees. Print or save as image for project documentation. |
Pro, Enterprise |
Diagramming: Enterprise Diagrams |
Complex procedure call diagrams, file dependency diagrams, class hierarchy diagrams, control flow diagrams, data flow diagrams, variable access diagrams, form show diagrams, "file belongs to project" diagrams, project dependency diagrams, class cohesion diagrams and recursion diagrams. Print diagrams or save as image files. Export diagrams to edit in Microsoft Visio. |
Enterprise |
Reports: Simple |
File list, Module list, Namespace list, Procedure list, Variable list, Constant list, Types, Enums and Aliases list, Dictionary |
|
Reports: Cross-reference based |
Cross-reference report, Procedure references report, Variable references report, Constant references report, Need report, Executed by report, File dependency analysis, File dependency levels, Subsystem report, Variable use report, Non-cohesive classes report |
|
Reports: Module structure |
Module interface report, Module members report, Interface report |
|
Reports: User interface |
Menu report, Control report, Hotkey conflicts report (VB 3-6 only) |
|
Library report |
List used library files and API Declare statements |
|
Design quality report |
Overall picture of the quality of a project, measured by several metrics, such as percentage of dead code, percentage of meaningful comments, and distribution of lengths of names. |
|
Summary report |
Summarize the size of a project, a statistical information source of your efforts, metrics such as total lines of code |
|
Find |
Enhanced search for procedures, variables, constants, types, enums, code, comments or any text in a project |
|
Listings windows |
List and navigate variables, constants, parameters, procedures, modules and data types |
|
Hypertext code view |
Surf source code as hypertext where calls become clickable links to called object |
|
Print code |
Print source code with syntax-aware highlighting in either color or monochrome |
|
Export syntax-highlighted code |
Export source code as syntax-highlighted documents. Formats: PDF, RTF, HTML |
|
Archive project files |
Backup code to a .zip file |
|
Metrics |
184 metrics including lines of code, comment density, cyclomatic complexity, relative complexity, fan-in and fan-out, depth of nesting and object-oriented metrics. Compare projects and monitor historical development with charts. |
Enterprise |
Multi-project analysis |
Analyze several projects together, including .vbg and .sln support |
Enterprise |
.NET assembly analysis |
Look into .NET Framework assemblies and other .NET libraries and analyze their use in VB code |
Enterprise |
COM analysis |
Look into COM libraries and analyze their use in VB code |
Enterprise |
DLL analysis |
Look into DLL libraries and analyze their use in VB code |
Enterprise |
Duplicate code analysis |
Detect repeated code blocks |
Enterprise |
VB.NET compatibility check |
Review VB6 code for .NET issues |
Enterprise |
Macros |
Automation of repetitive analysis tasks |
Enterprise |
Source code documentation |
Print the code of a program or put it in a syntax-highlighted, surfable document file |
Pro, Enterprise |
Comment manual |
Generate source documentation out of comments in code |
Pro, Enterprise |
Project web site |
Generate HTML hyperlinked source code and reports for thorough documentation |
Pro, Enterprise |
Detect dead code in shared files |
Combine several analyses to detect dead code in source code files shared between several projects |
Pro, Enterprise |
Flow charts |
Send selected code to Visustin for flowcharting |
Requires Visustin (another product) |
Standard = Standard Edition, Pro = Pro Edition, Enterprise = Enterprise Edition
© Copyright 2000-2023 COGITO SOFTWARE CO.,LTD. All rights reserved