Whyline
Whyline pour Java m'a vraiment impressionné quand je l'ai vu. C'est un outil d'analyse dynamique qui vous permet de poser des questions sur la sortie du programme, et pas seulement du texte, mais aussi des graphiques. Par exemple, vous pouvez demander "pourquoi cette ligne était-elle rouge?" ou "pourquoi la méthode de peinture n'a-t-elle pas été appelée?"
Il fonctionne en instrumentant votre programme et en enregistrant un run. Par exemple, supposons qu'il existe un bogue que vous pouvez reproduire. Vous instrumentez votre programme avec Whyline, exécutez votre programme dans Whyline pour reproduire le bogue, puis lorsque vous quittez le programme, vous pouvez utiliser Whyline pour inspecter l'historique d'exécution.
Cet enregistrement et cette lecture ne sont pas nouveaux, mais la façon dont Whyline l'implémente est assez simple. Vous pouvez afficher l'historique en fonction d'événements spécifiques (par exemple, en se concentrant uniquement sur les événements de glissement de la souris ou uniquement sur les événements de touches). Il associe également la sortie à la partie du programme qui l'a imprimée, afin que vous puissiez naviguer de la sortie au code.
Pour fonctionner, il utilise le découpage de programme, afin que vous puissiez vous concentrer sur les parties du code qui sont réellement pertinentes. La CMU a maintenant un brevet dessus, et je ne sais pas quels sont leurs plans, mais j'espère que nous pourrons en voir plus en production. C'est un porc de mémoire, mais c'est probablement parce que c'est un prototype et qu'il peut s'améliorer.
Vous devriez voir la démo en ligne, mais vous devriez également l'essayer par vous-même pour obtenir l'expérience complète. Si quoi que ce soit, les démos en ligne sous-vendent l'idée.