2010-05-27 7 views
3

J'ai un code c et je veux extraire certains modèles de code qui contiennent des instructions de communication, etc. et construire un tableau de séquence à partir de cela.Inverser l'ingénierie du code c en diagramme de séquence

Y at-il un moyen de le faire?

Merci

+3

oui. En inspectant le code et en utilisant votre matière grise ... –

+0

C'est une étrange définition de "reverse engineering". Je considérerais normalement cette "compréhension". – Stephen

+0

Je ne définissais pas le "reverse engineering". –

Répondre

1

Vous pouvez utiliser pic2plot qui fait partie de plotutils GNU. Vous avez besoin de log/trace ce qui parle de quoi, dans un fichier et ensuite vous pouvez le rendre avec pic2plot. J'ai fait ceci pour un programme de python, mais il n'y a aucune raison pour laquelle vous ne pouvez pas faire cela avec un programme de C.

sequence diagram http://www.umlgraph.org/doc/seq-eg.gif

voir http://www.umlgraph.org/

+0

Aussi, jetez un oeil à http://trace2uml.tigris.org/ –

1

Je recommande fortement d'utiliser doxygen avec les options suivantes:

EXTRACT_ALL   = YES 
CALL_GRAPH    = YES 
CALLER_GRAPH   = YES 
GRAPHICAL_HIERARCHY = YES 

Vous obtiendrez un graphique d'appel et l'appelant très agréable de fonctions qui peuvent aider un grand faire face à la compréhension du code. Un graphique d'appel est plus commun et utile pour le code C qu'un tableau de séquence.

call graph http://pedro.larroy.com/files/example.png

Questions connexes