Alors que les outils d'analyse statique sont capables d’identifier les bugs potentiels en repérant les erreurs de codage courantes, les développeurs ont toujours du mal à savoir à l’avance comment se comportera leur code avant de l’avoir exécuté. L’outil open source Iroh.js, actuellement en version bêta, doit justement permettre aux développeurs JavaScript d’effectuer une analyse de code dynamique pour voir exactement comment leur code se comportera au moment de son exécution.

En effet, Iroh enregistre le flux de code en temps réel. Il peut également intercepter des informations du runtime et modifier le comportement du programme à la volée. Le développeur peut également saisir des valeurs d'exécution, paramètres ou variables, pendant l’exécution du code. « Étant donné qu’Iroh a accès à toutes les données d'exécution, il peut, par exemple, collecter des informations sur le type et même manipuler le programme en cours d'exécution », a déclaré le développeur Felix Maier.

Visualiser le flux de code 

Iroh patche le code pour enregistrer ce qui se passe sans avoir à modifier le programme original. Les développeurs peuvent ajouter ces « mouchards » et suivre l'activité. Iroh peut également suivre la pile d'appels, pour visualiser le flux de code, mais il ne peut pas enregistrer ce qui se passe à l'intérieur des appels natifs, des fonctions externes ou des fonctions non patchées.

Iroh a été testé avec jQuery. Le support complet de ECMAScript 5 est en cours de préparation. Le sous-ensemble de la spécification ES6 la plus récente est déjà incorporé. L’outil est disponible sur GitHub.