Question Où puis-je trouver un bon logiciel de visualisation de flux à code source ouvert?


Je travaille sur une recherche académique concernant certaines fonctions très longues du noyau Linux (lien, lien).

Pour cette recherche, je voudrais utiliser un outil de visualisation de flux de code, capable de tracer un graphique dans lequel chaque sommet est un point de décision et chaque arête est un morceau de code qui s'exécute de manière conséquente.

Connaissez-vous un bon projet open source capable de visualiser le code C?


10
2017-07-16 10:30


origine


Réponses:


Peut-être un outil comme KCacheGrind serait utile. Il génère des graphiques d’appels basés sur des appels réels et ne peut pas pré-générer un graphe d’appel sans exécuter réellement le programme, ce qui peut ne pas convenir à vos besoins, mais il le peut encore.

KCacheGrind Call Graph http://kcachegrind.sourceforge.net/html/pics/KcgShot3Large.gif


10
2017-07-24 15:19



Les flux de l'histoire sont très soignés pour les modifications / diff sur plusieurs versions.

Codeplex a un projet, Visualiseur de dépendances qui prend en charge C aussi.

Gprof2Dot peut rendre oprofile, cela vous obtiendrait également des informations dynamiques.

CodeViz aussi (outil statique) fonctionnerait.

Si vous utilisez gcc, gcc-xml a un plugin d'introspecteur aussi faire ceci.


1
2017-07-19 07:50



Vous semblez vouloir acquérir un organigramme du code source C ("décisions", "blocs de code").
Quelque chose comme ça C organigramme?

Pour ce faire correctement, esp. pour Linux, le code kernal, je pense que vous devrez d'abord prétraiter le code pour vous débarrasser des macros et des conditions. Je suppose que GCC construirait un tel graphique en interne et que vous devriez pouvoir mettre la main sur ce graphique.


1
2017-07-21 04:58



Oxygène fait une certaine quantité de "visualisation",
mais vous devez travailler un peu sur le code pour qu'il soit utilisable.


Une autre chose intéressante à vérifier serait lxr

Référenceur Linux est un ensemble d'outils logiciels permettant d'indexer et de présenter des référentiels de code source. LXR était initialement ciblé sur le code source Linux, mais s'est avéré utilisable pour un large éventail de projets logiciels. lxr.linux.no exécute actuellement un fork expérimental du logiciel LXR.


0
2017-07-19 07:12