DeepAI AI Chat
Log In Sign Up

Symbolic Abstract Heaps for Polymorphic Information-flow Guard Inference (Extended Version)

by   Nicolas Berthier, et al.

In the realm of sound object-oriented program analyses for information-flow control, very few approaches adopt flow-sensitive abstractions of the heap that enable a precise modeling of implicit flows. To tackle this challenge, we advance a new symbolic abstraction approach for modeling the heap in Java-like programs. We use a store-less representation that is parameterized with a family of relations among references to offer various levels of precision based on user preferences. This enables us to automatically infer polymorphic information-flow guards for methods via a co-reachability analysis of a symbolic finite-state system. We instantiate the heap abstraction with three different families of relations. We prove the soundness of our approach and compare the precision and scalability obtained with each instantiated heap domain by using the IFSpec benchmarks and real-life applications.


page 1

page 2

page 3

page 4


Abstract Interpretation using a Language of Symbolic Approximation

The traditional abstract domain framework for imperative programs suffer...

Generalized Points-to Graphs: A New Abstraction of Memory in the Presence of Pointers

Flow- and context-sensitive points-to analysis is difficult to scale; fo...

A Relational Static Semantics for Call Graph Construction

The problem of resolving virtual method and interface calls in object-or...

So You Want to Analyze Scheme Programs With Datalog?

Static analysis approximates the results of a program by examining only ...

How to Learn and Represent Abstractions: An Investigation using Symbolic Alchemy

Alchemy is a new meta-learning environment rich enough to contain intere...

Demand-driven Alias Analysis : Formalizing Bidirectional Analyses for Soundness and Precision

A demand-driven approach to program analysis have been viewed as efficie...

Unification-based Pointer Analysis without Oversharing

Pointer analysis is indispensable for effectively verifying heap-manipul...