Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
A completeness theorem for Kleene algebras and the algebra of regular events
Papers presented at the IEEE symposium on Logic in computer science
ACM Transactions on Programming Languages and Systems (TOPLAS)
Heterogeneous relation algebra
Relational methods in computer science
ACM Transactions on Information and System Security (TISSEC)
A unified approach to global program optimization
POPL '73 Proceedings of the 1st annual ACM SIGACT-SIGPLAN symposium on Principles of programming languages
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Principles of Program Analysis
Principles of Program Analysis
Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic
Logic of Programs, Workshop
Derivation of Graph and Pointer Algorithms
Proceedings of the IFIP TC2/WG 2.1 State-of-the-Art Report on Formal Program Development
Using Bidirectional Data Flow Analysis To Support Software Reuse
Using Bidirectional Data Flow Analysis To Support Software Reuse
Principles of Compiler Design (Addison-Wesley series in computer science and information processing)
Principles of Compiler Design (Addison-Wesley series in computer science and information processing)
Crafting a Compiler
Kleene Algebra and Bytecode Verification
Electronic Notes in Theoretical Computer Science (ENTCS)
Towards an algebra of routing tables
RAMICS'11 Proceedings of the 12th international conference on Relational and algebraic methods in computer science
Program analysis and verification based on kleene algebra in Isabelle/HOL
ITP'13 Proceedings of the 4th international conference on Interactive Theorem Proving
Hi-index | 0.00 |
Static program analysis consists of compile-time techniques for determining properties of programs without actually running them. Using Kleene algebra, we formalize four instances of a general class of static intraprocedural data flow analyses known as 'gen/kill' analyses. This formalization exhibits the dualities between the four analyses in a clear and concise manner. We provide two equivalent sets of equations characterizing the four analyses for two different representations of programs, one in which the statements label the nodes of a control flow graph and one in which the statements label the transitions. We formally describe how the data flow equations for the two representations are related. We also prove the soundness of the KA based approach with respect to the standard approach.