Whyline
Whyline for Java naprawdę zrobiło na mnie wrażenie, kiedy go zobaczyłem. Jest to narzędzie do dynamicznej analizy, które pozwala zadawać pytania dotyczące wyników programu, a nie tylko tekstu, ale także grafiki. Na przykład możesz zapytać „dlaczego ta linia była czerwona?” lub „dlaczego nie wywołano metody malowania?”
Działa poprzez instrumentowanie programu i rejestrowanie przebiegu. Załóżmy na przykład, że istnieje błąd, który można odtworzyć. Instrumentujesz swój program za pomocą Whyline, uruchamiasz swój program w Whyline, aby odtworzyć błąd, a następnie po wyjściu z programu możesz użyć Whyline do sprawdzenia historii wykonania.
To nagrywanie i odtwarzanie nie jest niczym nowym, ale sposób, w jaki implementuje go Whyline, jest całkiem sprytny. Możesz przeglądać historię według określonych zdarzeń (np. Skupiając się tylko na zdarzeniach przeciągania myszą lub tylko na zdarzeniach klawiszowych). Kojarzy także dane wyjściowe z tym, która część programu je wydrukowała, dzięki czemu można przechodzić od danych wyjściowych do kodu.
Do pracy wykorzystuje krojenie programu, dzięki czemu można skupić się na tych częściach kodu, które są rzeczywiście odpowiednie. CMU ma teraz na to patent i nie wiem, jakie są ich plany, ale mam nadzieję, że zobaczymy więcej tego w produkcji. To świnia pamięci, ale prawdopodobnie jest to prototyp i można go ulepszyć.
Powinieneś zobaczyć wersję demonstracyjną online, ale powinieneś również wypróbować ją sam, aby uzyskać pełne wrażenia. Jeśli już, dema online podważają ten pomysł.