Integrated Abstract Interpretation and Online Specialization
ثبت نشده
چکیده
Interpretation vs. Program Specialization At first sight abstract interpretation and program specialization might appear to be unrelated techniques: abstract interpretation focusses on correct and precise analysis, while the main goal of program specialization is to produce more efficient specialized code (for a given task at hand). Nonetheless, it is often felt that there is a close relationship between abstract interpretation and program specialization and, recently, there has been a lot of interest in the integration and interplay of these two techniques (see, e.g., [33, 184, 143, 102, 182, 192, 188, 74]). From Partial Deduction to Abstract Partial Deduction In this paper we would like to make the relationship between partial deduction and abstract interpretation more concrete, and provide a formal framework for integrating these two techniques. This will also pave the way for new, much more powerful specialization (and analysis) techniques, e.g., by using more refined abstract domains. Indeed, “classical” partial deduction turns out to be often too limited (see, e.g., [66, 44, 143, 135] to name just a few) and a lot of extensions have been developed to remedy its shortcomings (such as partial deduction with characteristic trees [60, 140], constrained partial deduction [128], conjunctive partial deduction [129, 79, 42]). However, every time such an extension is developed, correctness has to be re-established from scratch: a very tedious and time-consuming process. By providing a very general framework, we want to reduce this work to minimum (at the same time allowing more powerful extensions): when developing a new instance of the framework one just has to prove some basic properties of the underlying operations and one can then re-apply the correctness results presented in this paper with minimal effort. Finally, the framework also allows the tupling [24] and deforestation [215] capabilities of conjunctive partial deduction to be added to abstract interpretation. Overview After introducing the essence of partial deduction in Section 2, we investigate the relationship between partial deduction and program analysis in Section 3. Then, we define the
منابع مشابه
Computing Types during Program Specialization
We have developed techniques for obtaining and using type information during program specialization (partial evaluation). Computed along with every residual expression and every specialized program is type information that bounds the possible values that the specialized program will compute at run time. The three keystones of this research are symbolic v&es that represent both the set of values...
متن کاملAbstract Specialization and Its Application to Program Parallelization
Specialization and its Application to Program Parallelization Germán Puebla and Manuel Hermenegildo {german,herme}@fi.upm.es Department of Computer Science Technical University of Madrid (UPM) Abstract. Program specialization optimizes programs for known valúes of the input. It is often the case that the set of possible input valúes is unknown, or this set is infinite. However, a form of specia...
متن کاملAn Integration of Partial Evaluation in a
Information generated by abstract interpreters has long been used to perform program specialization. Additionally, if the abstract interpreter generates a multivariant analysis, it is also possible to perform multiple specialization. Information about values of variables is propagated by simulating program execution and performing xpoint computations for recursive calls. In contrast, traditiona...
متن کاملAbstract Multiple Specialization and Its Application to Program Parallelization
MÚLTIPLE SPECIALIZATION AND ITS APPLICATION TO PROGRAM PARALLELIZATION G E R M Á N PUEBLA AND MANUEL H E R M E N E G I L D O |> Program specialization optimizes programs for known valúes of the input. It is often the case that the set of possible input valúes is unknown, or this set is infinite. However, a form of specialization can still be performed in such cases by means of abstract interpre...
متن کاملA Generic Framework for the Analysis and Specialization of Logic Programs
The relationship between abstract interpretation and partial deduction has received considerable attention and (partial) integrations have been proposed starting from both the partial deduction and abstract interpretation perspectives. In this work we present what we argue is the first fully described generic algorithm for efficient and precise integration of abstract interpretation and partial...
متن کامل