During the discovery Go4IT Alight extracts all the knowledge from the source code of the analyzed legacy programs. This process is similar to the one done by compilers, yet reaching a higher level of knowledge. In the first place, Alight discovers the structure of the analyzed source code, identifying variables, functions and classes. Then the behaviour of each function is analyzed. Finally, the discovery process extracts information about the data model used by the programs (i.e. databases and tables and accessed data files), as well as about the user interface of the windows of the program (dialogs, controls, buttons, etc.). As a result, a technology agnostic representation of the code is obtained according to the intermediate model in Alight.

An important feature of Alight is its flexibility. We are capable of customizing the discovery process, adding elements that are part of the analyzed application (for example, custom UI elements, special libraries, etc.). This way it is possible for us to develop customized modernization solutions that maintain the internal architecture of the applications, thtus reducing the learning curve for future maintenance teams.