A program analysis framework for Java


[ AIST | JKU ]


JNuke is a collection of program analysis tools for Java bytecode; JNuke itself is written in C.

JNuke is a collection of program analysis tools for Java bytecode, including:

JNuke is currently not under active development, but the existing code base is licensed under the open source BSD license, to allow JNuke or some of its components to be re-used. JNuke also contains about 1,800 test cases that cover corner cases for Java bytecode, which may be interesting to test other tools.

See README for more information.


Due to licensing reasons, JNuke is provided in multiple archives, each containing a separate license. The main code base is licensed under the BSD license. To use run the regression tests of JNuke, additional class files are needed, coming under their own license. JNuke also requires class library files, which can be extracted from an existing JVM installation.

Archive License Description
LICENSE jnuke-1.0.tar.gz Source distribution (version 1.0)
LICENSE-EPCC jnuke-1.0-edinburgh.tar.gz Java Grande Benchmark (used in some regression tests)
LICENSE-ETH jnuke-1.0-eth.tar.gz Concurrency benchmarks (used in some regression tests)
LICENSE-GNU jnuke-1.0-gnu.tar.gz Java library components (GNU classpath)
LICENSE-SUN jnuke-1.0-sun.tar.gz Java library class files (for reference only; should be extracted from class files from existing JVM installation)


Cyrille Artho, Marcel Baur, Armin Biere, Pascal Eugster, Peter Farkas, Viktor Schuppan, Boris Zweim├╝ller.

Publications about JNuke

Click on the number for the bibtex entry.

[6] C. Artho. Combining Static and Dynamic Analysis to Find Multi-threading Faults Beyond Data Races. Diss. ETH Zurich No. 16020, Switzerland, May 2005. Published by Hartung-Gorre Verlag Konstanz, Germany, ISBN 3-89649-997-1, Series of Computer Science, ISSN 1611-0943. ETH e-collection | Book
[5] C. Artho, A. Biere. Subroutine Inlining and Bytecode Abstraction to Simplify Static and Dynamic Analysis. BYTECODE '05, Edinburgh, Scotland, April 2005. PDF | Postscript (gzipped)
[4] C. Artho, A. Biere. Combined Static and Dynamic Analysis. ETH Technical Report #466. Extended version of AIOOL paper. PDF | Postscript (gzipped)
[3] C. Artho, K. Havelund, A. Biere: Using Block-local Atomicity to Detect Stale-value Concurrency Errors. ATVA '04, Taipei, Taiwan, November 2004. PDF | Postscript (gzipped)
[2] C. Artho, V. Schuppan, A. Biere, P. Eugster, M. Baur, B. Zweim├╝ller: JNuke: Efficient Dynamic Analysis for Java. CAV '04, Boston, USA, July 2004. PDF | Postscript (gzipped)
[1] C. Artho, A. Biere, and K. Havelund: High-level Data Races. In: Journal on Software Testing, Verification and Reliability (STVR), 13(4). Extended Version of the VVEIS '03 paper. Preprint as PDF | Postscript (gzipped)

E-mail: c (dot) artho (at) aist (dot) go (dot) jp

Last update: January 4, 2013.