Understand 是維護，測量，分析批判或大型代碼庫的一種靜態的分析工具，可以從指標和圖表做相關性分析，在 Understand 掌握管理你的原始程式碼。
Measure your software
Verify your coding standards are being met with Code
Powerful programming features
See the big picture
C, C++, C#, Ada, Java, Pascal, Cobol, JOVIAL, VHDL, FORTRAN, PL/M,
Instant & accurate
Over 20 different graphs
Be the guru
Canned and Custom
Understand is very efficient at collecting metrics about the code it analyzes.
The metrics included with Understand have evolved over many years to accommodate common customer requests.
Understand now provides a way to check your code using published coding standards, or your own custom standards.
Custom Coding Standards
Our goal for the Understand editor was to provide something equal to the top programming editors, but also give it lots of features for maintaining and understanding code.
The "browse mode" in Understand turns the editor into a web browser for code. Compare
File and Folder
This feature lets you compare entities, files and folders. This becomes very useful when you have sections of code or functions that are similar.
Understand lets you create your own customized workspace to organize information, palettes, source code, etc.
We’ve had dependency analysis in Understand for many years. and have consolidated it into a functional area of the tool, improved what it does and also added a few dependency views.
The Dependency Analysis capability provides these features:
- rapid browsing of dependencies for files and Understand architectures
- Dependents, Depends On, and Butterfly graphs for files and architectures
- Spreadsheet export of dependency relationships
- A new Dependency Browsing dock that shows all depedency information
Understand can generate graphs that show the hierarchy of an architecture, or just a sub-hierarchy. These graphs can be saved as PNG, JPEG, SVG, or they can be saved directly to Visio for further editing.
You can export relationship information for a file or architecture to CSV format by clicking on the icon. This will output dependency relationships in matrix form for that entity.
The following list provides a brief overview of the language versions and/or compilers supported:
- Ada: Understand supports Ada83, Ada95, and Ada05 code, separately, or in combination.
- C/C++: Understand analyzes K&R or ANSI C source code and most constructs of the C++ language. Understand works with any C compiler, and has been tested with most of the popular ones. Note that C++ templates are not yet supported.
- C#: Understand supports C#.
- FORTRAN: Understand supports FORTRAN 77, FORTRAN 90, FORTRAN 95, and FORTRAN 2003 in both free and fixed format. Extensions supported include Harris FORTRAN and DEC FORTRAN. We often expand Understand to support common compiler extensions. If you find that the compiler extensions you are using are not currently supported, contact us at [email protected]
- Java: Understand supports most of JDK 1.3, 1.4, 5, and 6. Specifically, the generics introduced in JDK 5 are not currently supported. Source code containing generics may be analyzed but generics information will be ignored.
- JOVIAL: JOVIAL73 and JOVIAL3 are supported.
- Pascal: Understand supports all versions of Borland's Delphi language and Borland's Turbo Pascal language. It also supports ISO 7185: 1990 (also known as Unextended Pascal) with DEC Pascal extensions. You can also enable support for Ingres embedded SQL statements.
- PL/M: The standard version for PL/M 80/86 is supported.
- VHDL: We support VHDL-87, VHDL-93, and VHDL-2001.
- Cobol: Understand supports COBOL 85.
Combined Language Analysis
With Combined Language Analysis, Understand can handle code bases written in multiple languages, such as C++ and Java, or Ada combined with FORTRAN.
Instant Search lets you search millions of lines of source code instantly. It is so fast that if you type slowly it will be updating results based on what you are typing.
Example Declaration Graph of an Ada Package:
xample Declaration Graph of an Ada Package:
Example Dependency Graph of the Directory Architecture:
UML Class Diagram
Treemaps are an area-based visualization where the size and color of the area are visually representing a metric. This new Understand feature allows the user to choose the metric they want to see.
Just about everything Understand knows about code is shown in the Information Browser (IB). The IB is used for all types of entities and it shows different things depending on the type of entity selected.
Understand pushes information to you as you move about the editor in a source file. The place where the information is shown is the Contextual Information Sidebar (CIS)
The command line tool und, included with Understand lets you quickly create, parse, and report on Understand projects. If you have a large number of projects you need to create, or need to automate reporting or metrics generation, this is the perfect tool.
Understand generates a wide variety of reports. The reports available in your project may vary based off of the project language, but the reports fall into these categories:
- Cross-Reference reports show information similar to that in the Info Browser, except that all entities are shown together in alphabetic order.
- Structure reports show the structure of the analyzed program.
- Quality reports show areas where code might need to be examined.
- Metrics reports show basic metrics such as the number of lines of code and comments.
The reports included with Understand have evolved over many years to accommodate common customer requests. However, we recognize that not all needs can be covered.
Single Developer Licensing
The most convenient option is a Single Developer License (SDL) where we issue a code to a given developer, enabling the tool on any machine they use (in the lab, at home, at their desk). This code may be reassigned to another engineer should the original engineer leave or not use the tool any longer. No contact with us is needed to do that.
The Floating License is more versatile, but adds complexity to the installation. The license may be used by any number of developers on the network, but only one user at a time per license.
The license manager can run as a daemon on any Linux/Unix platform and as a service on Windows Vista and later and can serve licenses for clients running on any platform.
Node-Locked Floating License
A node-locked floating license is designed for a single machine that many users will be accessing, such as in a lab or a secure environment. It is similar in concept to a Standard Floating License but no license server is needed, and it will only work on the one machine.
USB-Dongle Floating License
This license is ideal when the license needs to be shared between different people on different networks, or if there is a lot of traveling involved. The license is mailed to you on a USB drive. As long as that drive is attached to the computer, Understand will work. The license dongle can be shared between users as needed and will work on Windows, Mac and Linux.
Dongle licenses expire after two years and will need to be replaced. There is an additional fee for new and replacement dongle licenses to offset the setup and shipping costs.
Understand takes about 100-200MB of installation space, depending on which OS it is installed on and will run on Windows, Linux, Solaris (Sparc and Intel) and OSX(Intel). It will run on just about any system (our Solaris 8 box only has 256MB of RAM and it runs fine). However, for larger code bases the more RAM the better. We recommend 1GB / Million lines of code, it will run on less, but it is much slower.
Understand also can run on a 64bit OS
GitAhead 版本管理應用工具 The Easiest Way to Use Git
Unleash the power of Git with our incredibly intuitive and surprisingly capable GUI.
It's All About the Code -
Instantly Find Any Commit -
See What's Happening Under the Hood -
Full-Featured Source Code Editor -
Explore Your History -