Dynamic code analysis
-
Evaluar fugas de memoria (valgrind), fallos de caché, errores en tiempo de ejecución, conteo de instrucciones, rastro de invocaciones de subrutinas, cuellos de botella (gráficas) de procesamiento, memoria, o comunicación. -
Impedir que un programa pase los casos de prueba si produce una anomalía no visible como un acceso no válido, una fuga de memoria, o consume más recursos de los especificados. -
Ofrecer al estudiante realimentación del comportamiento en tiempo de ejecución de sus programas que le permita mejorarlos (posiblemente a cambio de algún esfuerzo).