bild
School of
Electrical Engineering
and Computer Science

Program logics

Researchers

Ph.D. Students

Alumni

Short Description

Program logics use various forms of logic to specify interesting and useful properties of computer systems and software, and to prove or disprove these properties, either algorithmically, or by some form of machine-assisted, but essentially manual, proof search. Model checking, for instance, concerns the problem of checking a logical specification on a model of some concrete piece of hardware or software. Many varieties of logic, some quite exotic, have found use in this branch of computer science:
  • Modal and temporal logics typically express time- and choice-dependent properties. An example temporal property of a scheduler may be that it cannot forever deny service to a client that continually requests it.
  • Logics of knowledge and belief are often used to express properties of distributed systems. For instance the purpose of a distributed agreement protocol might be to establish common knowledge among the processes in a system of some agreed-upon value.
  • Linear, relevant, and other substructural logics may be used to compose and decompose properties according to the structure of an underlying model. As an example a model may be composed of a number of threads executing in parallel, and it is of interest to find ways in which a property of such a model can be reduced to properties of the individual threads.
The main research questions are:
  • Expressiveness: Does the logic express an interesting/useful class of properties? Can we quantify this statement? An example is Hennessy and Milner's now classical characterization of bisimulation equivalence, an equivalence of behavioral identity among communicating processes, in terms of labelled modal logic.
  • Proof systems: Proof systems should certainly be sound such that only valid statements can be derived. But, it is also interesting to ask if it is complete in the sense that all valid statements can be derived, or, if this is impossible, complete relative to some other formal system.
  • Decision procedures: An important task is to chip off logical verification problems that can be solved, fully or partially, by machine. Most interesting cases, as we know from undecidability of the halting problem, cannot in fact be solved algorithmically, and so one key problem is to come up with abstraction techniques that allow hard problems to be approximated by less hard ones.

Epistemic logics and cryptography

Epistemic logic is the logic of knowledge. Cryptographic communication is about the establishment or prevention of knowledge in the presence of attackers, and a typical goal of a cryptographic protocol is to establish common knowledge of some secret not known to a potential intruder. The use of epistemic logic in this area has, however, run into the problem that there is a mismatch between the logical interpretation of knowledge, and the use of cryptography for information hiding. Our main achievement has been to propose a new type of model that overcomes this mismatch and to examine its implications in terms of expressiveness and axiomatizations.

Modal and first-order mu-calculus

In the context of the Verification of Control-Flow Properties of Programs with Procedures (CVPP) project the modal mu-calculus is used to specify control-flow temporal properties of programs. These specifications are used by the framework for modular verification.

Projects and Funding

TBD

Publications

A Completeness result for BAN logic
M. Cohen, M. Dam
In Journal of Logic, Language, and Information
A Complete Axiomatization of Knowledge and Cryptography
M. Cohen, M. Dam
Proc. LICS'07, pp. 77-86
Logical Omniscience in the Semantics of BAN Logics
M. Cohen, M. Dam
Proc. FCS'05, Chicago, 2005, pp. 121-132.
A Completeness result for BAN logic
M. Cohen, M. Dam
Proc. Methods for Modalities 4, Berlin, Dec. 2005
On the Structure of Inductive Reasoning: Circular and Tree-shaped Proofs in the mu-Calculus
C. Sprenger, M. Dam
In Proc. FOSSACS’03, Warsaw, Poland, LNCS vol. 2620, pp. 425-440.
A note on global induction mechanisms in a µ-calculus with explicit approximations
C. Sprenger, M. Dam
Theoretical Informatics and Applications 37 (2003) pp. 365-399.
Proof Systems for Pi-Calculus Logics
M. Dam
In R. de Queiroz (ed.), "Logic for Concurrency and Synchronisation", Trends in Logic, Logica Library, Kluwer, 2003, pp. 145--212.
M. Dam and D. Gurov: Mu-Calculus with Explicit Points and Approximations
M. Dam, D. Gurov
Journal of Logic and Computation, vol. 12, issue 2, April 2002, pp. 255-269.
A note on global induction in a mu-calculus with explicit approximations
C. Sprenger and M. Dam
Proc. FICS 2002: pp. 22-24, 2002
Mu-Calculus with Explicit Points and Approximations (Abstract).
M. Dam, D. Gurov
In Proc. FICS'00, 2000
Compositional Verification of CCS Processes
M. Dam, D. Gurov
Proc. PSI'99, LNCS vol. 1755, pp. 247-256, 1999
Proving Properties of Dynamic Process Networks
M. Dam
Information and Computation 140, 1998, pp. 95-114.
Model Checking Mobile Processes
M. Dam
Information and Computation 129(1), 1996, pp. 35-51
Toward a Modal Theory of Types for the pi-Calculus
R. Amadio, M. Dam
Proc. FTRTFT'96, Springer Lecture Notes in Computer Science.
Reasoning about Higher-Order Processes
R. Amadio, M. Dam
Proc. CAAP'95, pp. 202-217.
M. Dam. CTL* and ECTL* as Fragments of the Modal mu-Calculus.
M. Dam
Theoretical Computer Science 126 (1994) pp. 77-96.
Temporal Logics, Automata, and Classical Theories - An Introduction.
M. Dam
Lecture Notes for the 6th European Summer School on Logic, Language and Information, 1994.
Fixed Points of Buchi Automata.
M. Dam
In Proceedings of 12th Conference on Foundations of Software Technology and Theoretical Computer Science, Lecture Notes in Computer Science 652 (1992) pp. 39-50.
R-Generability, and Definability in Branching Time Logics
M. Dam
Information Processing Letters 41 (1992) pp. 281-287.
Published by: Mads Dam <mfd@kth.se>
Updated 2012-05-29