Java程序绑定时间分析
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
部分求值是一种程序转换技术,它的目的是根据部分输入来例化一个程序。作为程序优化
    方法的部分求值技术,通过程序变换把一个具有一般计算功能的程序系统变成为一个专用的程
    序系统,提高了程序的执行效率。部分求值技术中一个关键环节就是绑定时间分析(BTA),BTA
    的主要目的是在给定的输入条件(已知输入参数的动静态划分)下,把程序结构(变量,表达
    式,语句,函数)划分为例化时间已知和运行时间已知,也就是根据程序输入变量的动静态划
    分决定程序中其余变量和表达式的动静态划分,判断哪些表达式可以在部分求值时间求值,哪
    些在程序运行时求值。绑定时间分析进行的越精确,部分求值的效果就越好,所以说绑定时间
    分析在很大程度上影响了部分求值的整体效率。
     本文主要介绍了针对Java语言中的部分语句、表达式和数组类型变量的BTA方面的分析、
    设计和实现,接着完成了标注程序的生成。最后,通过编写数个有代表性的测试程序例,主要
    测试了循环、条件语句以及数组变量的BTA结果以及标注程序的生成。
Partial Evaluation is a program transformation technique aimed at specializing a program with respect to some part of its input. As a method of optimizing programs,Partial Evaluation technology can transform a general program into a specialized one solving a particular problem, which can improve the efficiency of the program distinctly. Binding--Time Analysis(BTA) is one important phase of Partial Evaluation. The aim of binding-time analysis is to classify constructs (variables,expressions,statements,methods) as either compile-time or run-time ,given an initial division of the input. The preciser the BTA is,the better the result of the Partial Evaluation is.So it is apparent that the whole efficiency of Partial Evaluation depends largely on binding-time analysis.
     This thesis presents the analysis,design and realization of the binding-time analysis of part of statements,expressions and array type variable for Java, and the producing of annotated program which represent the result of binding-time analysis.At last,we give some representitive program examples to test our work of binding-time analysis and producing the annotated program.
引文
[1] James Gosling,Bill Joy, Guy Steel 著。蒋国新等译:《Java语言规范》
    [2] Neil D. Jones,Carsten K.Gomard,Peter Sestoff: Partial Evaluation and Automatic Program Generation. Prentice Hall
    [3] Luke Hornof, and Jacques Noy(?): Accurate Binding-time Analysis For Imperative Languages:Flow,Context,and Return Sensitivity. In PLDI '96 Conference on Programming Language Design and Implementation, May 1996.
    [4] Lars Ole Andersen:Program Analysis and Specialization for the C Programming Language Ph.D.Thsis,University of Copenhagen .May 1994
    [5] Lars Ole Andersen: C Program Specialization. May 1992
    [6] Charles Consel, Francois Noel : A General Approach for Run-Time Specialization and its Application to C .University of Rennes/Irisa
    [7] Luke Hornof, Jacques Noye,Charles Consel: Accurate Partial Evaluation of Realistic Programs via Use Sensitivity. University of Rennes/Irisa
    [8] Charles Consel, Luke Hornof : A Uniform Approach for Compile-time and Run-time Specialization. University of Rennes/Irisa
    [9] 杨文龙等:《软件工程》。电子工业出版社的 1997
    [10] G.科内尔等编著:《Java核心》 科学出版社 1997
    [11] Cay S.Horstmann,Gary Cornell:《Java 2核心技术》。机械工业出版社 2000
    [12] Wendy Boggs,Michael Boggs。邱仲潘等译:《UML with Rational Rose从入门到精通》。电子工业出版社 2000
    [13] Bruce Eckel : Thinking in Java. Prentice Hall 1999
    [14] C.Consel, L.Hornof: Tempo: Specialization Systems Applications and Beyond. Irisa/Inria University of Rennes,France.
    [15] Charles Consel:Polyvariant Binding-time Analysis For Applicative Languages.OregonGraduate Institute of Science & Technology
    [16] Compose Project: Combining Program and Data Specialization .Irisa/Inria University
    [17] Charles Consel,Oliver Danvy:Tutorial Notes on Partial Evaluation. Pacific Software Research Center.
    [18] Jamie Jaworski,曹康等译:《JAVA开发指南》。中国水利水电出版社 1997
    [19] Institute of Datalogy University of Copenhagen:Partial Static Structures in a Self-Applicable Partial Evaluator

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700