An automata theoretic decision procedure for the propositional mu-calculus
Information and Computation
On the synthesis of a reactive module
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Safety for branching time semantics
Proceedings of the 18th international colloquium on Automata, languages and programming
Graphical versus logical specifications
CAAP '90 Selected papers of the conference on Fifteenth colloquium on trees in algebra and programming
Model checking and modular verification
ACM Transactions on Programming Languages and Systems (TOPLAS)
An automata-theoretic approach to modular model checking
ACM Transactions on Programming Languages and Systems (TOPLAS)
Context-sensitive synchronization-sensitive analysis is undecidable
ACM Transactions on Programming Languages and Systems (TOPLAS)
ACM Transactions on Information and System Security (TISSEC)
Modal and temporal properties of processes
Modal and temporal properties of processes
Automata and Computability
Compositional Verification of Secure Applet Interactions
FASE '02 Proceedings of the 5th International Conference on Fundamental Approaches to Software Engineering
Verifying Temporal Properties Using Explicit Approximants: Completeness for Context-free Processes
FoSSaCS '02 Proceedings of the 5th International Conference on Foundations of Software Science and Computation Structures
Efficient Algorithms for Model Checking Pushdown Systems
CAV '00 Proceedings of the 12th International Conference on Computer Aided Verification
Completeness of Kozen's Axiomatisation of the Propositional Mu-Calculus
LICS '95 Proceedings of the 10th Annual IEEE Symposium on Logic in Computer Science
The Existence of Finite Abstractions for Branching Time Model Checking
LICS '04 Proceedings of the 19th Annual IEEE Symposium on Logic in Computer Science
Analysis of recursive state machines
ACM Transactions on Programming Languages and Systems (TOPLAS)
Interface Abstraction for Compositional Verificatio
SEFM '05 Proceedings of the Third IEEE International Conference on Software Engineering and Formal Methods
A fixpoint calculus for local and global program flows
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Weighted pushdown systems and their application to interprocedural dataflow analysis
Science of Computer Programming - Special issue: Static analysis symposium (SAS 2003)
Model checking of multi-applet javacard applications
CARDIS'02 Proceedings of the 5th conference on Smart Card Research and Advanced Application Conference - Volume 5
First-Order and Temporal Logics for Nested Words
LICS '07 Proceedings of the 22nd Annual IEEE Symposium on Logic in Computer Science
Compositional verification of sequential programs with procedures
Information and Computation
Program Models for Compositional Verification
ICFEM '08 Proceedings of the 10th International Conference on Formal Methods and Software Engineering
Reducing Behavioural to Structural Properties of Programs with Procedures
VMCAI '09 Proceedings of the 10th International Conference on Verification, Model Checking, and Abstract Interpretation
Composing Modal Properties of Programs with Procedures
Electronic Notes in Theoretical Computer Science (ENTCS)
MAVEN: modular aspect verification
TACAS'07 Proceedings of the 13th international conference on Tools and algorithms for the construction and analysis of systems
CVPP: a tool set for compositional verification of control-flow safety properties
FoVeOOS'10 Proceedings of the 2010 international conference on Formal verification of object-oriented software
ProMoVer: modular verification of temporal safety properties
SEFM'11 Proceedings of the 9th international conference on Software engineering and formal methods
Temporal reasoning for procedural programs
VMCAI'10 Proceedings of the 11th international conference on Verification, Model Checking, and Abstract Interpretation
Reachability analysis of multithreaded software with asynchronous communication
FSTTCS '05 Proceedings of the 25th international conference on Foundations of Software Technology and Theoretical Computer Science
CAV'06 Proceedings of the 18th international conference on Computer Aided Verification
Context-Bounded model checking of concurrent software
TACAS'05 Proceedings of the 11th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Hi-index | 5.23 |
There is an intimate link between program structure and behaviour. Exploiting this link to phrase program correctness problems in terms of the structural properties of a program graph rather than in terms of its unfoldings is a useful strategy for making analyses more tractable. The present paper presents a characterisation of behavioural program properties through sets of structural properties by means of a translation. The characterisation is given in the context of a program model based on control flow graphs of sequential programs with procedures, abstracting away completely from program data, and properties expressed in a fragment of the modal @m-calculus with boxes and greatest fixed-points only. The property translation is based on a tableau construction that conceptually amounts to symbolic execution of the behavioural formula, collecting structural constraints along the way. By keeping track of the subformulae that have been examined, recursion in the structural constraints can be identified and captured by fixed-point formulae. The tableau construction terminates, and the characterisation is exact, i.e., the translation is sound and complete. A prototype implementation has been developed. In addition, we show how the translation can be extended beyond the basic flow graph model and safety logic to richer behavioural models (such as open programs) and richer program models (including Boolean programs), and discuss possible extensions for more complex logics. We present several applications of the characterisation, in particular sound and complete compositional verification for behavioural properties based on maximal models.