An empirical study of Java bytecode programs

Christian S Collberg, Ginger Myles, Michael Stepp

Research output: Contribution to journalArticle

46 Citations (Scopus)

Abstract

We present a study of the static structure of real Java bytecode programs. A total of 1132 Java jar-files were collected from the Internet and analyzed. In addition to simple counts (number of methods per class, number of bytecode instructions per method, etc.), structural metrics such as the complexity of control-flow and inheritance graphs were computed. We believe this study will be valuable In the design of future programming languages and virtual machine instruction sets, as well as In the efficient implementation of compilers and other language processors.

Original languageEnglish (US)
Pages (from-to)581-641
Number of pages61
JournalSoftware - Practice and Experience
Volume37
Issue number6
DOIs
StatePublished - May 2007

Fingerprint

Flow control
Computer programming languages
Internet
Virtual machine

ASJC Scopus subject areas

  • Computer Graphics and Computer-Aided Design
  • Software

Cite this

An empirical study of Java bytecode programs. / Collberg, Christian S; Myles, Ginger; Stepp, Michael.

In: Software - Practice and Experience, Vol. 37, No. 6, 05.2007, p. 581-641.

Research output: Contribution to journalArticle

Collberg, Christian S ; Myles, Ginger ; Stepp, Michael. / An empirical study of Java bytecode programs. In: Software - Practice and Experience. 2007 ; Vol. 37, No. 6. pp. 581-641.
@article{bac22b34fba14a0e97619ee1dbfed650,
title = "An empirical study of Java bytecode programs",
abstract = "We present a study of the static structure of real Java bytecode programs. A total of 1132 Java jar-files were collected from the Internet and analyzed. In addition to simple counts (number of methods per class, number of bytecode instructions per method, etc.), structural metrics such as the complexity of control-flow and inheritance graphs were computed. We believe this study will be valuable In the design of future programming languages and virtual machine instruction sets, as well as In the efficient implementation of compilers and other language processors.",
author = "Collberg, {Christian S} and Ginger Myles and Michael Stepp",
year = "2007",
month = "5",
doi = "10.1002/spe.776",
language = "English (US)",
volume = "37",
pages = "581--641",
journal = "Software - Practice and Experience",
issn = "0038-0644",
publisher = "John Wiley and Sons Ltd",
number = "6",

}

TY - JOUR

T1 - An empirical study of Java bytecode programs

AU - Collberg, Christian S

AU - Myles, Ginger

AU - Stepp, Michael

PY - 2007/5

Y1 - 2007/5

N2 - We present a study of the static structure of real Java bytecode programs. A total of 1132 Java jar-files were collected from the Internet and analyzed. In addition to simple counts (number of methods per class, number of bytecode instructions per method, etc.), structural metrics such as the complexity of control-flow and inheritance graphs were computed. We believe this study will be valuable In the design of future programming languages and virtual machine instruction sets, as well as In the efficient implementation of compilers and other language processors.

AB - We present a study of the static structure of real Java bytecode programs. A total of 1132 Java jar-files were collected from the Internet and analyzed. In addition to simple counts (number of methods per class, number of bytecode instructions per method, etc.), structural metrics such as the complexity of control-flow and inheritance graphs were computed. We believe this study will be valuable In the design of future programming languages and virtual machine instruction sets, as well as In the efficient implementation of compilers and other language processors.

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

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

U2 - 10.1002/spe.776

DO - 10.1002/spe.776

M3 - Article

AN - SCOPUS:34248581742

VL - 37

SP - 581

EP - 641

JO - Software - Practice and Experience

JF - Software - Practice and Experience

SN - 0038-0644

IS - 6

ER -