Using data flow analysis to infer type information in Java bytecode
Paolo Maggi, Riccardo Sisto
Abstract
Paolo Maggi, Riccardo Sisto
Abstract
The paper shows how dataflow analysis can be used to infer type information related to Java bytecode, and evaluates this approach. All the elements needed to specify the dataflow problem to be solved are conveniently defined, according to the theory on data flow frameworks, along with algorithms to build them automatically from the Java bytecode. To evaluate the approach, we consider the specific problem of statically determining the set of methods potentially invoked by each method call instruction, which is useful for several purposes, such as building accurate call graphs. Experimental results are presented, showing that data flow analysis can improve the accuracy of the results with respect to other simpler techniques at acceptable costs.
OpenAlex reports 2 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
The paper shows how dataflow analysis can be used to infer type information related to Java bytecode, and evaluates this approach. All the elements needed to specify the dataflow problem to be solved are conveniently defined, according to the theory on data flow frameworks, along with algorithms to build them automatically from the Java bytecode. To evaluate the approach, we consider the specific problem of statically determining the set of methods potentially invoked by each method call instruction, which is useful for several purposes, such as building accurate call graphs. Experimental results are presented, showing that data flow analysis can improve the accuracy of the results with respect to other simpler techniques at acceptable costs.
Key concepts: Bytecode, Dataflow, Java bytecode, Computer science, Java, Programming language, Data-flow analysis, Data flow diagram