ESBMC-Jimple: Verifying Kotlin Programs via Jimple Intermediate Representation

06/09/2022
by   Rafael Menezes, et al.
0

In this work, we describe and evaluate the first model checker for verifying Kotlin programs through the Jimple intermediate representation. The verifier, named ESBMC-Jimple, is built on top of the Efficient SMT-based Context-Bounded Model Checker (ESBMC). It uses the Soot framework to obtain the Jimple IR, representing a simplified version of the Kotlin source code, containing a maximum of three operands per instruction. ESBMC-Jimple processes Kotlin source code together with a model of the standard Kotlin libraries and checks a set of safety properties. Experimental results show that ESBMC-Jimple can correctly verify a set of Kotlin benchmarks from the literature and that it is competitive with state-of-the-art Java bytecode verifiers. A demonstration is available at https://youtu.be/J6WhNfXvJNc.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/10/2020

JCoffee: Using Compiler Feedback to Make Partial Code Snippets Compilable

Static program analysis tools are often required to work with only a sma...
research
11/09/2022

Representing LLVM-IR in a Code Property Graph

In the past years, a number of static application security testing tools...
research
10/10/2017

Practical Integer Overflow Prevention

Integer overflows in commodity software are a main source for software b...
research
08/10/2023

ESBMC v7.3: Model Checking C++ Programs using Clang AST

This paper introduces ESBMC v7.3, the latest Efficient SMT-Based Context...
research
05/21/2020

Java Decompiler Diversity and its Application to Meta-decompilation

During compilation from Java source code to bytecode, some information i...
research
02/04/2021

Verifying Security Vulnerabilities in Large Software Systems using Multi-Core k-Induction

Computer-based systems have been used to solve several domain problems, ...
research
04/21/2022

LibDB: An Effective and Efficient Framework for Detecting Third-Party Libraries in Binaries

Third-party libraries (TPLs) are reused frequently in software applicati...

Please sign up or login with your details

Forgot password? Click here to reset