Publication Date: December 2012 Hardback 560 pp.
This book presents the principles and techniques of program specialization — a general method to make programs faster (and possibly smaller) when some inputs can be known in advance. As an illustration, it describes the architecture of Tempo, an offline program specializer for C that can also specialize code at runtime, and provides figures for concrete applications in various domains. Technical details address issues related to program analysis precision, value reification, incomplete program specialization, strategies to exploit specialized programs, incremental specialization, and data specialization. This book, which targets both researchers and software engineers, also opens scientific and industrial perspectives.
1. Main Principles of Program Specialization.
2. Specialization Techniques.
3. Offline Specialization.
4. ASpecializer for C: Tempo.
5. Applications of Specialization.
6. Precision of Program Analysis.
7. Reification: From a Value to a Term.
8. Specialization of Incomplete Programs.
9. Exploitation of Specialization.
10. Incremental Runtime Specialization.
11. Data Specialization.
12. Scientific Perspectives.
13. Conclusion: From Prototype to Product.
About the Authors
Renaud Marlet is currently a Senior Researcher at the IMAGINE/LIGM lab, École des Ponts ParisTech (ENPC), Marne-la-Vallée, France. He has various fields of interest, including programming languages and software engineering, security, computational linguistics, and computer vision, and has worked in both academia and industry.