JBMC: A Bounded Model Checking Tool for Java Bytecode

02/05/2023
by   Romain Brenguier, et al.
0

JBMC is an open-source SAT- and SMT-based bounded model checking tool for verifying Java bytecode. JBMC relies on an operational model of the Java libraries, which conservatively approximates their semantics, to verify assertion violations, array out-of-bounds, unintended arithmetic overflows, and other kinds of functional and runtime errors in Java bytecode. JBMC can be used to either falsify properties or prove program correctness if an upper bound on the depth of the state-space is known. Practical applications of JBMC include but are not limited to bug finding, property checking, test input generation, detection of security vulnerabilities, and program synthesis. Here we provide a detailed description of JBMC's architecture and its functionalities, including an in-depth discussion of its background theories and underlying technologies, including a state-of-the-art string solver to ensure safety and security of Java bytecode.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
02/05/2023

CBMC: The C Bounded Model Checker

The C Bounded Model Checker (CBMC) demonstrates the violation of asserti...
research
07/02/2021

Model Checking C++ Programs

In the last three decades, memory safety issues in system programming la...
research
05/16/2020

Distributed Bounded Model Checking

Program verification is a resource-hungry task. This paper looks at the ...
research
11/09/2022

Improve Model Testing by Integrating Bounded Model Checking and Coverage Guided Fuzzing

The control logic models built by Simulink or Ptolemy have been widely u...
research
01/17/2019

Flat Model Checking for Counting LTL Using Quantifier-Free Presburger Arithmetic

This paper presents an approximation approach to verifying counter syste...
research
02/08/2022

Automated Instantiation of Control Flow Tracing Exercises

One of the first steps in learning how to program is reading and tracing...
research
02/05/2023

2LS for Program Analysis

2LS ("tools") is a verification tool for C programs, built upon the CPRO...

Please sign up or login with your details

Forgot password? Click here to reset