Wie fange ich an, ein Code-Coverage-Tool zu schreiben?

Auf der Suche nach Büchern oder anderen Referenzen, die tatsächlich beschreiben, wie man ein Code-Coverage-Tool in Java schreibt; einige der verschiedenen Techniken oder Tricks - Quell- vs. Bytecode-Instrumentierung. Dies ist für eine Skriptsprache, die Java-Bytecode unter der Haube generiert.