La spécialisation de programmes, aussi appelée évaluation partielle, est une technique générale destinée à rendre les programmes plus performants (plus rapides et possiblement plus petits) quand certaines entrées peuvent être connues à l’avance.
Du point de vue du génie logiciel, la spécialisation facilite aussi grandement l’écriture des programmes et leur maintenance.
La spécialisation de programmes, est conçu à la fois pour les chercheurs et les ingénieurs logiciels, tant architectes que développeurs, en fait une large présentation pratique.
Ce volume pose la problématique de l’adaptation par la spécialisation. Il présente les grands principes de la spécialisation de programmes ainsi que les techniques de spécialisation, en se concentrant plus particulièrement sur la spécialisation dite hors ligne.
À titre illustratif, il décrit aussi l’architecture de Tempo, spécialiseur hors ligne pour le langage C, capable d’effectuer des spécialisations en cours d’exécution.
Il est illustré de résultats chiffrés pour des applications concrètes dans différents domaines.