C Program Specialization Master ’ s
نویسنده
چکیده
Automatic program specialization has numerous application areas ranging from specialization of scientific computation to automatic compiler generation. During the last decade, several automatic partial evaluators have been developed and demonstrated their usefulness. However, none of these have both been for a typed imperative language and self-applicable. The main content of this thesis is the development of an automatic self-applicable program specializer for a substantial subset of the C programming language. The use of an imperative language introduce many problems not present in partial evaluation of functional languages. New problems addressed and solved in this thesis includes handling of static side-effects under dynamic control, treatment of the imperative data structures arrays and structures, partially static data structures and specialization time splitting of these, and representation of values and programs for efficient self-application. In the thesis we recall the foundation of partial evaluation and reformulate basic concepts in a typed framework. We define a kernel subset of the C programming language, and specify the semantics formally by the means of an operational semantics. Based on an analysis of new problems we provide a formally specification of a C program specializer. We define a two-level language, impose wellannotatedness requirements, and finally provide a two-level operational semantics. The two-level semantics specify the program specializer. A binding time analysis is developed via type inference. The analysis can be implemented efficiently via a constraint set solving algorithm. The same technique is applied in the construction of an untagging analysis, which is used for simplification of the types in residual programs. In the last part of the thesis some experimental results are reported and assessments given. To the best of our knowledge this is the first successfully developed and implemented self-applicable program specializer for a “real-scale”, imperative and typed language.
منابع مشابه
The Carnegie Mellon University Master of Software Engineering Specialization Tracks
There is an increasing demand for domain-specific sofhuare. For example, the software to control a machine on a factory$oor is different in significant waysfrom the sojiware to manipulate large databases. The sojbvare engineer building real-time systems software to control a motor that powers a piece of machinery needs some understanding of the motor's servo system; whereas a sofrware engineer ...
متن کاملA Five Year Perspective on Software Engineering Graduate Programs at George Mason University
This paper describes the experience obtained at George Mason University while developing a Master of Science program in software engineering. To date, the program has graduated over 45 students, with a current production rate of 10 to 15 a year. The paper also describes experience with a certi cate program in software engineering, which is a software engineering specialization taken by Masters ...
متن کاملCombining Program and Data Specialization
Program and data specialization have always been studied separately although they are both aimed at processing early computations On the one hand program specialization encodes the result of early computations into a new program and on the other hand data specialization encodes the result of early computations in data structures In this paper we present an extension of the Tempo specializer whi...
متن کاملRecurrence of Congenital Dermoid Cyst of Paramedian Location Recidiva de Cisto Dermoide Congênito de Localização Paramediana
* Master in Dental Science with specialization in Integrated Clinic. Maxillofacial Surgeon Brazilian Air Force, Air Force Hospital in Sao Paulo. ** Master in Medical Sciences at the Hospital das Clinicas, FMUSP. Specialist in Maxillofacial Surgery. *** Master of Dental Science with specialization in Integrated Clinic. Periodontist clinical staff of the Brazilian Air Force, Air Force Hospital in...
متن کاملPhysician assistant education in the United States.
As physician assistant (PA) programs developed in the 1960s, curriculum models emerged around the central themes of physician-dependent practice and competency-based education. By 2007, there were 136 accredited programs in the United States, with 108 (79%) offering a master-degree curriculum. PA program preclinical and clinical curricula are typically evenly divided in length, and the typical ...
متن کامل