Graph-Based Algorithms for Boolean Function Manipulation
IEEE Transactions on Computers
On the power and limitation of strictness analysis based on abstract interpretation
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The formal semantics of programming languages: an introduction
The formal semantics of programming languages: an introduction
A logical model for relational abstract domains
ACM Transactions on Programming Languages and Systems (TOPLAS)
A sound type system for secure flow analysis
Journal of Computer Security
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Logical optimality of groundness analysis
Theoretical Computer Science
Systematic design of program analysis frameworks
POPL '79 Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
A Per Model of Secure Information Flow in Sequential Programs
Higher-Order and Symbolic Computation
Abstract non-interference: parameterizing non-interference by abstract interpretation
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Making abstract domains condensing
ACM Transactions on Computational Logic (TOCL)
Information flow analysis for java bytecode
VMCAI'05 Proceedings of the 6th international conference on Verification, Model Checking, and Abstract Interpretation
Information flow for Algol-like languages
Computer Languages, Systems and Structures
Language-based information-flow security
IEEE Journal on Selected Areas in Communications
Optimality and condensing of information flow through linear refinement
Theoretical Computer Science
Hi-index | 0.00 |
Detecting information flows inside a program is useful to check non-interference of program variables, an important aspect of software security. Information flows have been computed in the past by using abstract interpretation over an abstract domain IF which expresses sets of flows. In this paper we reconstruct IF as the linear refinementC → C of a basic domain C expressing constancy of program variables. This is important since we also show that C → C, and hence IF, is closed w.r.t. linear refinement, and is hence optimal and condensing. Then a compositional, input-independent static analysis over IF has the same precision of a non-compositional, input-driven analysis. Moreover, we show that C → C has a natural representation in terms of Boolean formulas, efficiently implementable through binary decision diagrams.