Network


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

Hotspot


Dive into the research topics where Mads Rosendahl is active.

Publication


Featured researches published by Mads Rosendahl.


international conference on functional programming | 1989

Automatic complexity analysis

Mads Rosendahl

One way to analyse programs is to to derive expressions for their computational behaviour. A time bound function (or worst-case complexity) gives an upper bound for the computation time as a function of the size of input. We describe a system to derive such time bounds automatically using abstract interpretation. The semantics-based setting makes it possible to prove the correctness of the time bound function. The system can analyse programs in a first-order subset of Lisp and we show how the system also can be used to analyse programs in other languages.


international symposium on programming language implementation and logic programming | 1993

Higher-Order Chaotic Iteration Sequences

Mads Rosendahl

Chaotic iteration sequences is a method for approximating fixpoints of monotonic functions proposed by Patrick and Radhia Cousot. It may be used in specialisation algorithms for Prolog programs and in abstract interpretation when only parts of a fixpoint result is needed to perform program optimisations. In the first part of this paper we reexamine the definition of chaotic iteration sequences and show how a number of other methods to compute fixpoints may be formulated in this framework. In the second part we extend the technique to higher-order functions.


ALP '94 Proceedings of the 4th International Conference on Algebraic and Logic Programming | 1994

Higher-Order Minimal Functional Graphs

Neil D. Jones; Mads Rosendahl

We present a minimal function graph semantics for a higher-order functional language with applicative evaluation order. The semantics captures the intermediate calls performed during the evaluation of a program. This information may be used in abstract interpretation as a basis for proving the soundness of program analyses. An example of this is the “closure analysis” of partial evaluation.


Microprocessors and Microsystems | 2016

ENTRA: Whole-systems energy transparency

Kerstin Eder; John P. Gallagher; Pedro López-García; Henk L. Muller; Zorana Bankovic; Kyriakos Georgiou; R. Haemmerlé; Manuel V. Hermenegildo; Bishoksan Kafle; Steve Kerrison; Maja Hanne Kirkeby; Maximiliano Klemen; Xueliang Li; Umer Liqat; Jeremy Morse; Morten Rhiger; Mads Rosendahl

Abstract Promoting energy efficiency to a first class system design goal is an important research challenge. Although more energy-efficient hardware can be designed, it is software that controls the hardware; for a given system the potential for energy savings is likely to be much greater at the higher levels of abstraction in the system stack. Thus the greatest savings are expected from energy-aware software development, which is the vision of the EU ENTRA project. This article presents the concept of energy transparency as a foundation for energy-aware software development. We show how energy modelling of hardware is combined with static analysis to allow the programmer to understand the energy consumption of a program without executing it, thus enabling exploration of the design space taking energy into consideration. The paper concludes by summarising the current and future challenges identified in the ENTRA project.


international conference on logic programming | 2008

Approximating Term Rewriting Systems: A Horn Clause Specification and Its Implementation

John P. Gallagher; Mads Rosendahl

We present a technique for approximating the set of reachable terms of a given term rewriting system starting from a given initial regular set of terms. The technique is based on previous work by other authors with the same goal, and yields a finite tree automaton recognising an over-approximation of the set of reachable terms. Our contributions are, firstly, to use Horn clauses to specify the transitions of a possibly infinite-state tree automaton defining (at least) the reachable terms. Apart from being a clear specification, the Horn clause model is the basis for further automatic approximations using standard logic program analysis techniques, yielding finite-state tree automata. The approximations are applied in two stages: first a regular approximation of the model of the given Horn clauses is constructed, and secondly a more precise relational abstraction is built using the first approximation. The analysis uses efficient representations based on BDDs, leading to more scalable implementations. We report on preliminary experimental results.


static analysis symposium | 1994

Efficient strictness analysis of Haskell

Kristian Jensen; Peter Hjæresen; Mads Rosendahl

Strictness analysis has been a living field of investigation since Mycrofts original work in 1980, and is getting increasingly significant with the still wider use of lazy functional programming languages. This paper focuses on an actual implementation of a strictness analyser for Haskell. The analyser uses abstract interpretation with chaotic fix-point iteration. The demand-driven nature of this iteration technique allows us to use large domains including function domains in the style of Burn et al. [BHA86] and Wadler [Wad87] and retain reasonable efficiency.


international symposium on programming language implementation and logic programming | 1992

Strictness Analysis for Attribute Grammars

Mads Rosendahl

Attribute grammars may be seen as a (rather specialised) lazy or demand-driven programming language. The “programs” in this language take text or parse trees as input and return values of the synthesised attributes to the root as output. From this observation we establish a framework for abstract interpretation of attribute grammars. The framework is used to construct a strictness analysis for attribute grammars. Results of the analysis enable us to transform an attribute grammar such that attributes are evaluated during parsing, if possible. The analysis is proved correct by relating it to a fixpoint semantics for attribute grammars. An implementation of the analysis is discussed and some extensions to the analysis are mentioned.


Quantitative Aspects of Programming Languages and Systems | 2015

Probabilistic Output Analysis by Program Manipulation

Mads Rosendahl; Maja Hanne Kirkeby

The aim of a probabilistic output analysis is to derive a probability distribution of possible output values for a program from a probability distribution of its input. We present a method for performing static output analysis, based on program transformation techniques. It generates a probability function as a possibly uncomputable expression in an intermediate language. This program is then analyzed, transformed, and approximated. The result is a closed form expression that computes an over approximation of the output probability distribution for the program. We focus on programs where the possible input follows a known probability distribution. Tests in programs are not assumed to satisfy the Markov property of having fixed branching probabilities independently of previous history.


Lecture Notes in Computer Science | 2002

Simple driving techniques

Mads Rosendahl

Driving was introduced as a program transformation technique by Valentin Turchin in some papers around 1980. It was intended for the programming language REFAL and used in metasystem transitions based on super compilation. In this paper we present one version of driving for a more conventional lisp-like language. Our aim is to extract a simple notion of driving and show that even in this tamed form it has much of the power of more general notions of driving. Our driving technique may be used to simplify functional programs which use function composition and will often be able to remove intermediate data structures used in computations.


Proceedings of the International Conference WAGA on Attribute Grammars and their Applications | 1990

Abstract Interpretation Using Attribute Grammar

Mads Rosendahl

This paper deals with the correctness proofs of attribute grammars using methods from abstract interpretation. The technique will be described by defining a live-variable analysis for a small flow-chart language and proving it correct with respect to a continuation style semantics. The proof technique is based on fixpoint induction and introduces an extended class of attribute grammars as to express a standard semantics.

Collaboration


Dive into the Mads Rosendahl's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Neil D. Jones

University of Copenhagen

View shared research outputs
Top Co-Authors

Avatar

Alan Mycroft

University of Cambridge

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge