ACM Home Page
Please provide us with feedback. Feedback
Automatic program specialization for Java
Full text PdfPdf (1.18 MB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 25 ,  Issue 4  (July 2003) table of contents
Pages: 452 - 499  
Year of Publication: 2003
ISSN:0164-0925
Authors
Ulrik P. Schultz  University of Aarhus, Aarhus, Denmark
Julia L. Lawall  University of Copenhagen, Copenhagen, Denmark
Charles Consel  INRIA/LaBRI, France
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 6,   Downloads (12 Months): 80,   Citation Count: 13
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/778559.778561
What is a DOI?

ABSTRACT

The object-oriented style of programming facilitates program adaptation and enhances program genericness, but at the expense of efficiency. We demonstrate experimentally that state-of-the-art Java compilers fail to compensate for the use of object-oriented abstractions in the implementation of generic programs, and that program specialization can eliminate a significant portion of these overheads. We present an automatic program specializer for Java, illustrate its use through detailed case studies, and demonstrate experimentally that it can significantly reduce program execution time. Although automatic program specialization could be seen as being subsumed by existing optimizing compiler technology, we show that specialization and compiler optimization are in fact complementary.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
 
2
 
3
4
 
5
Andersen, L. 1994. Program analysis and specialization for the C programming language. Ph.D. thesis, Computer Science Department, University of Copenhagen. DIKU Technical Report 94/19.
 
6
Baier, R., Glück, R., and Zöchling, R. 1994. Partial evaluation of numerical programs in Fortran. In ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation (PEPM'94). Technical Report 94/9, University of Melbourne, Australia, Orlando, FL, USA, 119--132.
 
7
Blount, B. and Chatterjee, S. 1999. An evaluation of Java for numerical computing. Scientific Programming 7(2), 97--110. Special Issue: High Performance Java Compilation and Runtime Issues.
 
8
Bondorf, A. 1990. Self-applicable partial evaluation. Ph.D. thesis, DIKU, University of Copenhagen, Denmark. Revised version: DIKU Report 90/17.
9
 
10
Budimlić, Z. and Kennedy, K. 1999. Prospects for scientific computing in polymorphic, object-oriented style. In Proceedings of the Ninth SIAM Conference of Parallel Processing in Scientific Computing. SIAM, San Antonio.
 
11
 
12
Budimlić, Z., Kennedy, K., and Piper, J. 1999. The cost of being object-oriented: A preliminary study. Scientific Computing 7, 2, 87--95.
13
14
 
15
 
16
Cooper, K., Hall, M., and Kennedy, K. 1992. Procedure cloning. In Proceedings of the 1992 International Conference on Computer Languages. IEEE Computer Society Press, Oakland, CA, USA, 96--105.
17
 
18
 
19
20
21
 
22
 
23
24
25
 
26
 
27
 
28
IBM. 2001. IBM JDK 1.3.1. http://www.ibm.com/java/jdk.
 
29
IBM. 2002. Jikes RVM 2.1.0. http://www.ibm.com/developerworks/oss/jikesrvm/.
 
30
31
 
32
Java Grande Forum. 1999. The Java Grande Forum benchmark suite. http://www. javagrande.org.
 
33
 
34
 
35
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J., and Irwin, J. 1997. Aspect-oriented programming. In Proceedings of the European Conference on Object-oriented Programming (ECOOP'97), M. Aksit and S. Matsuoka, Eds. Lecture Notes in Computer Science, vol. 1241. Springer, Jyväskylä, Finland, 220--242.
 
36
 
37
 
38
Luján, M. 1999. Object oriented linear algebra. M.S. thesis, University of Manchester.
39
 
40
Luján, M., Gurd, J., and Freeman, T. 2001. OoLaLa: Transformations for implementations of matrix operations at high abstraction levels. In Proceedings 4th Workshop on Parallel Object-Oriented Scientific Computing---POOSC'01. ACM Press, Tampa Bay, Florida, USA.
 
41
Marquard, M. and Steensgaard, B. 1992. Partial evaluation of an object-oriented imperative language. M.S. thesis, University of Copenhagen.
 
42
 
43
 
44
45
 
46
 
47
Schultz, U. 2000. Object-oriented software engineering using partial evaluation. Ph.D. thesis, University of Rennes I, Rennes, France.
 
48
 
49
 
50
 
51
SPEC. 1998. SPEC JVM 98 benchmarks. Standard Performance Evaluation Corporation. http://www.specbench.org/osg/jvm98/.
52
 
53
 
54
Sun Microsystems, Inc. 1999. Sun JDK 1.2.2. http://java.sun.com/products/j2se.
 
55
Sun Microsystems, Inc. 2002. Sun JDK 1.4.0. http://java.sun.com/products/j2se.
56
57
 
58
Veldhuizen, T. 1999. C++ templates as partial evaluation. In ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation (PEPM'98). ACM Press, San Antonio, TX, USA, 13--18.
 
59
60
 
61
 
62
XEROX 2000. AspectJ home page. http://aspectj.org. Xerox Corp.
63

CITED BY  13

Collaborative Colleagues:
Ulrik P. Schultz: colleagues
Julia L. Lawall: colleagues
Charles Consel: colleagues