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.
翻译:在为信息流通控制进行健全的面向目标的方案分析方面,很少有方法采用对流动敏感的数据堆抽取方法,从而能够精确地模拟隐性流动。为了应对这一挑战,我们推行一种新的象征性抽象方法,在类似爪哇的方案中模拟堆积。我们使用一种无储存的表示法,其参数是各种参考关系,根据用户的偏好提供不同程度的精确度。这使我们能够通过对象征性的有限状态系统的共通性分析,自动推导出方法的多形态信息流保护员。我们用三种不同的关系来即时抽取堆积的抽取方法。我们证明了我们的方法的健全性,并通过使用IFSpec基准和实际应用来比较每个即时堆积域的精确度和可伸缩性。