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:
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)
"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