Specializing Java programs in a distributed environment

Jung Gyu Park, Myong Soon Park

Research output: Contribution to journalArticle

Abstract

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.

Original languageEnglish
Pages (from-to)787-801
Number of pages15
JournalJournal of Information Science and Engineering
Volume18
Issue number5
Publication statusPublished - 2002 Sep 1

Fingerprint

specialization
Explosions
Data structures
neutrality
performance
cause
time
Values

Keywords

  • Automated software engineering
  • Distributed environment
  • Java
  • Optimization
  • Partial evaluation
  • Program specialization
  • Programming language

ASJC Scopus subject areas

  • Information Systems

Cite this

Specializing Java programs in a distributed environment. / Park, Jung Gyu; Park, Myong Soon.

In: Journal of Information Science and Engineering, Vol. 18, No. 5, 01.09.2002, p. 787-801.

Research output: Contribution to journalArticle

@article{8b51193c8bf9402b9e0c741eab3e9955,
title = "Specializing Java programs in a distributed environment",
abstract = "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 = "Automated software engineering, Distributed environment, Java, Optimization, Partial evaluation, Program specialization, Programming language",
author = "Park, {Jung Gyu} and Park, {Myong Soon}",
year = "2002",
month = "9",
day = "1",
language = "English",
volume = "18",
pages = "787--801",
journal = "Journal of Information Science and Engineering",
issn = "1016-2364",
publisher = "Institute of Information Science",
number = "5",

}

TY - JOUR

T1 - Specializing Java programs in a distributed environment

AU - Park, Jung Gyu

AU - Park, Myong Soon

PY - 2002/9/1

Y1 - 2002/9/1

N2 - 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.

AB - 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.

KW - Automated software engineering

KW - Distributed environment

KW - Java

KW - Optimization

KW - Partial evaluation

KW - Program specialization

KW - Programming language

UR - http://www.scopus.com/inward/record.url?scp=0036755366&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=0036755366&partnerID=8YFLogxK

M3 - Article

AN - SCOPUS:0036755366

VL - 18

SP - 787

EP - 801

JO - Journal of Information Science and Engineering

JF - Journal of Information Science and Engineering

SN - 1016-2364

IS - 5

ER -