Reverse engineering
|
Imagix 4D |
|
|
Imagix 4D helps software developers understand complex or legacy C, C++ and Java software. By using Imagix 4D to reverse engineer and document your code, you're able to speed your development, enhancement, reuse, and testing. Eliminate bugs due to faulty comprehension. Get new hires on board faster. Spend time engineering, not reading through code. A comprehensive program understanding tool, Imagix 4D enables you to rapidly check or systematically study your software on any level -- from its high level architecture to the details of its build, class, and function dependencies. You can visually explore a wide range of aspects about your software - control structures, data usage, and inheritance. You can review the software metrics and quality checks to identify and eliminate problem areas in your software. You're also able to create design documentation automatically, further leveraging the information Imagix 4D collects about your software.
|
|
|
Home About Imagix Products Overview
Visualization
UML Diagrams
Control Flow
Metrics
Quality Checks
HTML Docs
View Sample
Support Downloads Related Sites
|
|
Data Collection and Software Visualization -- Imagix 4D collects and integrates data from a number of sources about your software. The most useful of these is your source code itself. Imagix 4D's source code analyzer augments a full syntactic parsing of your code with extensions such as built in error correction, static function pointer analysis, and code quality checking. The result of this analysis is stored and integrated with data collected from other sources through entity / relationship / attribute database technology.
Imagix 4D is able to present this information in a cohesive, meaningful manner through its display windows. Providing access the information in the database, these windows enable you to achieve fast, accurate understanding of your software. They present several different perspectives of your program simultaneously. Their complementary nature enables you to quickly grasp the inherent design of your software. |
|
UML Diagrams and Other High Level Abstractions -- The comprehensive set of data that Imagix 4D maintains about your software can quickly be overwhelming. A number of high level abstraction mechanisms enable you to start your analysis at an overview level. You can then drill down into more detailed information as it becomes useful for the problem at hand.
These mechanisms includes the UML Diagram modes. The UML Diagrams provide views of your existing software based on the Unified Modeling Language. These enable you to study interfaces, collaborations and relationships at the class and file levels. You can start by viewing simple as-built UML class or file-level diagrams. Then, leveraging the comprehensive information that Imagix 4D has collected about your software, you're able to add in relevent detailed member-level relationships (associations) to achieve an accurate, comprehensive understanding of complex systems. |
|
Flow Charts and Control Flow Analysis -- As you move into a more detailed analysis of your software's control logic, you may find that a basic call graph may not be providing you with all the information that you need. To support such analysis, the Imagix 4D source code analyzer collects such low-level data as the internal program logic of functions.
This information is used to generate Flow Charts. You're able to view and analyze the full program flow -- if / else / do / while / switch logic -- inside your functions, which is particularly useful for understanding complex functions. This data also forms the basis of Imagix 4D's Control Flow Analysis support. Control Flow mode goes beyond simple call graph information, by showing both the sequence and the conditionality of function calls and variable usage. So you end up with a much more precise understanding of the actual control flow of the code you're working with. |
|
Software Metrics and Quality Checks -- The metrics and quality checks produced by Imagix 4D enable you to identify potential problems during the development and maintenance of your software.
Leveraging the underlying database, data flow analysis generates a series of analytical verifications of variable usage, task interaction, and interrupt protection present in your software. You're able to spot potential conflicts in real-time embedded and multi-tasking, multi-threaded systems. Complementing these specific analyses are source checks that you can use to find exceptions to generally agreed upon design and coding standards. And you can compare the software metrics to specific norms for your organization to insure that the software meets your development criteria. By identifying and correcting the problem areas, you're able to improve the overall clarity, portability, and maintainability of your software. |
|
Automated Documentation -- Imagix 4D also helps you generate comprehensive design documents, for either your own software, or for code you've inherited.
Using information in the Imagix 4D database and in the source code itself, Imagix 4D automates the task of documenting each component (file, class, function, etc.) in your software. In addition to plain ASCII documents, Imagix 4D can output in HTML (for on-line, intranet documentation) and RTF (for formal hardcopy documents). As a result, you're able to save significant effort, get more accurate documents, and avoid some genuinely unpleasant work. |
|
|