********************************************************************* * Ecole Normale Supe'rieure * * * * Se'minaire * * SEMANTIQUE ET INTERPRETATION ABSTRAITE * * P. Cousot * * * * Vendredi, 14h00--15h30 * * Salle W, 4e`me e'tage, toits du DMI * * DMI ENS 45 rue d'Ulm 75005 Paris * ********************************************************************* *** Vendredi 7 mai 1999 **** 14h00 ********************************** Rela^che. *** Vendredi 14 mai 1999 **** 14h00 ********************************* Rela^che. *** Vendredi 21 mai 1999 **** 14h00 ********************************* A Tour of Tempo: a Program Specializer for C Renaud MARLET (IRISA) Re'sume' : Program specialization is a common optimization technique which has long been used manually to customize generic code with respect to a specific usage context. Automatic forms of program specialization have been explored since the early eighties, mostly in the context of logic and functional languages. These past 5 years, in the Compose group, we have been studying program specialization for the C language. This study is directly based on my previous work aimed at specializing higher-order functional programs. We have developed a program specializer for the C language named Tempo. It specializes programs at both compile time and run time. Furthermore, it performs both program and data specialization. Tempo has demonstrated that specialization can drastically improve performance on a variety of programs ranging from scientific applications to systems code. Examples include the Sun Remote Procedure Call and an existing FFT program which were respectively improved by a factor of 3.7 and 7 once specialized. In this talk, I introduce the basic concepts of program specialization. I give an overview of Tempo. I then present the various forms of program specialization it offers. Finally, I discuss some of the experiments conducted using Tempo. *** Vendredi 28 mai 1999 **** 14h00 ********************************* Program Adaptation based on Program Specialization Charles CONSEL (IRISA) Re'sume' : Program development often has to address two conflicting goals: on the one hand, a program must adapt to a wide range of situations (e.g., large set of problems, varying usage patterns, and evolving hardware features); and, on the other hand, the same program must be as small and fast to execute as one dedicated to a specific situation. In this talk, we show how program specialization can reconcile these conflicting goals by enabling programs to be highly adaptable without loss of efficiency. We present various strategies of adaptation ranging from parameterized programs to interpreters, and show how program specialization can uniformely be used to map an adaptable program into an efficient one. ********************************************************************* Pour recevoir l'annonce par courrier electronique: cousot@dmi.ens.fr WWW: http://www.dmi.ens.fr/~cousot/annonceseminaire.html *********************************************************************