Whyline
Whyline für Java hat mich sehr beeindruckt, als ich es sah. Es ist ein dynamisches Analysetool, mit dem Sie Fragen zur Programmausgabe stellen können, nicht nur zu Text, sondern auch zu Grafiken. Sie können beispielsweise fragen, warum diese Linie rot war. oder "Warum wurde die Malmethode nicht aufgerufen?"
Es funktioniert, indem Sie Ihr Programm instrumentieren und einen Lauf aufzeichnen. Angenommen, es gibt einen Fehler, den Sie reproduzieren können. Sie instrumentieren Ihr Programm mit Whyline, führen Ihr Programm in Whyline aus, um den Fehler zu reproduzieren, und wenn Sie das Programm beenden, können Sie Whyline verwenden, um den Ausführungsverlauf zu überprüfen.
Diese Aufnahme und Wiedergabe ist nicht neu, aber wie Whyline sie implementiert, ist ziemlich raffiniert. Sie können den Verlauf nach bestimmten Ereignissen anzeigen (z. B. nur Mausbewegungsereignisse oder nur Tastendruckereignisse). Außerdem wird die Ausgabe mit dem Teil des Programms verknüpft, mit dem sie gedruckt wurde, sodass Sie von der Ausgabe zum Code navigieren können.
Zum Arbeiten wird das Programm-Slicing verwendet, sodass Sie sich auf die Teile des Codes konzentrieren können, die tatsächlich relevant sind. CMU hat jetzt ein Patent darauf, und ich weiß nicht, was ihre Pläne sind, aber ich hoffe, wir können mehr davon in der Produktion sehen. Es ist ein Gedächtnisschwein, aber das ist wahrscheinlich, weil es ein Prototyp ist und sich verbessern kann.
Sie sollten die Demo online sehen, aber Sie sollten sie auch selbst ausprobieren, um die volle Erfahrung zu erhalten. Die Online-Demos unterbieten die Idee.