Demo Data from SIGIR 2026 / reviewers in the wild / expert
Flemming Nielson
dblp:n/FlemmingNielson
· DBLP profile ↗
107ranked-venue papers
32as first author
0since 2021 · last 2020
0000-0001-7362-6176ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 62 · 19 first-authorTheory of computation · 31 · 14 first-authorSecurity and privacy · 11Computer networks · 5Databases, data management, data science and information retrieval · 2 · 2 first-authorApplied, interdisciplinary, general and emerging computing · 2Artificial intelligence and machine learning · 1Systems, architecture and hardware · 1
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Software engineering, system software, and programming languages
10 papers |
Program analysis · 59% Concurrent programming · 21% Programming languages and type systems · 14% | |
| Theoretical computer science
3 papers |
Automated reasoning and model checking · 92% Logic in computer science · 8% | |
| Computer networks
1 paper |
Network management and operations · 100% |
Topics — the 25 heaviest of 27, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Network management and operations
network verification |
0.1 | 1 | 2010 | Static analysis of topology-dependent broadcast networks · Inf. Comput. 2010 |
Program analysis
static analysis |
0.0 | 2 | 2001 | Static Analysis for the pi-Calculus with Applications to Security · Inf. Comput. 2001 Bounded Fixed Point Iteration · POPL 1992 |
Concurrent programming › concurrency theory › process calculi
pi-calculus |
0.0 | 1 | 2001 | Static Analysis for the pi-Calculus with Applications to Security · Inf. Comput. 2001 |
Concurrent programming › concurrency theory › process calculi
mobile ambients |
0.0 | 1 | 2000 | Shape Analysis for Mobile Ambients · POPL 2000 |
Program analysis › static analysis
pointer analysis |
0.0 | 1 | 2000 | Shape Analysis for Mobile Ambients · POPL 2000 |
Program analysis › static analysis › pointer analysis
shape analysis |
0.0 | 1 | 2000 | Shape Analysis for Mobile Ambients · POPL 2000 |
Program analysis › static analysis
abstract interpretation |
0.0 | 5 | 1997 | Bounded Fixed Point Iteration · POPL 1992 Infinitary Control Flow Analysis: a Collecting Semantics for Closure Analysis · POPL 1997 Strictness Analysis and Denotational Abstract Interpretation · Inf. Comput. 1988 |
Program analysis
control flow analysis |
0.0 | 1 | 1997 | Infinitary Control Flow Analysis: a Collecting Semantics for Closure Analysis · POPL 1997 |
Program analysis › static analysis › abstract interpretation
strictness analysis |
0.0 | 3 | 1992 | Strictness Analysis and Denotational Abstract Interpretation · Inf. Comput. 1988 Strictness Analysis and Denotational Abstract Interpretation · POPL 1987 Bounded Fixed Point Iteration · POPL 1992 |
Programming languages and type systems › concurrent programming languages
concurrent functional languages |
0.0 | 1 | 1994 | Higher-Order Concurrent Programs with Finite Communication Topology · POPL 1994 |
Program analysis › static analysis › abstract interpretation
denotational abstract interpretation |
0.0 | 2 | 1988 | Strictness Analysis and Denotational Abstract Interpretation · Inf. Comput. 1988 Strictness Analysis and Denotational Abstract Interpretation · POPL 1987 |
Programming languages and type systems › lambda calculus
typed lambda calculus |
0.0 | 2 | 1988 | Automatic Binding Time Analysis for a Typed Lambda-Calculus · POPL 1988 Strictness Analysis and Denotational Abstract Interpretation · POPL 1987 |
Program analysis › static analysis › abstract interpretation
fixpoint iteration |
0.0 | 1 | 1992 | Bounded Fixed Point Iteration · POPL 1992 |
Logic in computer science › process algebra
ambient calculus |
0.0 | 1 | 2000 | Shape Analysis for Mobile Ambients · POPL 2000 |
Programming languages and type systems
coinduction |
0.0 | 1 | 1997 | Infinitary Control Flow Analysis: a Collecting Semantics for Closure Analysis · POPL 1997 |
Compilers and program optimization › partial evaluation
binding-time analysis |
0.0 | 1 | 1988 | Automatic Binding Time Analysis for a Typed Lambda-Calculus · POPL 1988 |
Compilers and program optimization
partial evaluation |
0.0 | 1 | 1988 | Automatic Binding Time Analysis for a Typed Lambda-Calculus · POPL 1988 |
Programming languages and type systems › concurrent programming languages
Concurrent ML |
0.0 | 1 | 1994 | Higher-Order Concurrent Programs with Finite Communication Topology · POPL 1994 |
Programming languages and type systems
functional programming |
0.0 | 1 | 1994 | Higher-Order Concurrent Programs with Finite Communication Topology · POPL 1994 |
Compilers and program optimization
program transformation |
0.0 | 1 | 1985 | Program Transformations in a Denotational Setting · ACM Trans. Program. Lang. Syst. 1985 |
Compilers and program optimization › program transformation
semantics-preserving transformation |
0.0 | 1 | 1985 | Program Transformations in a Denotational Setting · ACM Trans. Program. Lang. Syst. 1985 |
Programming languages and type systems › language semantics › formal semantics › denotational semantics › domain theory
power domains |
0.0 | 1 | 1983 | Strong Abstract Interpretation Using Power Domains (Extended Abstract) · ICALP 1983 |
Logic in computer science › semantics
denotational semantics |
0.0 | 1 | 1983 | Strong Abstract Interpretation Using Power Domains (Extended Abstract) · ICALP 1983 |
Programming languages and type systems › language semantics › formal semantics
denotational semantics |
0.0 | 1 | 1987 | Strictness Analysis and Denotational Abstract Interpretation · POPL 1987 |
Program analysis
data flow analysis |
0.0 | 1 | 1985 | Program Transformations in a Denotational Setting · ACM Trans. Program. Lang. Syst. 1985 |
Methods — techniques the papers use, named apart from their topics
abstract interpretation · 0.1regular tree grammars · 0.0regular tree grammar · 0.0greatest fixed point · 0.0coinduction · 0.0static analysis · 0.0fixed point theory · 0.0denotational semantics · 0.0type inference · 0.0forward data flow analysis · 0.0backward data flow analysis · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2020 | Adaptive Security Policies
Flemming Nielson, René Rydhof Hansen, Hanne Riis Nielson |
ISoLA (2) | 1 |
| 2019 | Timing Leaks and Coarse-Grained ClocksabstractTiming-based side-channel attacks have matured from an academic exercise to a powerful attack vector in the hand of real-world adversaries. A widely deployed countermeausure against such attacks is to reduce the accuracy of the clocks that are available to adversaries. While a number of high-profile attacks show that this mitigation can be side-stepped, there has not been a principled analysis of the degree of security it provides until now. In this paper, we perform the first information-flow analysis with respect to adversaries with coarse-grained clocks. To this end, we define an adversary model that is parametric in the granularity of the clock and connect it with a system model based on timed automata. We present algorithms for translating such a system to an information-theoretic channel, which enables us to analyze the leakage using standard techniques from quantitative information-flow analysis. We use our techniques to derive insights about the effect of reducing clock resolution on security. In particular, (1) we show that a coarse-grained clock might leak more than a fine-grained one, (2) we give a sufficient condition for when increasing the grain of the clock we achieve better security, and (3) we show that the attack techniques used in the literature form a strict hierarchy in terms of the information an adversary can extract using them. Finally, we illustrate the expressiveness of our development on a case study of a system that uses RSA signatures. Panagiotis Vasilikos, Hanne Riis Nielson, Flemming Nielson, Boris Köpf |
CSF | 3 |
| 2018 | Process-Local Static Analysis of Synchronous Processes
Jan Midtgaard, Flemming Nielson, Hanne Riis Nielson |
SAS | 2 |
| 2017 | Time Dependent Policy-Based Access ControlabstractAccess control policies are essential to determine who is allowed to access data in a system without compromising the data's security. However, applications inside a distributed environment may require those policies to be dependent on the actual content of the data, the flow of information, while also on other attributes of the environment such as the time. In this paper, we use systems of Timed Automata to model distributed systems and we present a logic in which one can express time-dependent policies for access control. We show how a fragment of our logic can be reduced to a logic that current model checkers for Timed Automata such as UPPAAL can handle and we present a translator that performs this reduction. We then use our translator and UPPAAL to enforce time-dependent policy-based access control on an example application from the aerospace industry. Panagiotis Vasilikos, Flemming Nielson, Hanne Riis Nielson |
TIME | 2 |
| 2017 | Modelling and Verifying Communication Failure of Hybrid Systems in HCSPabstractHybrid systems are dynamic systems with interacting discrete computation and continuous physical processes. They have become ubiquitous in our daily life, e.g. automotive, aerospace and medical systems, and in particular, many of them are safety-critical. For a safety-critical hybrid system, the physical process evolves continuously with respect to time, and the discrete controller monitors and controls the physical process in a correct way such that the whole system satisfies the given safety requirements. The safety of hybrid systems depends heavily on the control from the controllers. However, in the presence of communication failure, the expected control from the controller will get lost and as a consequence the physical process cannot behave as expected. In this paper, we mainly consider the communication failure caused by the non-engagement of one party in communication action, i.e. the communication itself fails to occur. To address this issue, this paper proposes a formal framework by extending HCSP, a formal modeling language for hybrid systems, for modeling and verifying hybrid systems in the absence of receiving messages due to communication failure. We present two inference systems for verifying the models in the framework by leveraging the expressivity of the assertion languages and the efficiency of proofs, and correspondingly implement two theorem provers in Isabelle/HOL. To illustrate our approach, we consider a case study on train on-board control system originating from Chinese Train Control System, for which the two provers are applied separately and the proof results are compared. Shuling Wang 0003, Flemming Nielson, Hanne Riis Nielson, Naijun Zhan |
Comput. J. | 2 |
| 2017 | Atomistic Galois insertions for flow sensitive integrity
Flemming Nielson, Hanne Riis Nielson |
Comput. Lang. Syst. Struct. | 1 |
| 2017 | Effect-driven QuickChecking of compilersabstractHow does one test a language implementation with QuickCheck (aka. property-based testing)? One approach is to generate programs following the grammar of the language. But in a statically-typed language such as OCaml too many of these candidate programs will be rejected as ill-typed by the type checker. As a refinement Pałka et al. propose to generate programs in a goal-directed, bottom-up reading up of the typing relation. We have written such a generator. However many of the generated programs has output that depend on the evaluation order, which is commonly under-specified in languages such as OCaml, Scheme, C, C++, etc. In this paper we develop a type and effect system for conservatively detecting evaluation-order dependence and propose its goal-directed reading as a generator of programs that are independent of evaluation order. We illustrate the approach by generating programs to test OCaml's two compiler backends against each other and report on a number of bugs we have found doing so. Jan Midtgaard, Mathias Nygaard Justesen, Patrick Kasting, Flemming Nielson, Hanne Riis Nielson |
Proc. ACM Program. Lang. | 4 |
| 2016 | Quantitative Verification and Synthesis of Attack-Defence ScenariosabstractAttack-defence trees are a powerful technique for formally evaluating attack-defence scenarios. They represent in an intuitive, graphical way the interaction between an attacker and a defender who compete in order to achieve conflicting objectives. We propose a novel framework for the formal analysis of quantitative properties of complex attack-defence scenarios, using an extension of attack-defence trees which models temporal ordering of actions and allows explicit dependencies in the strategies adopted by attackers and defenders. We adopt a game-theoretic approach, translating attack-defence trees to two-player stochastic games, and then employ probabilistic model checking techniques to formally analyse these models. This provides a means to both verify formally specified security properties of the attack-defence scenarios and, dually, to synthesise strategies for attackers or defenders which guarantee or optimise some quantitative property, such as the probability of a successful attack, the expected cost incurred, or some multi-objective trade-off between the two. We implement our approach, building upon the PRISM-games model checker, and apply it to a case study of an RFID goods management system. Zaruhi Aslanyan, Flemming Nielson, David Parker 0001 |
CSF | 2 |
| 2016 | Enforcing Availability in Failure-Aware Communicating Systems
Hugo A. López 0001, Flemming Nielson, Hanne Riis Nielson |
FORTE | 2 |
| 2016 | Towards Static Analysis of Policy-Based Self-adaptive Computing Systems
Andrea Margheri, Hanne Riis Nielson, Flemming Nielson, Rosario Pugliese |
ISoLA (1) | 3 |
| 2016 | Iterated process analysis over lattice-valued regular expressionsabstractWe present an iterated approach to statically analyze programs of two processes communicating by message passing. Our analysis operates over a domain of lattice-valued regular expressions, and computes increasingly better approximations of each process's communication behavior. Overall the work extends traditional semantics-based program analysis techniques to automatically reason about message passing in a manner that can simultaneously analyze both values of variables as well as message order, message content, and their interdependencies. Jan Midtgaard, Flemming Nielson, Hanne Riis Nielson |
PPDP | 2 |
| 2016 | A Parametric Abstract Domain for Lattice-Valued Regular Expressions
Jan Midtgaard, Flemming Nielson, Hanne Riis Nielson |
SAS | 2 |
| 2015 | Klaim-DB: A Modeling Language for Distributed Database Applications
Xi Wu 0005, Ximeng Li 0001, Alberto Lluch-Lafuente, Flemming Nielson, Hanne Riis Nielson |
COORDINATION | 4 |
| 2015 | Set-Pi: Set Membership p-CalculusabstractCommunication protocols often rely on stateful mechanisms to ensure certain security properties. For example, counters and timestamps can be used to ensure authentication, or the security of communication can depend on whether a particular key is registered to a server or it has been revoked. ProVerif, like other state of the art tools for protocol analysis, achieves good performance by converting a formal protocol specification into a set of Horn clauses, that represent a monotonically growing set of facts that a Dolev-Yao attacker can derive from the system. Since this set of facts is not state-dependent, the category of protocols of our interest cannot be precisely analysed by such tools, as they would report false attacks due to the over-approximation. In this paper we present Set-π, an extension of the Applied π-calculus that includes primitives for handling databases of objects, and propose a translation from Set-π into Horn clauses that employs the set-membership abstraction to capture the non-monotonicity of the state. Furthermore, we give a characterisation of authentication properties in terms of the set properties in the language, and prove the correctness of our approach. Finally we showcase our method with three examples, a simple authentication protocol based on counters, a key registration protocol, and a model of the Yubikey security device. Alessandro Bruni, Sebastian Mödersheim, Flemming Nielson, Hanne Riis Nielson |
CSF | 3 |
| 2015 | Factorization of Behavioral Integrity
Ximeng Li 0001, Flemming Nielson, Hanne Riis Nielson |
ESORICS (2) | 2 |
| 2014 | The Stochastic Quality Calculus
Kebin Zeng, Flemming Nielson, Hanne Riis Nielson |
COORDINATION | 2 |
| 2014 | Automated Generation of Attack TreesabstractAttack trees are widely used to represent threat scenarios in a succinct and intuitive manner, suitable for conveying security information to non-experts. The manual construction of such objects relies on the creativity and experience of specialists, and therefore it is error-prone and impracticable for large systems. Nonetheless, the automated generation of attack trees has only been explored in connection to computer networks and levering rich models, whose analysis typically leads to an exponential blow-up of the state space. We propose a static analysis approach where attack trees are automatically inferred from a process algebraic specification in a syntax-directed fashion, encompassing a great many application domains and avoiding incurring systematically an exponential explosion. Moreover, we show how the standard propositional denotation of an attack tree can be used to phrase interesting quantitative problems, that can be solved through an encoding into Satisfiability Modulo Theories. The flexibility and effectiveness of the approach is demonstrated on the study of a national-scale authentication system, whose attack tree is computed thanks to a Java implementation of the framework. Roberto Vigo, Flemming Nielson, Hanne Riis Nielson |
CSF | 2 |
| 2014 | Uniform Protection for Multi-exposed Targets
Roberto Vigo, Flemming Nielson, Hanne Riis Nielson |
FORTE | 2 |
| 2014 | Denial-of-Service Security Attack in the Continuous-Time World
Shuling Wang 0003, Flemming Nielson, Hanne Riis Nielson |
FORTE | 2 |
| 2014 | Formal Security Analysis of the MaCAN Protocol
Alessandro Bruni, Michal Sojka, Flemming Nielson, Hanne Riis Nielson |
IFM | 3 |
| 2014 | The Guided System Development Framework: Modeling and Verifying Communication Systems
Jose Quaresma, Christian W. Probst, Flemming Nielson |
ISoLA (2) | 3 |
| 2014 | The logic of XACML
Carroline Dewi Puspa Kencana Ramli, Hanne Riis Nielson, Flemming Nielson |
Sci. Comput. Program. | 3 |
| 2014 | Quantitative modelling and analysis of a Chinese smart grid: a stochastic model checking case study
Ender Yüksel, Hanne Riis Nielson, Flemming Nielson, Huibiao Zhu |
Int. J. Softw. Tools Technol. Transf. | 3 |
| 2013 | Broadcast, Denial-of-Service, and Secure Communication
Roberto Vigo, Flemming Nielson, Hanne Riis Nielson |
IFM | 2 |
| 2013 | Predictive access control for distributed computation
Chris Hankin, Flemming Nielson, Hanne Riis Nielson |
Sci. Comput. Program. | 3 |
| 2012 | Recursive Advice for Coordination
Michal Terepeta, Hanne Riis Nielson, Flemming Nielson |
COORDINATION | 3 |
| 2012 | Model Checking as Static Analysis: Revisited
Fuyuan Zhang, Flemming Nielson, Hanne Riis Nielson |
IFM | 2 |
| 2012 | Key Update Assistant for resource-constrained networksabstractKey update is a challenging task in resource-constrained networks where limitations in terms of computation, memory, and energy restrict the proper use of security mechanisms. We present an automated tool that computes the optimal key update strategy for any given resource-constrained network. We developed a push-button solution - powered by stochastic model checking - that network designers can easily benefit from, and it paves the way for consumers to set up key update related security parameters. Key Update Assistant, as we named it, runs necessary model checking operations and determines the optimal key update strategy that satisfies given security and performance requirements. Ender Yüksel, Hanne Riis Nielson, Flemming Nielson |
ISCC | 3 |
| 2012 | LBTool: A stochastic toolkit for leave-based key updatesabstractQuantitative techniques have been successfully employed in verification of information and communication systems. However, the use of such techniques are still rare in the area of security. In this paper, we present a toolkit that implements transient analysis on a key update method for wireless sensor networks. The analysis aims to find out the probability of a network key being compromised at a specific time point, which result in fluctuations over time for a specific key update method called Leave-based key update. For such a problem, the use of current tools is limited in many ways such as rapidly constructing a compact formal model, computing the time point where the risk is maximum, or terminating the transient analysis after the fluctuations disappear and system stabilizes. Our toolkit, LBTool, is not only resolving the above-mentioned issues, but also demonstrating how to construct models in an analytical way and how to speed up the analysis by eliminating redundant computations. The toolkit can be generalized to other key update methods by replacing the analytical model construction. Ender Yüksel, Hanne Riis Nielson, Flemming Nielson, Bo Friis Nielsen |
ISCC | 3 |
| 2012 | XACML 3.0 in Answer Set Programming
Carroline Dewi Puspa Kencana Ramli, Hanne Riis Nielson, Flemming Nielson |
LOPSTR | 3 |
| 2012 | Layered fixed point logicabstractWe present a logic for the specification of static analysis problems that goes beyond the logics traditionally used. Its most prominent feature is the direct support for both inductive computations of behaviors as well as co-inductive specifications of properties. Two main theoretical contributions are a Moore Family result and a parametrized worst case time complexity result. We show that the logic and the associated solver can be used for rapid prototyping of analyses and illustrate a wide variety of applications within Static Analysis, Constraint Satisfaction Problems and Model Checking. In all cases the complexity result specializes to the worst case time complexity of the classical methods. Piotr Filipiuk, Flemming Nielson, Hanne Riis Nielson |
PPDP | 2 |
| 2012 | Modelling and Analysis of Smart Grid: A Stochastic Model Checking Case StudyabstractCyber-physical systems integrate information and communication technology functions to the physical elements of a system for monitoring and controlling purposes. The conversion of traditional power grid into a smart grid, a fundamental example of a cyber-physical system, raises a number of issues that require novel methods and applications. In this context, an important issue is the verification of certain quantitative properties of the system. In this paper, we consider a specific Chinese Smart Grid implementation as a case study and address the verification problem for performance and energy consumption. We employ stochastic model checking approach and present our modelling and analysis study using PRISM model checker. Ender Yüksel, Huibiao Zhu, Hanne Riis Nielson, Flemming Nielson |
TASE | 5 |
| 2011 | Combining Static Analysis and Runtime Checking in Security Aspects for Distributed Tuple Spaces
Tomoyuki Aotani, Hidehiko Masuhara, Flemming Nielson, Hanne Riis Nielson |
COORDINATION | 4 |
| 2011 | Automata-Based CSL Model Checking
Lijun Zhang 0001, David N. Jansen, Flemming Nielson, Holger Hermanns |
ICALP (2) | 3 |
| 2011 | A Secure Key Establishment Protocol for ZigBee Wireless Sensor NetworksabstractZigBee is a wireless sensor network standard that defines network and application layers on top of IEEE 802.15.4's physical and medium access control layers. In the latest version of ZigBee, enhancements are prescribed for the security sublayer but we show in this paper that problems persist. In particular, we show that the end-to-end application key establishment protocol is flawed and we propose a secure protocol instead. We do so by using formal verification techniques based on static program analysis and process algebras. We present a way of using formal methods in wireless network security, and propose a secure key establishment protocol for ZigBee networks. Ender Yüksel, Hanne Riis Nielson, Flemming Nielson |
Comput. J. | 3 |
| 2011 | CaPiTo: protocol stacks for servicesabstractAbstract CaPiTo allows the modelling of service-oriented applications using process algebras at three levels of abstraction. The abstract level focuses on the key functionality of the services; the plug-in level shows how to obtain security using standardised protocol stacks; finally, the concrete level allows to consider how security is obtained using asymmetric and symmetric cryptographic primitives. The CaPiTo approach therefore caters for a variety of developers that need to cooperate on designing and implementing service-oriented applications. We show how to formally analyse CaPiTo specifications for ensuring the absence of security flaws. The method used is based on static analysis of the corresponding LySa specifications. We illustrate the development on two industrial case studies; one taken from the banking sector and the other a single sign-on protocol. Han Gao 0002, Flemming Nielson, Hanne Riis Nielson |
Formal Aspects Comput. | 2 |
| 2011 | Modal abstractions of concurrent behaviorabstractWe present an effective algorithm for the automatic construction of finite modal transition systems as abstractions of potentially infinite concurrent processes. Modal transition systems are recognized as valuable abstractions for model checking because they allow for the validation as well as refutation of safety and liveness properties. However, the algorithmic construction of finite abstractions from potentially infinite concurrent processes is a missing link that prevents their more widespread usage for model checking of concurrent systems. Our algorithm is a worklist algorithm using concepts from abstract interpretation and operating upon mappings from sets to intervals in order to express simultaneous over- and underapproximations of the multisets of process actions available in a particular state. We obtain a finite abstraction that is 3-valued in both states and transitions and that supports the definition of a 3-valued modal logic for validating as well as refuting properties of systems. The construction is illustrated on a few examples, including the Ingemarsson-Tang-Wong key agreement protocol. Flemming Nielson, Sebastian Nanz, Hanne Riis Nielson |
ACM Trans. Comput. Log. | 1 |
| 2010 | Model Checking Is Static Analysis of Modal Logic
Flemming Nielson, Hanne Riis Nielson |
FoSSaCS | 1 |
| 2010 | Static analysis of topology-dependent broadcast networks
Sebastian Nanz, Flemming Nielson, Hanne Riis Nielson |
Inf. Comput. | 2 |
| 2010 | From Flow Logic to static type systems for coordination languages
Rocco De Nicola, Daniele Gorla, René Rydhof Hansen, Flemming Nielson, Hanne Riis Nielson, Christian W. Probst, Rosario Pugliese |
Sci. Comput. Program. | 4 |
| 2009 | Advice from Belnap PoliciesabstractCoordination languages for mobile, distributed systems constitute a good basis for the use of aspect-oriented features for providing a clear separation between the functionality and the security policies of programs. Allowing for a distributed definition of aspects, that jointly define a security policy, provide for a number of challenges regarding how to deal with conflicts and how to demonstrate that an overall security policy is met. We adapt recent work on policy composition using Belnap Logic to provide a uniform treatment of conflicts. We further define a modal logic to allow reasoning about the overall security policy. Throughout, we illustrate the developments by examples drawn from health service policies. Chris Hankin, Flemming Nielson, Hanne Riis Nielson |
CSF | 2 |
| 2009 | A monotone framework for CCS
Hanne Riis Nielson, Flemming Nielson |
Comput. Lang. Syst. Struct. | 2 |
| 2008 | Static Validation of Licence Conformance PoliciesabstractPolicy conformance is a security property gaining importance due to commercial interest like Digital Rights Management. It is well known that static analysis can be used to validate a number of more classical security policies, such as discretionary and mandatory access control policies, as well as communication protocols using symmetric and asymmetric cryptography. In this work we show how to develop a Flow Logic for validating the conformance of client software with respect to a licence conformance policy. Our approach is sufficiently flexible that it extends to fully open systems that can admit new services on the fly. René Rydhof Hansen, Flemming Nielson, Hanne Riis Nielson, Christian W. Probst |
ARES | 2 |
| 2008 | Advice for Coordination
Chris Hankin, Flemming Nielson, Hanne Riis Nielson |
COORDINATION | 2 |
| 2008 | From Flow Logic to Static Type Systems for Coordination Languages
Rocco De Nicola, Daniele Gorla, René Rydhof Hansen, Flemming Nielson, Hanne Riis Nielson, Christian W. Probst, Rosario Pugliese |
COORDINATION | 4 |
| 2008 | Iterative Specialisation of Horn Clauses
Christoffer Rosenkilde Nielsen, Flemming Nielson, Hanne Riis Nielson |
ESOP | 2 |
| 2008 | From generic to specific: off-line optimization for a general constraint solverabstractA general constraint solver simplifies the implementation of program analyses because constraint generation can then be separated from constraint solving. In return, a general solver often needs to sacrifice performance for generality. We describe a strategy that given a set of constraints first performs off-line optimizations (performed before the execution of the solver) which enable a solver to find (potential) equivalences between analysis variables so as to reduce the problem space and thus improve performance. The idea is that different analyses use different subsets of constraints. As a result, a specific property may hold for the subsets and a specific optimization can be conducted on the constraints. Ye Zhang 0002, Torben Amtoft, Flemming Nielson |
GPCE | 3 |
| 2008 | Relational Analysis of Correlation
Jörg Kreiker, Flemming Nielson, Hanne Riis Nielson, Henrik Pilegaard |
SAS | 2 |
| 2008 | Modal Abstractions of Concurrent Behaviour
Sebastian Nanz, Flemming Nielson, Hanne Riis Nielson |
SAS | 2 |
| 2007 | Topology-Dependent Abstractions of Broadcast Networks
Sebastian Nanz, Flemming Nielson, Hanne Riis Nielson |
CONCUR | 2 |
| 2007 | A flow-sensitive analysis of privacy propertiesabstractIn this paper we consider service oriented architectures where many components interact with one another using a wireless network. We are interested in questions like: ldr Can I be sure that I do not get unsolicited information from some service? - unless I give my permission? ldr Can I be sure that information I send to some service never is leaked to another service? - unless I give my permission? We shall develop a static program analysis for the pi- calculus and show how it can be used to give privacy guarantees like the ones requested above. The analysis records the explicit information flow of the system and keeps track of, not only the potential configurations of the system, but also the order in which they may be encountered. Hanne Riis Nielson, Flemming Nielson |
CSF | 2 |
| 2007 | A Scalable Inclusion Constraint Solver Using Unification
Ye Zhang 0002, Flemming Nielson |
LOPSTR | 2 |
| 2007 | What is a free name in a process algebra?
Flemming Nielson, Hanne Riis Nielson, Henrik Pilegaard |
Inf. Process. Lett. | 1 |
| 2006 | Sandboxing in myKlaimabstractThe /spl mu/Klaim calculus is a process algebra designed to study the programming of distributed systems consisting of a number of locations each having their own tuple space and collection of mobile processes. Previous work has explored how to incorporate a notion of capabilities to be enforced dynamically by means of a reference monitor. Our first contribution is to describe a sandboxing semantics for the remote evaluation of mobile code; we then develop a succinct flow logic for statically guaranteeing the properties enforced by the reference monitor and hence for dispensing with the overhead of a dynamic reference monitor. Our second contribution is an extension of the calculus to interact with an environment; processes enter the system from the environment and we develop an entry-condition that is sufficient for ensuring that the resulting system continues to guarantee the properties that would otherwise need to be dynamically enforced by the reference monitor. We call the resulting calculus myKlaim. René Rydhof Hansen, Christian W. Probst, Flemming Nielson |
ARES | 3 |
| 2005 | Static validation of security protocolsabstractWe methodically expand protocol narrations into terms of a process algebra in order to specify some of the checks that need to be made in a protocol. We then apply static analysis technology to develop an automatic validation procedure for protocols. Chiara Bodei, Mikael Buchholtz, Pierpaolo Degano, Flemming Nielson, Hanne Riis Nielson |
J. Comput. Secur. | 4 |
| 2004 | Spatial Analysis of BioAmbients
Hanne Riis Nielson, Flemming Nielson, Henrik Pilegaard |
SAS | 2 |
| 2004 | The Succinct Solver Suite
Flemming Nielson, Hanne Riis Nielson, Hongyan Sun, Mikael Buchholtz, René Rydhof Hansen, Henrik Pilegaard, Helmut Seidl |
TACAS | 1 |
| 2003 | Automatic Validation of Protocol NarrationabstractWe perform a systematic expansion of protocol narrations into terms of process algebra in order to make precise some of the detailed checks that need to be made in a protocol. We then apply static analysis technology to develop an automatic validation procedure for protocols. Finally, we demonstrate that these techniques suffice for identifying a number of authentication flaws in symmetric key protocols such as Needham-Schroeder, Otway-Rees, Yahalom and Andrew Secure RPC. Chiara Bodei, Mikael Buchholtz, Pierpaolo Degano, Flemming Nielson, Hanne Riis Nielson |
CSFW | 4 |
| 2003 | Abstract interpretation of mobile ambients
Flemming Nielson, René Rydhof Hansen, Hanne Riis Nielson |
Sci. Comput. Program. | 1 |
| 2002 | Automatic Complexity Analysis
Flemming Nielson, Hanne Riis Nielson, Helmut Seidl |
ESOP | 1 |
| 2002 | Normalizable Horn Clauses, Strongly Recognizable Relations, and Spi
Flemming Nielson, Hanne Riis Nielson, Helmut Seidl |
SAS | 1 |
| 2002 | Flow logic for Dolev-Yao secrecy in cryptographic processes
Chiara Bodei, Pierpaolo Degano, Flemming Nielson, Hanne Riis Nielson |
Future Gener. Comput. Syst. | 3 |
| 2002 | Validating firewalls using flow logics
Flemming Nielson, Hanne Riis Nielson, René Rydhof Hansen |
Theor. Comput. Sci. | 1 |
| 2001 | Control-Flow Analysis in Cubic Time
Flemming Nielson, Helmut Seidl |
ESOP | 1 |
| 2001 | Static Analysis for the pi-Calculus with Applications to Security
Chiara Bodei, Pierpaolo Degano, Flemming Nielson, Hanne Riis Nielson |
Inf. Comput. | 3 |
| 2001 | Kleene's Logic with Equality
Flemming Nielson, Hanne Riis Nielson, Shmuel Sagiv |
Inf. Process. Lett. | 1 |
| 2000 | A Kleene Analysis of Mobile Ambients
Flemming Nielson, Hanne Riis Nielson, Shmuel Sagiv |
ESOP | 1 |
| 2000 | Shape Analysis for Mobile AmbientsabstractThe ambient calculus is a calculus of computation that allows active processes to move between sites. We present an analysis inspired by state-of-the-art pointer analyses that safety and accurately predicts which processes may turn up at what sites during the execution of a composite system. The analysis models sets of processes by sets of regular tree grammars enhanced with context-dependent counts, and it obtains its precision by combining a powerful redex materialisation with a strong redex reduction (in the manner of the strong updates performed in pointer analyses). The underlying ideas are flexible and scale up to general tree structures admitting powerful restructuring operations. Hanne Riis Nielson, Flemming Nielson |
POPL | 2 |
| 1999 | Validating Firewalls in Mobile Ambients
Flemming Nielson, Hanne Riis Nielson, René Rydhof Hansen, Jacob Grydholt Jensen |
CONCUR | 1 |
| 1999 | Interprocedural Control Flow Analysis
Flemming Nielson, Hanne Riis Nielson |
ESOP | 1 |
| 1999 | Static Analysis of Processes for No and Read-Up nad No Write-Down
Chiara Bodei, Pierpaolo Degano, Flemming Nielson, Hanne Riis Nielson |
FoSSaCS | 3 |
| 1999 | Abstract Interpretation of Mobile Ambients
René Rydhof Hansen, Jacob Grydholt Jensen, Flemming Nielson, Hanne Riis Nielson |
SAS | 3 |
| 1998 | Flow Logics for Constraint Based Analysis
Hanne Riis Nielson, Flemming Nielson |
CC | 2 |
| 1998 | Control Flow Analysis for the pi-calculus
Chiara Bodei, Pierpaolo Degano, Flemming Nielson, Hanne Riis Nielson |
CONCUR | 3 |
| 1998 | Behaviour Analysis and Safety Conditions: A Case Study in CML
Hanne Riis Nielson, Torben Amtoft, Flemming Nielson |
FASE | 3 |
| 1998 | Flow Logic for Imperative Objects
Flemming Nielson, Hanne Riis Nielson |
MFCS | 1 |
| 1998 | Strictness and Totality Analysis
Kirsten Lackner Solberg Gasser, Hanne Riis Nielson, Flemming Nielson |
Sci. Comput. Program. | 3 |
| 1998 | Behavior Analysis for Validating Communication Patterns
Torben Amtoft, Hanne Riis Nielson, Flemming Nielson |
Int. J. Softw. Tools Technol. Transf. | 3 |
| 1997 | Systematic Realisation of Control Flow Analyses for CMLabstractWe present a methodology for the systematic realisation of control flow analyses and illustrate it for Concurrent ML. We start with an abstract specification of the analysis that is next proved semantically sound with respect to a traditional small-step operational semantics; this result holds for terminating as well as non-terminating programs. The analysis is defined coinductively and it is shown that all programs have a least analysis result (that is indeed the best one). To realise the analysis we massage the specification in three stages: (i) to explicitly record reachability of subexpressions, (ii) to be defined in a syntax-directed manner, and (iii) to generate a set of constraints that subsequently can be solved by standard techniques. We prove equivalence results between the different versions of the analysis; in particular it follows that the least solution to the constraints generated will be the least analysis result also to the initial specification. 1 Introduction Many c... Kirsten Lackner Solberg Gasser, Flemming Nielson, Hanne Riis Nielson |
ICFP | 2 |
| 1997 | Prescriptive Frameworks for Multi-Level Lambda-CalculiabstractTwo-level -calculi have been heavily utilised for applications such as partial evaluation, abstract interpretation and code generation. Each of these applications pose different demands on the exact details of the twolevel structure and the corresponding inference rules. In a previous paper we have developed a descriptive framework for characterising the key ingredients used in the various applications. Based on the insights offered by this characterisation we now develop a prescriptive framework that offers firm guidelines on what we regard as "good" definitions of multi-level lambda-calculi. 1 Introduction The literature has seen quite a number of multi-level languages used for different purposes: partial evaluation [5], code generation [8] and abstract interpretation [7]. At the surface, they all seem very different and in a recent paper [11] we performed a careful descriptive study of the multi-level lambda-calculi found in the literature. This allowed us to highlight a number ... Flemming Nielson, Hanne Riis Nielson |
PEPM | 1 |
| 1997 | Infinitary Control Flow Analysis: a Collecting Semantics for Closure AnalysisabstractDefining the collecting semantics is usually the first crucial step in adapting the general methodology of abstract interpretation to the semantic framework or programming language at hand. In this paper we show how to define a collecting semantics for control flow analysis: due to the generality of the formulation we need to appeal to coinduction (or greatest fixed points) in order to define the analysis. We then prove the semantic soundness of the collecting semantics and that all totally deterministic instantiations have a least solution; this incorporates k-CFA, polymorphic splitting and a new class of uniform-k-CFA analyses. Hanne Riis Nielson, Flemming Nielson |
POPL | 2 |
| 1997 | Type and Behaviour Reconstruction for Higher-Order Concurrent ProgramsabstractIn this paper we develop a sound and complete type and behaviour inference algorithm for a fragment of CML (Standard ML with primitives for concurrency). Behaviours resemble terms of a process algebra and yield a concise representation of the communications taking place during execution; types are mostly as usual except that function ypes and ‘delayed communication types’ are labelled by behaviours expressing the communications that will take place if the function is applied or the delayed action is activated. The development of the present paper improves a previously published algorithm in achieving completeness as well as soundness; this is due to an alternative strategy for generalising over types and behaviours. Torben Amtoft, Flemming Nielson, Hanne Riis Nielson |
J. Funct. Program. | 2 |
| 1996 | Semantics-Directed Program Analysis: A Tool-Maker's Perspective
Flemming Nielson |
SAS | 1 |
| 1996 | From CML to its Process Algebra
Flemming Nielson, Hanne Riis Nielson |
Theor. Comput. Sci. | 1 |
| 1994 | Higher-Order Concurrent Programs with Finite Communication TopologyabstractConcurrent ML (CML) is an extension of the functional language Standard ML(SML) with primitives for the dynamic creation of processes and channels and for the communication of values over channels. Because of the powerful abstraction mechanisms the communication topology of a given program may be very complex and therefore an efficient implementation may be facilitated by knowledge of the topology. Hanne Riis Nielson, Flemming Nielson |
POPL | 2 |
| 1994 | The Tensor Product in Wadler's Analysis of Lists
Flemming Nielson, Hanne Riis Nielson |
Sci. Comput. Program. | 1 |
| 1993 | From CML to Process Algebras (Extended Abstract)
Flemming Nielson, Hanne Riis Nielson |
CONCUR | 1 |
| 1992 | The Tensor Product in Wadler's Analysis of Lists
Flemming Nielson, Hanne Riis Nielson |
ESOP | 1 |
| 1992 | Bounded Fixed Point IterationabstractIn the context of abstract interpretation we study the number of times a functional need to be unfolded in order to give the least fixed point. For the cases of the total or monotone functions we obtain an exponential bound and in the case of strict and additive (or distributive) functions we obtain a quadratic bound. These bounds are shown to be tight. Specialising the case of strict and additive functions to functionals of a form that would correspond to iterative programs we show that a linear bound is tight. We demonstrate the relation to several analyses studied in the literature (including strictness analysis). Hanne Riis Nielson, Flemming Nielson |
POPL | 2 |
| 1992 | Forced transformation of Occam programs
Flemming Nielson, Hanne Riis Nielson |
Inf. Softw. Technol. | 1 |
| 1992 | Bounded Fixed-Point IterationabstractIn the context of abstract interpretation for languages without higher-order features we study the number of times a functional need to be unfolded in order to give the least fixed point. For the cases of total or monotone functions we obtain an exponential bound and in the case of strict and additive (or distributive) functions we obtain a quadratic bound. These bounds are shown to be tight in that sufficiently long chains of functions can be shown to exist. Specializing the case of strict and additive functions to functionals of a form that would correspond to iterative programs we show that a linear bound is tight. This is related to several analyses studied in the literature (including strictness analysis). Hanne Riis Nielson, Flemming Nielson |
J. Log. Comput. | 2 |
| 1991 | Using Transformations in the Implementations of Higher-Order FunctionsabstractAbstract Traditional functional languages do not have an explicit distinction between binding times. It arises implicitly, however, as one typically instantiates a higher-order function with the arguments that are known, whereas the unknown arguments remain to be taken as parameters. The distinction between ‘ known ’ and ‘ unknown ’ is closely related to the distinction between binding times like ‘ compile-time ’ and ‘ run-time ’. This leads to the use of a combination of polymorphic type inference and binding time analysis for obtaining the required information about which arguments are known. Following the current trend in the implementation of functional languages we then transform the run-time level of the program (not the compile-time level) into categorical combinators . At this stage we have a natural distinction between two kinds of program transformations: partial evaluation , which involves the compile-time level of our notation, and algebraic transformations (i.e., the application of algebraic laws), which involves the run-time level of our notation. By reinterpreting the combinators in suitable ways we obtain specifications of abstract interpretations (or data flow analyses). In particular, the use of combinators makes it possible to use a general framework for specifying both forward and backward analyses . The results of these analyses will be used to enable program transformations that are not applicable under all circumstances. Finally, the combinators can also be reinterpreted to specify code generation for various (abstract) machines. To improve the efficiency of the code generated, one may apply abstract interpretations to collect extra information for guiding the code generation. Peephole optimizations may be used to improve the code at the lowest level. Hanne Riis Nielson, Flemming Nielson |
J. Funct. Program. | 2 |
| 1990 | Eureka Definitions for Free! or Disagreement Points for Fold/Unford Transformations
Hanne Riis Nielson, Flemming Nielson |
ESOP | 2 |
| 1990 | Functional Completeness of the Mixed lambda-Calculus and Combinatory Logic
Hanne Riis Nielson, Flemming Nielson |
Theor. Comput. Sci. | 2 |
| 1989 | Two-Level Semantics and Abstract Interpretation
Flemming Nielson |
Theor. Comput. Sci. | 1 |
| 1988 | 2-level lambda-lifting
Flemming Nielson, Hanne Riis Nielson |
ESOP | 1 |
| 1988 | Automatic Binding Time Analysis for a Typed Lambda-CalculusabstractFor a typed λ-calculus we develop an algorithm that, given some partial information about what must happen at run-time, will work out what actually can be computed at compile-time and what must be deferred to run-time. Hanne Riis Nielson, Flemming Nielson |
POPL | 2 |
| 1988 | Strictness Analysis and Denotational Abstract Interpretation
Flemming Nielson |
Inf. Comput. | 1 |
| 1988 | Automatic Binding Time Analysis for a Typed lambda-Calculus
Hanne Riis Nielson, Flemming Nielson |
Sci. Comput. Program. | 2 |
| 1988 | Two-Level Semantics and Code Generation
Flemming Nielson, Hanne Riis Nielson |
Theor. Comput. Sci. | 1 |
| 1987 | Strictness Analysis and Denotational Abstract InterpretationabstractA theory of abstract interpretation [CoCo79] is developed for a typed λ-calculus. The typed λ-calculus is the “static” part of a two-level denotational metalanguage for which abstract interpretation was developed in [Nie86]. The present development relaxes a condition imposed in [Nie86] and this suffices to make the framework applicable to strictness analysis for the λ-calculus. This shows the possibility of a general theory (and hence a system) for the analysis of functional programs. Furthermore, it gives more insight into the relative precision of the various analyses. In particular, it is shown that a collecting (static [CoCo79]) semantics exists, thus answering a problem left open in [BHA86]. Flemming Nielson |
POPL | 1 |
| 1986 | Correctness of Code Generation from a Two-Level Meta-Language
Flemming Nielson |
ESOP | 1 |
| 1986 | Pragmatic Aspects of Two-Level Denotational Meta-Languages
Hanne Riis Nielson, Flemming Nielson |
ESOP | 2 |
| 1986 | Abstract Interpretation of Denotational Definions (A Survey)
Flemming Nielson |
STACS | 1 |
| 1985 | Program Transformations in a Denotational SettingabstractProgram transformations are frequently performed by optimizing compilers, and the correctness of applying them usually depends on data flow information. For language-to-same-language transformations, it is shown how a denotational setting can be useful for validating such program transformations. Strong equivalence is obtained for transformations that exploit information from a class of forward data flow analyses, whereas only weak equivalence is obtained for transformations that exploit information from a class of backward data flow analyses. To obtain strong equivalence, both the original and the transformed program must be data flow analysed, but consideration of a transformation-exploiting liveness of variables indicates that a more satisfactory approach may be possible. Flemming Nielson |
ACM Trans. Program. Lang. Syst. | 1 |
| 1983 | Strong Abstract Interpretation Using Power Domains (Extended Abstract)
Alan Mycroft, Flemming Nielson |
ICALP | 2 |
| 1982 | A Denotational Framework for Data Flow Analysis
Flemming Nielson |
Acta Informatica | 1 |