La fase de descubrimiento es la que permite a Go4IT Alight obtener el conocimiento de los programas legacy analizados. Este proceso se asemeja mucho al que realiza un compilador, pero llegando a un nivel de conocimiento mayor. Alight descubre en primer lugar la estructura del código fuente analizado, identificando variables, funciones y clases. Posteriormente se analiza el comportamiento de cada una de las funciones, llegando al mismo nivel de detalle al que llegaría un compilador. Finalmente, el proceso de descubrimiento obtiene información acerca del modelo de datos empleado por los programas (bases de datos y tablas accedidas, así como fichero de datos), y del interfaz de usuario de las ventanas del programa en cuestión (diálogos, controles, botones, etc.). El resultado de este proceso es una representación independiente de la tecnología, en base al Lenguaje Pivote de Alight.
Una de las características fundamentales de Alight es su flexibilidad. Esto nos permite personalizar el proceso de descubrimiento, introduciendo elementos propios de cada instalación (componentes específicos de UI, librerías especiales, etc.). Así es posible para nosotros desarrollar soluciones de modernización que mantengan de forma fiel la arquitectura de las aplicaciones, reduciendo la curva de aprendizaje del futuro equipo de mantenimiento.