Abstract specialization and its applications

被引:0
作者
Puebla, G [1 ]
Hermenegildo, M
机构
[1] Tech Univ Madrid, UPM, Dept Comp Sci, Madrid, Spain
[2] Univ New Mexico, Dept CS & E & C Engn, Albuquerque, NM 87131 USA
关键词
languages; performance; theory; abstract interpretation; program specialization; partial evaluation; program optimization; program parallelization; logic programming; static analysis;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The aim of program specialization is to optimize programs by exploiting certain knowledge about the context in which the program will execute. There exist many program manipulation techniques which allow specializing the program in different ways. Among them, one of the best known techniques is partial evaluation, often referred to simply as program specialization, which optimizes programs by specializing them for (partially) known input data. In this work we describe abstract specialization, a technique whose main features are: (1) specialization is performed with respect to "abstract" values rather than "concrete" ones, and (2) abstract interpretation rather than standard interpretation of the program is used in order to propagate information about execution states. The concept of abstract specialization is at the heart of the specialization system in CiaoPP, the Ciao system preprocessor. In this paper we present a unifying view of the different specialization techniques used in CiaoPP and discuss their potential applications by means of examples. The applications discussed include program parallelization, optimization of dynamic scheduling (concurrency), and integration of partial evaluation techniques.
引用
收藏
页码:269 / 283
页数:15
相关论文
共 51 条
  • [1] A PRACTICAL FRAMEWORK FOR THE ABSTRACT INTERPRETATION OF LOGIC PROGRAMS
    BRUYNOOGHE, M
    [J]. JOURNAL OF LOGIC PROGRAMMING, 1991, 10 (02): : 91 - 124
  • [2] Bueno F., 1996, LNCS, V1058, P108, DOI [10.1007/3-540-61055-3_32, DOI 10.1007/3-540-61055-3_32]
  • [3] TRANSFORMATION SYSTEM FOR DEVELOPING RECURSIVE PROGRAMS
    BURSTALL, RM
    DARLINGTON, J
    [J]. JOURNAL OF THE ACM, 1977, 24 (01) : 44 - 67
  • [4] PARAMETERIZED PARTIAL EVALUATION
    CONSEL, C
    KHOO, SC
    [J]. ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1993, 15 (03): : 463 - 493
  • [5] CONSEL C, 1993, ACM S PRINC PROGR LA, P493
  • [6] COUSOT P, 2002, P 29 ACM SIGPLAN SIG, P178
  • [7] Cousot Patrick, 1977, Proceedings of the 4th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages, P238, DOI [10.1145/512950.512973, DOI 10.1145/512950.512973]
  • [8] DELABANDA MG, 1995, INT LOG PROGR S
  • [9] SPECIALIZATION OF PROLOG AND FCP PROGRAMS USING ABSTRACT INTERPRETATION
    GALLAGHER, J
    CODISH, M
    SHAPIRO, E
    [J]. NEW GENERATION COMPUTING, 1988, 6 (2-3) : 159 - 186
  • [10] GALLAGHER J, 2002, LNCS, V2257