Skip to content

shipilev/JavaFuzzer

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code
This branch is 20 commits ahead of AzulSystems:master.

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
rb
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Java* Fuzzer test generator

Java* Fuzzer test generator is a random Java tests generator. It is derived from Java* Fuzzer for Android* (https://github.com/android-art-intel/Fuzzer), adapted for desktop/server Java environment on Linux and extended to cover more Java syntax features (class inheritance, complex loop patterns, improved exception throwing patterns, etc). The tool compares the result of execution in JIT mode with interpreter mode or reference Java VM that allows to detect crashes, hangs and incorrect calculations. The main idea of the tool is to generate hundreds of thousands small random tests and to cover various cases using pre-defined test generator heuristics and provide a strong testing for Java VM compiler and runtime.

This is significantly reduced version of the original fuzzing infrastructure. The goal for this project is to generate the static bundle of verifiable tests that can be deployed anywhere without having Ruby installed, base Java executed to provide baseline results, etc. Example generated bundles are here: https://builds.shipilev.net/fuzzer/

Authors

  • Mohammad R. Haghighat (Intel Corporation)
  • Dmitry Khukhro (Intel Corporation)
  • Andrey Yakovlev (Intel Corporation)

Authors of 2017-2018 modifications by Azul Systems

  • Nina Rinskaya (Azul Systems)
  • Ivan Popov (Azul Systems)

Authors of 2019 modifications by Red Hat

  • Aleksey Shipilev (Red Hat)

About

Java* Fuzzer for JVM

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 85.9%
  • Java 10.3%
  • Shell 3.8%