An empirical study of Java bytecode programs

Christian S Collberg, Ginger Myles, Michael Stepp

Research output: Contribution to journalArticle

47 Scopus citations


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
Issue number6
Publication statusPublished - May 2007


ASJC Scopus subject areas

  • Computer Graphics and Computer-Aided Design
  • Software

Cite this