Imagix 4D is a tool to understand, document and improve complex, third party or legacy source code in C, C++ and Java. Imagix 4D automates the analysis of control flow and dependencies. It detects problems in data usage and task interactions. With Imagix 4D you increase productivity, improve quality, and reduce risk.
Read here what Imagix 4D users say about the tool:

"Kummler + Matter is a Swiss company developing traffic concepts for the electrical installation of traffic control systems, parking guidance and signaling systems. To interconnect traffic control systems, we use communication protocols like OCIT, which is an open standard in road traffic systems. In order to do the software development of such complex systems we use Imagex 4D, to analyze, design, implement software mainly in C and C++ languages. The software was really useful in helping our developers understand the real time processes and analyze the complexity with more than 60’000 lines of code. The developers have used extensively the different views that gave a clear overview of the software they were developing and helped them go through reverse engineering steps. The target systems are running under Linux and for ease of use some of the analysis was performed on a Windows platform. As such it was really helpful to be able to run the Imagix 4D software on both platforms. In conclusion Imagix 4D helped Kummler + Matter a lot in going through development processes and ease the work."
Minh Tuan Nguyen, Development Manager (Regulation of road traffic)
Kummler + Matter SA, Switzerland
Minh Tuan Nguyen, Development Manager (Regulation of road traffic)
Kummler + Matter SA, Switzerland

The comprehension of legacy codes is difficult to understand. ...
Consequently, the need for a comprehensive reengineering/reverse engineering tool arises.
We found the usage of Imagix 4D to be good as it generates the maximum pictorial representations in the form of flow charts, flow graphs, class diagrams,
metrics and, to a partial extent, dynamic visualizations. ...
The utility of Imagix 4D to prepare decision density and complexity metrics for a large code was found to be useful in getting to know how much reengineering is required...
Whereas when we want to understand the code of legacy software product it is necessary to understand the dynamic arrangement of software products, the author assessed various reengineering tools, and recommended the Imagix 4D tool. We also chose Imagix Corporation’s Imagix 4D tool for its features, and as it develops maximum architecture from source code. ...
Imagix 4D is a good tool in terms of variety of language supportability, graphical user interface, maximum diagram generation, and provide choices for visualize information by using filtering techniques.
Rashmi Yadav, Ravindra Patel, and Abhay Kothari: Critical evaluation of reverse engineering tool Imagix 4D! (Link to Springerplus, published online 2016)
The utility of Imagix 4D to prepare decision density and complexity metrics for a large code was found to be useful in getting to know how much reengineering is required...
Whereas when we want to understand the code of legacy software product it is necessary to understand the dynamic arrangement of software products, the author assessed various reengineering tools, and recommended the Imagix 4D tool. We also chose Imagix Corporation’s Imagix 4D tool for its features, and as it develops maximum architecture from source code. ...
Imagix 4D is a good tool in terms of variety of language supportability, graphical user interface, maximum diagram generation, and provide choices for visualize information by using filtering techniques.
Rashmi Yadav, Ravindra Patel, and Abhay Kothari: Critical evaluation of reverse engineering tool Imagix 4D! (Link to Springerplus, published online 2016)

“The context:
The SW of this class 2 medical device had been developed by a single engineer during a dozen of years.
In fact, this is not a single SW but several SW's with different microprocessors from 8 to 32 bit, written in C++ or a mix of assembler and C. The whole is about 200000 lines of code. There were few comments which were not very helpful or wrong. There was no coding style. The SW is not modular and could be qualified as clever code. He liked for instance to redefine operators, to use syntaxes that you can only understand by checking in the Kernighan & Ritchie reference book. A lot of methods call methods belonging to another object or 3 layers below. Many library functions of the O/S were amended. The SW code had never been peer reviewed.
And, of course, the documentation was brief. By lack of ressource the SW had been poorly tested. The result was that there were hundreds of complaints coming from.customers. As a senior embedded SW engineer I was called to replace this guy with a very limited time for training.
I used Imagix to understand the code. Other tools were completely overwhelmed by the complexity and even induced to errors. To load the project with Imagix is easy and very rapid because Imagix is supporting the main development environments and compilers on the market. Most of the times you simply have to give the project file and Imagix parses the whole code including libraries within a few dozen of seconds or minutes. I really appreciate to be in the capacity to tailor graphs in order to focus on the SW entity that is at the core of my issue. The graph may describe all types of relationships and not only object inheritance or function call trees. Instantly, I can have an overview on where a variable is written or read. I can instantly display a flow diagram of a function. Then, I may hide parts which are not relevant for solving the issue. Then, I can surf in the corresponding code and highlight in the graph where a key variable is used.
Surfing in the code is so easy. I can follow my idea without having to swap between thousand of files of code or documents. I can rapidly go to the point where a surgical correction is needed to solve the issue.
I can say that Imagix saved me weeks of tedious work.”
Gilles Carré, senior graduated HW/SW engineer (28 years of experience)
The SW of this class 2 medical device had been developed by a single engineer during a dozen of years.
In fact, this is not a single SW but several SW's with different microprocessors from 8 to 32 bit, written in C++ or a mix of assembler and C. The whole is about 200000 lines of code. There were few comments which were not very helpful or wrong. There was no coding style. The SW is not modular and could be qualified as clever code. He liked for instance to redefine operators, to use syntaxes that you can only understand by checking in the Kernighan & Ritchie reference book. A lot of methods call methods belonging to another object or 3 layers below. Many library functions of the O/S were amended. The SW code had never been peer reviewed.
And, of course, the documentation was brief. By lack of ressource the SW had been poorly tested. The result was that there were hundreds of complaints coming from.customers. As a senior embedded SW engineer I was called to replace this guy with a very limited time for training.
I used Imagix to understand the code. Other tools were completely overwhelmed by the complexity and even induced to errors. To load the project with Imagix is easy and very rapid because Imagix is supporting the main development environments and compilers on the market. Most of the times you simply have to give the project file and Imagix parses the whole code including libraries within a few dozen of seconds or minutes. I really appreciate to be in the capacity to tailor graphs in order to focus on the SW entity that is at the core of my issue. The graph may describe all types of relationships and not only object inheritance or function call trees. Instantly, I can have an overview on where a variable is written or read. I can instantly display a flow diagram of a function. Then, I may hide parts which are not relevant for solving the issue. Then, I can surf in the corresponding code and highlight in the graph where a key variable is used.
Surfing in the code is so easy. I can follow my idea without having to swap between thousand of files of code or documents. I can rapidly go to the point where a surgical correction is needed to solve the issue.
I can say that Imagix saved me weeks of tedious work.”
Gilles Carré, senior graduated HW/SW engineer (28 years of experience)







