arrow
Return

Reasoning About Exceptional Behavior At the Level of Java Bytecode with ByteBack

delete2025-12-01
delete0
PRE
AI
M
Marco Paganoni *
C
Carlo A. Furia
DOI:10.1145/3712015delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
A program's exceptional behavior can substantially complicate its control flow, and hence accurately reasoning about the program's correctness. On the other hand, formally verifying realistic programs is likely to involve exceptions-a ubiquitous feature in modern programming languages. In this article, we present a novel approach to verify the exceptional behavior of Java programs, which extends our previous work on BYTEBAcx. BYTEBAcx works on a program's bytecode, while providing means to specify the intended behavior at the source-code level; this approach sets BYTEBAcx apart from most state-ofthe-art verifiers that target source code. To explicitly model a program's exceptional behavior in a way that is amenable to formal reasoning, we introduce Vimp: a high-level bytecode representation that extends the Soot framework's Jimple with verification-oriented features, thus serving as an intermediate layer between bytecode and the Boogie intermediate verification language. Working on bytecode through this intermediate layer brings flexibility and adaptability to new language versions and variants: as our experiments demonstrate, BYTEBAcx can verify programs involving exceptional behavior in all versions of Java, as well as in Scala and Kotlin (two other popular JVM languages).
Keywords:
Deductive Verification
Java Bytecode
Exceptions

Journal

F
Formal Aspects of Computing
IF:
1.4
Papers:
23
Citations:
471

Organization

U
universita della svizzera italiana
Scholars:
152
Papers: 68
Citations: 0
Cited Papers

Cited Papers

BML and Related Tools
err2009-01-01
err0
PREAI
errChrząszcz,Jacek; Huisman,Marieke; Schubert,Aleksy
errShare
errSave
JayHorn: A Framework for Verifying Java programs
err2016-07-13
err0
PREAI
errTemesghen Kahsai; Philipp Rümmer; Huascar Sanchez; Martin Schäf
errShare
errSave
The SeaHorn Verification Framework
err2015-07-16
err0
errOAAI
errArie Gurfinkel; Temesghen Kahsai; Anvesh Komuravelli; Jorge A. Navas
errShare
errSave
A fully verified container library
err2018-09-01
err0
PREAI
errPolikarpova,Nadia; Tschannen,Julian; Furia,Carlo A.
errShare
errSave
err
IF0
err
err0
PREAI
err
errShare
errSave
Modular invariants for layered object structures
err2006-10-01
err0
errOAAI
errPeter Müller; Arnd Poetzsch-Heffter; Gary T. Leavens
errShare
errSave
researcher View more