Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Mads Dam is active.

Publication


Featured researches published by Mads Dam.


colloquium on trees in algebra and programming | 1994

CTL and ECTL as fragments of the modal m-calculus

Mads Dam

Abstract Direct embeddings of the full branching-time CTL ∗ and its extension ECTL ∗ into the modal μ-calculus are presented. The embeddings use tableaux as intermediate representations of formulas, and use extremal fixed points to characterise those paths through tableaux that satisfy an admissibility criterion, guaranteeing eventualities to be eventually satisfied. The version of ECTL ∗ considered replaces the entire linear-time fragment of CTL ∗ by Buchi automata on infinite strings. As a consequence the embedding of ECTL ∗ turns out to be computable in linear time, while the embedding of CTL ∗ is doubly exponential in the worst case.


Information & Computation | 1996

Model Checking Mobile Processes

Mads Dam

We introduce a temporal logic for the polyadic?-calculus based on fixed point extensions of Hennessy?Milner logic. Features are added to account for parametrisation, generation, and passing of names, including the use, following Milner, of dependent sum and product to account for (unlocalised) input and output, and explicit parametrisation on names using?-abstraction and application. The latter provides a single name binding mechanism supporting all parametrisation needed. A proof system and decision procedure is developed based on Stirling and Walkers approach to model checking the modal?-calculus using constants. One difficulty, for both conceptual and efficiency-based reasons, is to avoid the explicit use of the?-rule for parametrised processes. A key idea, following Hennessy and Lins approach to deciding bisimulation for certain types of value-passing processes, is the relativisation of correctness assertions to conditions on names. Based on this idea, a proof system and a decision procedure are obtained for arbitrary?-calculus processes with finite control,?-calculus correlates of CCS finite-state processes, avoiding the use of parallel composition in recursively defined processes.


IEEE Transactions on Network and Service Management | 2009

Robust monitoring of network-wide aggregates through gossiping

Fetahi Wuhib; Mads Dam; Rolf Stadler; Alexander Clem

We investigate the use of gossip protocols for continuous monitoring of network-wide aggregates under crash failures. Aggregates are computed from local management variables using functions such as SUM, MAX, or AVERAGE. For this type of aggregation, crash failures offer a particular challenge due to the problem of mass loss, namely, how to correctly account for contributions from nodes that have failed. In this paper we give a partial solution. We present G-GAP, a gossip protocol for continuous monitoring of aggregates, which is robust against failures that are discontiguous in the sense that neighboring nodes do not fail within a short period of each other. We give formal proofs of correctness and convergence, and we evaluate the protocol through simulation using real traces. The simulation results suggest that the design goals for this protocol have been met. For instance, the tradeoff between estimation accuracy and protocol overhead can be controlled, and a high estimation accuracy (below some 5% error in our measurements) is achieved by the protocol, even for large networks and frequent node failures. Further, we perform a comparative assessment of GGAP against a tree-based aggregation protocol using simulation. Surprisingly, we find that the tree-based aggregation protocol consistently outperforms the gossip protocol for comparative overhead, both in terms of accuracy and robustness.


foundations of software science and computation structure | 2003

On the structure of inductive reasoning: circular and tree-shaped proofs in the µ-calculus

Christoph Sprenger; Mads Dam

In this paper we study induction in the context of the first-order µ-calculus with explicit approximations. We present and compare two Gentzen-style proof systems each using a different type of induction. The first is based on finite proof trees and uses a local well-founded induction rule, while the second is based on (finitely represented) ω-regular proof trees and uses a global induction discharge condition to ensure externally that all inductive reasoning is well-founded. We give effective procedures for the translation of proofs between the two systems, thus establishing their equivalence.


The Journal of Logic and Algebraic Programming | 2009

Provably correct runtime monitoring

Irem Aktug; Mads Dam; Dilian Gurov

Runtime monitoring is an established technique to enforce a wide range of program safety and security properties. We present a formalization of monitoring and monitor inlining, for the Java Virtual Machine. Monitors are security automata given in a special-purpose monitor specification language, ConSpec. The automata operate on finite or infinite strings of calls to a fixed API, allowing local dependencies on parameter values and heap content. We use a two-level class file annotation scheme to characterize two key properties: (i) that the program is correct with respect to the monitor as a constraint on allowed program behavior, and (ii) that the program has a copy of the given monitor embedded into it. As the main application of these results we sketch a simple inlining algorithm and show how the two-level annotations can be completed to produce a fully annotated program which is valid in the standard sense of Floyd/Hoare logic. This establishes the mediation property that inlined programs are guaranteed to adhere to the intended policy. Furthermore, validity can be checked efficiently using a weakest precondition based annotation checker, thus preparing the ground for on-device checking of policy adherence in a proof-carrying code setting.


international symposium on compositionality significant difference | 1997

Toward Parametric Verification of Open Distributed Systems

Mads Dam; Lars-Åke Fredlund; Dilian Gurov

A logic and proof system is introduced for specifying and proving properties of open distributed systems. Key problems that are addressed include the verification of process networks with a changing interconnection structure, and where new processes can be continuously spawned. To demonstrate the results in a realistic setting we consider a core fragment of the Erlang programming language. Roughly this amounts to a first-order actor language with data types, buffered asynchronous communication, and dynamic process spawning. Our aim is to verify quite general properties of programs in this fragment. The specification logic extends the first-order µ-calculus with Erlang-specific primitives. For verification we use an approach which combines local model checking with facilities for compositional verification. We give a specification and verification example based on a billing agent which controls and charges for user access to a given resource.


computer and communications security | 2013

Formal verification of information flow security for a simple arm-based separation kernel

Mads Dam; Roberto Guanciale; Narges Khakpour; Hamed Nemati; Oliver Schwarz

A separation kernel simulates a distributed environment using a single physical machine by executing partitions in isolation and appropriately controlling communication among them. We present a formal verification of information flow security for a simple separation kernel for ARMv7. Previous work on information flow kernel security leaves communication to be handled by model-external means, and cannot be used to draw conclusions when there is explicit interaction between partitions. We propose a different approach where communication between partitions is made explicit and the information flow is analyzed in the presence of such a channel. Limiting the kernel functionality as much as meaningfully possible, we accomplish a detailed analysis and verification of the system, proving its correctness at the level of the ARMv7 assembly. As a sanity check we show how the security condition is reduced to noninterference in the special case where no communication takes place. The verification is done in HOL4 taking the Cambridge model of ARM as basis, transferring verification tasks on the actual assembly code to an adaptation of the BAP binary analysis tool developed at CMU.


algebraic methodology and software technology | 1995

On the Decidability of Process Equivalences for the pi-calculus

Mads Dam

We present general results for showing process equivalences applied to the finite control fragment of the pi-calculus decidable. Firstly a Finite Reachability Theorem states that up to finite name spaces and up to a static normalisation procedure, the set of reachable agent expressions is finite. Secondly a Boundedness Lemma shows that no potential computations are missed when name spaces are chosen large enough, but finite. We show how these results lead to decidability for a number of pi-calculus equivalences such as strong or weak, late or early bismulation equivalence. Furthermore, for strong late equivalence we show how our techniques can be used to adapt the well-known Paige-Tarjan algorithm. Strikingly this results in a single exponential running time not much worse than the running time for the case of for instance CCS. Our results considerably strengthens previous results on decidable equivalences for parameter-passing process calculi.


integrated network management | 2007

Robust Monitoring of Network-wide Aggregates through Gossiping

Fetahi Wuhib; Mads Dam; Rolf Stadler; Alexander Clemm

We investigate the use of gossip protocols for continuous monitoring of network-wide aggregates under crash failures. Aggregates are computed from local management variables using functions such as SUM, MAX, or AVERAGE. For this type of aggregation, crash failures offer a particular challenge due to the problem of mass loss, namely, how to correctly account for contributions from nodes that have failed. In this paper we give a partial solution. We present G-GAP, a gossip protocol for continuous monitoring of aggregates, which is robust against failures that are discontiguous in the sense that neighboring nodes do not fail within a short period of each other. We give formal proofs of correctness and convergence, and we evaluate the protocol through simulation using real traces. The simulation results suggest that the design goals for this protocol have been met. For instance, the tradeoff between estimation accuracy and protocol overhead can be controlled, and a high estimation accuracy (below some 5% error in our measurements) is achieved by the protocol, even for large networks and frequent node failures. Further, we perform a comparative assessment of GGAP against a tree-based aggregation protocol using simulation. Surprisingly, we find that the tree-based aggregation protocol consistently outperforms the gossip protocol for comparative overhead, both in terms of accuracy and robustness.


International Journal on Software Tools for Technology Transfer | 2003

A verification tool for ERLANG

Lars-Åke Fredlund; Dilian Gurov; Thomas Noll; Mads Dam; Thomas Arts; Gennady Chugunov

This paper presents an overview of the main results of the project “Verification of ERLANG Programs ”, which is funded by the Swedish Business Development Agency (NUTEK) and by Ericsson within the ASTEC (Advanced Software TEChnology) initiative. Its main outcome is the ERLANG Verification Tool (EVT), a theorem prover which assists in obtaining proofs that ERLANG applications satisfy their correctness requirements formulated as behavioural properties in a modal logic with recursion. We give a summary of the verification framework as supported by EVT, discuss reasoning principles essential for successful proofs such as inductive and compositional reasoning, and an efficient treatment of side-effect-free code. The experiences of applying the tool in an industrial case study are summarised, and an approach for supporting verification in the presence of program libraries is outlined.EVT is essentially a classical proof assistant, or theorem-proving tool, requiring users to intervene in the proof process at crucial steps such as stating program invariants. However, the tool offers considerable support for automatic proof discovery through higher-level tactics tailored to the particular task of the verification of ERLANG programs. In addition, a graphical interface permits easy navigation through proof tableaux, proof reuse, and meaningful feedback about the current proof state, to assist users in taking informed proof decisions.

Collaboration


Dive into the Mads Dam's collaboration.

Top Co-Authors

Avatar

Rolf Stadler

Royal Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Roberto Guanciale

Royal Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Fetahi Wuhib

Royal Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Dilian Gurov

Royal Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Hamed Nemati

Royal Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Mika Cohen

Imperial College London

View shared research outputs
Top Co-Authors

Avatar

Andreas Lundblad

Royal Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Christoph Baumann

Royal Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Lars-Åke Fredlund

Technical University of Madrid

View shared research outputs
Top Co-Authors

Avatar

Oliver Schwarz

Royal Institute of Technology

View shared research outputs
Researchain Logo
Decentralizing Knowledge