Característica del software que tienen la capacidad de inspeccionar su propia estructura. La interpretación de las declaraciones significa que los programas tienen acceso a la información creada y a menudo incluso pueden modificar su propia estructura.