1. What contributions have the authors mentioned in the paper "Sound control-flow graph extraction for java programs with exceptions" ?
The authors present an algorithm to extract control-flow graphs from Java bytecode, considering exceptional flows.. The authors then establish its correctness: the behavior of the extracted graphs is shown to be a sound over-approximation of the behavior of the original programs.. First, the authors translate Java bytecode into BIR, a stack-less intermediate representation.. Besides Sawja ’ s efficiency, the resulting intermediate representation is more compact than the original bytecode and provides an explicit representation of exceptions.. Next, the authors formally define the transformation from BIR to control-flow graphs, which ( among other features ) considers the propagation of uncaught exceptions within method calls.. The authors prove the correctness of the two-phase extraction by suitably combining the properties of the two transformations with those of an idealized control-flow graph extraction algorithm, whose correctness has been proved directly.
read more
2. What are the future works mentioned in the paper "Sound control-flow graph extraction for java programs with exceptions" ?
Future Work.. In addition, the authors will study how to adapt the algorithm to various generalizations of the program model, including data and multi-threading [ 12 ], and how to customize it for other types of instructions ( besides method calls and exceptions ).
read more
3. What are the main features of Java bytecode?
Java bytecode has several aspects of an object-oriented language that make the extraction of control-flow graphs complex, such as inheritance, exceptions, and virtual method calls.
read more
4. What is the function that generates a CFG from a BIR method?
It uses the transformation function bG, that takes as input a program counter and instruction from a BIR method, plus its exception table.
read more





