Imagix 4D est un outil pour comprendre, documenter et améliorer le code source complexe, tiers ou hérité en C, C ++ et Java.
Imagix 4D automatise l'analyse du flux de contrôle et des dépendances.
Il détecte les problèmes d'utilisation des données et les interactions de tâches.
Avec Imagix 4D, vous augmentez la productivité, améliorez la qualité et réduisez les risques.
Lisez ici ce que les utilisateurs d'Imagix 4D disent de l'outil:

"Kummler+Matter est une société suisse développant des concepts de trafic pour l'installation électrique de systèmes de contrôle du trafic,
de guidage de stationnement et de systèmes de signalisation.
Pour interconnecter les systèmes de contrôle du trafic, nous utilisons des protocoles de communication comme OCIT, standard dans les systèmes de circulation routière.
Afin de réaliser le développement logiciel de ces systèmes complexes, nous utilisons Imagix 4D, pour analyser, concevoir et implémenter des logiciels
principalement écrits en langages C et C++.
Le logiciel a été très utile pour aider nos développeurs à comprendre les processus en temps réel et à analyser la complexité de plus de 60.000 lignes de code.
Les développeurs ont largement utilisé les différents points de vue de l'outil, qui donnaient un aperçu clair des logiciels qu'ils développaient
et qui les ont aidés à passer par les étapes de rétro-ingénierie.
Les systèmes cibles fonctionnent sous Linux et pour faciliter l'utilisation, une partie de l'analyse a été effectuée sur la plateforme Windows.
Il était vraiment utile de pouvoir utiliser le logiciel Imagix 4D sur les deux plateformes.
En conclusion, Imagix 4D a beaucoup aidé Kummler+Matter dans les processus de développement et a facilité le travail des équipes."
Minh Tuan Nguyen, Directeur du développement (Réglementation du trafic routier)
Kummler+Matter SA, Suisse
Minh Tuan Nguyen, Directeur du développement (Réglementation du trafic routier)
Kummler+Matter SA, Suisse

La compréhension des codes hérités est difficile. ...
Par conséquent, le besoin d'un outil complet de réingénierie/rétro-ingénierie se fait sentir.
Nous avons trouvé que l'utilisation d'Imagix 4D était optimale car elle génère un maximum de représentations picturales
sous forme d'organigrammes, de diagrammes de flux, de diagrammes de classe,
de métriques et, dans une certaine mesure, de visualisations dynamiques. ...
L'utilité d'Imagix 4D pour préparer la densité de décision et les métriques de complexité pour un code important s'est avérée utile pour déterminer l'ampleur de la réingénierie nécessaire...
Considérant que lorsque nous voulons comprendre le " code hérité " d´un logiciel, il est nécessaire de comprendre l'arrangement dynamique des logiciels, l'auteur a évalué divers outils de réingénierie, et a recommandé l'outil Imagix 4D . Nous avons également choisi l'outil Imagix 4D d'Imagix Corporation pour ses fonctionnalités, et parce qu'il développe un maximum architecture à partir du code source. ...
Imagix 4D est un bon outil en termes de variété des langages supportés, d'interface utilisateur graphique, de génération maximale de diagrammes, et offre des choix pour visualiser l'information en utilisant des techniques de filtrage.
Rashmi Yadav, Ravindra Patel, et Abhay Kothari: Feedback de l´évaluation de l'outil de rétroconception Imagix 4D! (Lien vers Springerplus, publié en ligne en 2016).
L'utilité d'Imagix 4D pour préparer la densité de décision et les métriques de complexité pour un code important s'est avérée utile pour déterminer l'ampleur de la réingénierie nécessaire...
Considérant que lorsque nous voulons comprendre le " code hérité " d´un logiciel, il est nécessaire de comprendre l'arrangement dynamique des logiciels, l'auteur a évalué divers outils de réingénierie, et a recommandé l'outil Imagix 4D . Nous avons également choisi l'outil Imagix 4D d'Imagix Corporation pour ses fonctionnalités, et parce qu'il développe un maximum architecture à partir du code source. ...
Imagix 4D est un bon outil en termes de variété des langages supportés, d'interface utilisateur graphique, de génération maximale de diagrammes, et offre des choix pour visualiser l'information en utilisant des techniques de filtrage.
Rashmi Yadav, Ravindra Patel, et Abhay Kothari: Feedback de l´évaluation de l'outil de rétroconception Imagix 4D! (Lien vers Springerplus, publié en ligne en 2016).

Témoignage d´un utilisateur de l´outil ImagiX 4D (Texte original en anglais)
“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)







