Aquí podría ser tu PUBLICIDAD


¿Cómo empezar a escribir una herramienta de cobertura de código?

votos
20

Buscando libros u otras referencias que discutan realmente cómo escribir una herramienta de cobertura de código en Java; algunas de las diversas técnicas o trucos: instrumentación de código fuente vs. byte.

Esto es para un lenguaje de scripting que genera código de bytes Java bajo el capó.

Publicado el 05/08/2008 a las 12:15
fuente por usuario bill
En otros idiomas...        العربية       

5 respuestas

votos
7

¿Está generando su bytecode en el lenguaje de scripting? ¿Genera metadatos de depuración? Si es así, la instrumentación de bytecode es probablemente el camino a seguir. De hecho, las herramientas existentes probablemente funcionarán; quizás con una modificación mínima (el problema típico es que las herramientas están escritas para trabajar con Java y suponer que com.foo.Bar.class corresponde a com / foo / Bar.java. Desenrollar esa suposición puede ser tedioso.) EMMA es un ClassLoader que lo hace Redacción de código de bytes para la recopilación de cobertura de código en Java. El estilo de codificación es un poco raro, pero recomiendo leer la fuente para algunas ideas.

Si su lenguaje de scripting es interpretado, entonces necesitará algo de nivel superior (nivel de fuente) que enganche al intérprete.

Respondida el 10/08/2008 a las 08:19
fuente por usuario Dominic Cooney


Aquí podría ser tu PUBLICIDAD


votos
2

Si estás hablando de ColdFusion (que supongo que eres de las etiquetas), entonces no estoy seguro de que esto sea factible, pero puedo estar muy equivocado aquí ...

IIRC, cuando CF lo compila, esencialmente se compila en una forma interpretada de CFML como un simple archivo fuente java antiguo, esto luego se compila en la clase. Por lo tanto, cualquier instrumentación que pueda tener se aplicará a la versión intermedia en lugar de CFML.

Sin embargo, al decir esto, Adobe ya tiene el depurador de CF que puede pasar el código, así que por favor, demuéstrame que estoy equivocado. Me encantaría la cobertura de código en CFML.

Respondida el 06/11/2008 a las 12:48
fuente por usuario Neil Middleton

votos
2

También es posible que desee utilizar algo como BCEL para analizar qué líneas de origen realmente existen en el código de bytes. No desea informar que cosas como líneas en blanco y comentarios no se han cubierto.

Respondida el 15/09/2008 a las 07:36
fuente por usuario djpowell

votos
2

¡Thxm, Mc! http://asm.objectweb.org/ es otro. Excelente documentación sobre la instrumentación del código de bytes, pero nada "directamente" dirigido a escribir una herramienta de cobertura, solo algunos consejos o ideas.

Respondida el 05/08/2008 a las 01:50
fuente por usuario bill

votos
1

También puede obtener la fuente de una herramienta de cobertura de código de código abierto y aprender de ella.

Respondida el 12/08/2008 a las 06:58
fuente por usuario Miguel Ping