Les logiciels d’aujourd’hui sont de plus en plus complexes et jouent un rôle déterminant dans les différentes sphères de la vie de tout le monde. Pour pouvoir les développer, évaluer, modifier et utiliser, il est nécessaire d’avoir des techniques efficaces, automatiques et semi-automatiques, pour comprendre leur structure et leur comportement. Dans cette présentation nous discuterons de comment certaines techniques automatiques comme le traitement des langues naturelles et l’apprentissage machine peuvent aider à l’automatisation des tâches de compréhension. Nous explorerons également les techniques de visualisation qui permettent d’inclure les spécialistes du logiciel dans les tâches d’évaluation et de maintenance.