17 February 2022
Imagix 4D ist ein Werkzeug, um komplexen, in C, C++ und Java geschriebenen Third-Party- und Legacy Source Code zu verstehen, zu dokumentieren und zu verbessern.
Imagix 4D automatisiert die Analyse des Kontrollflusses und der Abhängigkeiten. Das Werkzeug deckt Probleme in der Datennutzung und bei Task-Interaktionen auf.
Mit Imagix 4D steigern Sie Ihre Produktivität und Qualität und reduzieren Risiken.
Lesen Sie hier was Anwender von Imagix darüber sagen:

"Kummler + Matter ist ein Schweizer Unternehmen, das im Bereich der Energieversorgung und Verkehrstechnik tätig ist und Verkehrskonzepte,
elektronische Verkehrskontrollsysteme, Park- und Signalleitsysteme entwickelt. Um Systeme zur Verkehrskontrolle miteinander zu verbinden,
benutzen wir Kommunikationsprotokolle wie OCIT, die im Straßenverkehrssystem ein gängiger Standard sind. Beim Entwickeln von C und C++ Software auf solch
komplexen Systemen hilft uns Imagix bei Analyse, Design und Implementierung.
Imagix 4D hat unseren Entwicklern sehr dabei geholfen, die Real Time Prozesse und die Komplexität innerhalb der mehr als 60.000 Codezeilen zu verstehen.
Die Entwickler haben die verschiedenen Ansichten ausführlich genutzt, um einen klaren Überblick über die von ihnen entwickelte Software zu bekommen.
Imagix 4D half ihnen auch beim Reverse Engineering.
Die Zielsysteme laufen unter Linux und wurde aus Gründen der Benutzerfreundlichkeit auf einer Windows-Plattform analysiert.
Hierfür war es sehr hilfreich, dass man Imagix 4D auf beiden Betriebssystemen nutzen kann.
Imagix 4D hat Kummler + Matter viel Arbeit gespart und half sehr während des Entwicklungsprozesses.
Minh Tuan Nguyen, Entwicklungsmanager (Regelung des Straßenverkehrs)
Kummler + Matter SA, Schweiz
Kummler + Matter SA, Schweiz

Das Verständnis von Legacy-Codes ist schwierig. ... Daraus ergibt sich der Bedarf an einem umfassenden Reengineering/Reverse Engineering-Tool. Wir fanden den Einsatz von Imagix 4D gut,
da es ein Maximum an bildlichen Darstellungen in Form von Flussdiagrammen, Flussgraphen, Klassendiagrammen, Metriken und teilweise auch dynamischen Visualisierungen erzeugt. ...
Die Nützlichkeit von Imagix 4D zur Erstellung von Entscheidungsdichte- und Komplexitätsmetriken für einen großen Code hat sich als nützlich erwiesen, um herauszufinden, wie viel Reengineering erforderlich ist...
Wenn wir den Code eines Legacy-Softwareprodukts verstehen wollen, ist es notwendig, die dynamische Anordnung von Softwareprodukten zu verstehen. Der Autor bewertete verschiedene Reengineering-Tools und empfahl das Tool Imagix 4D. Wir haben uns auch für das Imagix 4D-Tool der Imagix Corporation entschieden, weil es über viele Funktionen verfügt und die maximale Architektur aus dem Quellcode entwickelt. ...
Imagix 4D ist ein gutes Werkzeug in Bezug auf die Vielfalt der unterstützten Sprachen, die grafische Benutzeroberfläche, die maximale Diagrammerstellung und die Möglichkeiten zur Visualisierung von Informationen durch Filtertechniken.
Rashmi Yadav, Ravindra Patel, und Abhay Kothari: Kritische Bewertung des Reverse-Engineering-Tools Imagix 4D! (Link zu Springerplus, online veröffentlicht 2016)
Die Nützlichkeit von Imagix 4D zur Erstellung von Entscheidungsdichte- und Komplexitätsmetriken für einen großen Code hat sich als nützlich erwiesen, um herauszufinden, wie viel Reengineering erforderlich ist...
Wenn wir den Code eines Legacy-Softwareprodukts verstehen wollen, ist es notwendig, die dynamische Anordnung von Softwareprodukten zu verstehen. Der Autor bewertete verschiedene Reengineering-Tools und empfahl das Tool Imagix 4D. Wir haben uns auch für das Imagix 4D-Tool der Imagix Corporation entschieden, weil es über viele Funktionen verfügt und die maximale Architektur aus dem Quellcode entwickelt. ...
Imagix 4D ist ein gutes Werkzeug in Bezug auf die Vielfalt der unterstützten Sprachen, die grafische Benutzeroberfläche, die maximale Diagrammerstellung und die Möglichkeiten zur Visualisierung von Informationen durch Filtertechniken.
Rashmi Yadav, Ravindra Patel, und Abhay Kothari: Kritische Bewertung des Reverse-Engineering-Tools Imagix 4D! (Link zu Springerplus, online veröffentlicht 2016)

(Originaltext auf Englisch)
“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 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)







