# A Relational Static Semantics for Call Graph Construction

**Authors:** Xilong Zhuo, Chenyi Zhang

arXiv: 1907.06522 · 2019-07-16

## TL;DR

This paper introduces a new type flow analysis method for call graph construction in object-oriented programs, achieving comparable precision to points-to analysis with lower resource consumption.

## Contribution

It presents a relational static semantics approach that improves call graph precision without relying on heap abstractions, enhancing efficiency.

## Key findings

- Produces results equivalent to points-to analysis in reachability precision
- Consumes less time and space in practical experiments
- Offers a new semantics for virtual call resolution

## Abstract

The problem of resolving virtual method and interface calls in object-oriented languages has been a long standing challenge to the program analysis community. The complexities are due to various reasons, such as increased levels of class inheritance and polymorphism in large programs. In this paper, we propose a new approach called type flow analysis that represent propagation of type information between program variables by a group of relations without the help of a heap abstraction. We prove that regarding the precision on reachability of class information to a variable, our method produces results equivalent to that one can derive from a points-to analysis. Moreover, in practice, our method consumes lower time and space usage, as supported by the experimental results.

## Full text

_Full body text omitted from this summary view._ Fetch the complete paper as Markdown: https://tomesphere.com/paper/1907.06522/full.md

## Figures

10 figures with captions in the complete paper: https://tomesphere.com/paper/1907.06522/full.md

## References

21 references — full list in the complete paper: https://tomesphere.com/paper/1907.06522/full.md

---
Source: https://tomesphere.com/paper/1907.06522