La Comprensión de Programas (CP) es un área de la Ingeniería del Software cuyo objetivo es el estudio y creación de modelos, métodos, técnicas y herramientas con la finalidad de facilitar la comprensión de los sistemas de software. Actualmente existen muchas herramientas destinadas a facilitar el entendimiento del software. Sin embargo, la gran mayoría carece de algunos aspectos fundamentales para alcanzar este objetivo. Uno de tales aspectos es: La Relación existente entre los Dominios del Problema y del Programa. Alcanzar esta relación es una tarea compleja porque es necesario: i) proponer una representación del problema, ii) elaborar una representación del programa y iii) desarrollar un procedimiento para vincular ambas representaciones.
En este artículo, se presentan dos de estrategias destinadas a relacionar estos dominios.
La primera de ellas, SVS (Simultaneous Visualization Strategy) es una estrategia En Vida (alive) porque a medida que el sistema se ejecuta visualiza las componentes del programa usadas para producir la salida. La segunda, BORS (Behavioral-Operational Relation Strategy) es Post Mortem porque aplica procedimientos para alcanzar esta relación después que el programa se ejecutó. Además se describe una aproximación para comprender un sistema a partir de los conceptos usados en su implementación denominada Análisis Comportamental. Finalmente, las estrategias presentadas se aplican al comando agrep del Sistema Operativo Linux con el objetivo de analizar su desempeño.