Previous [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]

Journal of Information Science and Engineering, Vol.18 No.5, pp.787-801 (September 2002)

Specializing Java Programs in a Distributed Environment

Jung Gyu Park and Myongsoon Park
Internet Computing Lab.
Department of Computer Science and Engineering
Korea University
Sungbuk-gu, Seoul, 136-701 Korea

The platform neutrality of Java programs allows them to run on heterogeneous computers. In a distributed environment, however, Java programs often cause performance problems because they are not implemented for specific clients, so their implementation conflicts with their usage patterns at the client side. In this paper, we present a mechanism to address this problem by optimizing Java programs using a program specialization technique. Unlike traditional program specialization, our specialization method does not encode the result of specialization only into run-time code. Instead, it encodes the values of multi-valued static expressions into indexed data structure that is referenced by run-time code, and single-valued static expressions into run-time code. With this approach, we can address the code explosion problem of traditional program specialization. In a preliminary implementation, we achieved improvement in performance up to a factor of 3 with very low space requirements.

Keywords: program specialization, partial evaluation, optimization, Java, distributed environment, programming language, automated software engineering

Full Text () Retrieve PDF document (200209_08.pdf)

Received September 3, 2001; accepted April 15, 2002.
Communicated by Jang-Ping Sheu, Makoto Takizawa and Myongsoon Park.