Characterizing finite Kripke structures in propositional temporal logic
Theoretical Computer Science - International Joint Conference on Theory and Practice of Software Development, P
Parallel program design: a foundation
Parallel program design: a foundation
Symbolic model checking: 1020 states and beyond
Information and Computation - Special issue: Selections from 1990 IEEE symposium on logic in computer science
Handbook of logic in computer science (vol. 2)
Computer organization & design: the hardware/software interface
Computer organization & design: the hardware/software interface
Model checking and modular verification
ACM Transactions on Programming Languages and Systems (TOPLAS)
Better verification through symmetry
Formal Methods in System Design - Special issue on symmetry in automatic verification
Verifying linear temporal properties of data insensitive controllers using finite instantiations
CHDL'97 Proceedings of the IFIP TC10 WG10.5 international conference on Hardware description languages and their applications : specification, modelling, verification and synthesis of microelectronic systems: specification, modelling, verification and synthesis of microelectronic systems
An axiomatic basis for computer programming
Communications of the ACM
Well-structured transition systems everywhere!
Theoretical Computer Science
Expressing interesting properties of programs in propositional temporal logic
POPL '86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Protocol Verification as a Hardware Design Aid
ICCD '92 Proceedings of the 1991 IEEE International Conference on Computer Design on VLSI in Computer & Processors
Syntactic Program Transformations for Automatic Abstraction
CAV '00 Proceedings of the 12th International Conference on Computer Aided Verification
On the Decidability of the Safety Problem for Access Control Policies
Electronic Notes in Theoretical Computer Science (ENTCS)
Light-Weight SMT-based Model Checking
Electronic Notes in Theoretical Computer Science (ENTCS)
Decidability of Reachability for Polymorphic Systems with Arrays: A Complete Classification
Electronic Notes in Theoretical Computer Science (ENTCS)
On model checking data-independent systems with arrays with whole-array operations
CSP'04 Proceedings of the 2004 international conference on Communicating Sequential Processes: the First 25 Years
Parametric verification of address space separation
POST'12 Proceedings of the First international conference on Principles of Security and Trust
Hi-index | 0.00 |
A system is data-independent with respect to a data type $X$ iff the operations it can perform on values of type $X$ are restricted to just equality testing. The system may also store, input and output values of type $X$. We study model checking of systems which are data-independent with respect to two distinct type variables $X$ and $Y$, and may in addition use arrays with indices from $X$ and values from $Y$. Our main interest is the following parameterised model-checking problem: whether a given program satisfies a given temporal-logic formula for all non-empty finite instances of $X$ and $Y$. Initially, we consider instead the abstraction where $X$ and $Y$ are infinite and where partial functions with finite domains are used to model arrays. Using a translation to data-independent systems without arrays, we show that the $\mu$-calculus model-checking problem is decidable for these systems. From this result, we can deduce properties of all systems with finite instances of $X$ and $Y$. We show that there is a procedure for the above parameterised model-checking problem of the universal fragment of the $\mu$-calculus, such that it always terminates but may give false negatives. We also deduce that the parameterised model-checking problem of the universal disjunction-free fragment of the $\mu$-calculus is decidable. Practical motivations for model checking data-independent systems with arrays include verification of memory and cache systems, where $X$ is the type of memory addresses, and $Y$ the type of storable values. As an example we verify a fault-tolerant memory interface over a set of unreliable memories.