2018
DOI: 10.1007/978-3-319-96145-3_10
|View full text |Cite
|
Sign up to set email alerts
|

JBMC: A Bounded Model Checking Tool for Verifying Java Bytecode

Abstract: We present a bounded model checking tool for verifying Java bytecode, which is built on top of the CPROVER framework, named Java Bounded Model Checker (JBMC). JBMC processes Java bytecode together with a model of the standard Java libraries and checks a set of desired properties. Experimental results show that JBMC can correctly verify a set of Java benchmarks from the literature and that it is competitive with two state-of-the-art Java verifiers. Support by ERC project 280053 CPROVER and the H2020 FET OPEN 71… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
29
0

Year Published

2018
2018
2022
2022

Publication Types

Select...
4
2

Relationship

2
4

Authors

Journals

citations
Cited by 54 publications
(36 citation statements)
references
References 10 publications
0
29
0
Order By: Relevance
“…JBMC is a bounded model checker based on Boolean Satisfiability (SAT) and Satisfiability Modulo Theories (SMT), which allows the verification of Java programs [3]. JBMC inherits memory model, symbolic execution engine and SAT/SMT backends of its sibling tool CBMC [2].…”
Section: Overviewmentioning
confidence: 99%
See 2 more Smart Citations
“…JBMC is a bounded model checker based on Boolean Satisfiability (SAT) and Satisfiability Modulo Theories (SMT), which allows the verification of Java programs [3]. JBMC inherits memory model, symbolic execution engine and SAT/SMT backends of its sibling tool CBMC [2].…”
Section: Overviewmentioning
confidence: 99%
“…2 For the competition, JBMC is called from a wrapper script. 3 The wrapper script compiles the .java source files in the given benchmark directories and then invokes the jbmc binary repeatedly with increasing values for the unwinding bound until the property has been refuted (answering false) or the program has been fully unwound without finding a property violation (answering true). See the wrapper script for the relevant command line options given to JBMC.…”
Section: Tool Setupmentioning
confidence: 99%
See 1 more Smart Citation
“…Technology companies such as Facebook and Amazon increasingly invest effort and time to develop efficient and effective verification methods as testing alternatives [4,5], to check correctness of some aspects of their systems with the goal to improve robustness and security [6]. Although there are several software verification tools for Java programs (e.g., Bandera [7], JPF [8], SPF [9], Jay-Horn [10] and JBMC [11]), they are typically very difficult to compare in practice, mainly due to the lack of (1) a common set of benchmarks and (2) methods to standardize and reproduce the empirical evaluations.…”
Section: Introductionmentioning
confidence: 99%
“…The main contribution of this paper is to define a standard Java benchmark format and respective benchmarking infrastructure, which can drive the verification community to effectively evaluate state-of-the-art software verification tools for Java programs with the goal to achieve comparability and reproducibility. In particular, we collect and harmonize an initial set of Java benchmarks from different sources [10,11,9,13] and re-use existing benchmarking infrastructure [14], so that we allow the community to get beyond research prototypes to usable tools [15]. This can lead to further progress in the area of verification of Java programs and raise interest in applying these tools to industrial systems.…”
Section: Introductionmentioning
confidence: 99%