Producing good code for the case statement
Software—Practice & Experience
An Empirical Analysis of the Lilith Instruction Set
IEEE Transactions on Computers
A type system for Java bytecode subroutines
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Java Virtual Machine Specification
Java Virtual Machine Specification
Watermarking, tamper-proffing, and obfuscation: tools for software protection
IEEE Transactions on Software Engineering
Bigram analysis of Java bytecode sequences
PPPJ '02/IRE '02 Proceedings of the inaugural conference on the Principles and Practice of programming, 2002 and Proceedings of the second workshop on Intermediate representation engineering for virtual machines, 2002
Optimization of Object-Oriented Programs Using Static Class Hierarchy Analysis
ECOOP '95 Proceedings of the 9th European Conference on Object-Oriented Programming
The Treewidth of Java Programs
ALENEX '02 Revised Papers from the 4th International Workshop on Algorithm Engineering and Experiments
A system for graph-based visualization of the evolution of software
Proceedings of the 2003 ACM symposium on Software visualization
Some properties of APL programs
APL '75 Proceedings of seventh international conference on APL
Analysis of the Java Class File Format
Analysis of the Java Class File Format
Sandmark--A Tool for Software Protection Research
IEEE Security and Privacy
Static profile and dynamic behavior of COBOL programs
ACM SIGPLAN Notices
Static profile of COBOL programs
ACM SIGPLAN Notices
An abstract interpretation-based framework for software watermarking
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
How Do Java Programs Use Inheritance? An Empirical Study of Inheritance in Java Software
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
The Java Programmer's Phrase Book
Software Language Engineering
Canonical method names for Java: using implementation semantics to identify synonymous verbs
SLE'10 Proceedings of the Third international conference on Software language engineering
Large-scale, AST-based API-usage analysis of open-source Java projects
Proceedings of the 2011 ACM Symposium on Applied Computing
Da capo con scala: design and analysis of a scala benchmark suite for the java virtual machine
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Proceedings of the 9th International Conference on Principles and Practice of Programming in Java
A study of irreducibility in C programs
Software—Practice & Experience
Evaluating program analysis and testing tools with the RUGRAT random benchmark application generator
Proceedings of the 2012 Workshop on Dynamic Analysis
Understanding privacy policies
Empirical Software Engineering
Predicting method crashes with bytecode operations
Proceedings of the 6th India Software Engineering Conference
An empirical study of PHP feature usage: a static analysis perspective
Proceedings of the 2013 International Symposium on Software Testing and Analysis
JVM-hosted languages: they talk the talk, but do they walk the walk?
Proceedings of the 2013 International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools
Hi-index | 0.00 |
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. Copyright © 2006 John Wiley & Sons, Ltd.