2006
DOI: 10.1002/spe.776
|View full text |Cite
|
Sign up to set email alerts
|

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 imple… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

1
42
1

Year Published

2011
2011
2019
2019

Publication Types

Select...
5
4

Relationship

0
9

Authors

Journals

citations
Cited by 51 publications
(44 citation statements)
references
References 13 publications
1
42
1
Order By: Relevance
“…Liebig et al also focused on the C preprocessor, undertaking a targeted empirical study to uncover the use of the preprocessor in encoding variations and variability [16]. Collberg et al [7] performed an in-depth empirical analysis of Java bytecode, computing a wide variety of metrics, including object-oriented metrics (e.g., classes per package, fields per class) and instruction-level metrics (e.g., instruction frequencies, common sequences of instructions). Baxter et al [6] looked at a combination of Java bytecode and Java source (generated from bytecode), where they focused on characterizing the distributions for a number of metrics.…”
Section: Related Workmentioning
confidence: 99%
“…Liebig et al also focused on the C preprocessor, undertaking a targeted empirical study to uncover the use of the preprocessor in encoding variations and variability [16]. Collberg et al [7] performed an in-depth empirical analysis of Java bytecode, computing a wide variety of metrics, including object-oriented metrics (e.g., classes per package, fields per class) and instruction-level metrics (e.g., instruction frequencies, common sequences of instructions). Baxter et al [6] looked at a combination of Java bytecode and Java source (generated from bytecode), where they focused on characterizing the distributions for a number of metrics.…”
Section: Related Workmentioning
confidence: 99%
“…We therefore again resort to both an optimistic and a pessimistic assumption. That being said, a study of real-world programs has shown that the shorthands are commonly used [16]; thus, the optimistic assumption is much closer to reality.…”
Section: Xquery For Metric Computationmentioning
confidence: 98%
“…However to date, large-scale studies based on corpora such as Qualitas [30] have been restricted entirely to static analysis, e.g. [3,31].…”
Section: Related Workmentioning
confidence: 99%