Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Mads Tofte

dblp:91/6552 · DBLP profile ↗
← Back
15ranked-venue papers
9as first author
0since 2021 · last 2002
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 10 · 6 first-authorTheory of computation · 5 · 3 first-author

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
8 papers
Operating systems · 40% Runtime systems and virtual machines · 25% Programming languages and type systems · 20%

Topics — the 15 heaviest of 16, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Operating systems › resource management › memory management
region-based memory management
0.152002
Combining Region Inference and Garbage Collection · PLDI 2002
A Region Inference Algorithm · ACM Trans. Program. Lang. Syst. 1998
Region-based Memory Management · Inf. Comput. 1997
Operating systems › resource management
memory management
0.142002
Combining Region Inference and Garbage Collection · PLDI 2002
A Region Inference Algorithm · ACM Trans. Program. Lang. Syst. 1998
Region-based Memory Management · Inf. Comput. 1997
Runtime systems and virtual machines › runtime memory management
region inference
0.142002
Combining Region Inference and Garbage Collection · PLDI 2002
A Region Inference Algorithm · ACM Trans. Program. Lang. Syst. 1998
From Region Inference to von Neumann Machines via Region Representation Inference · POPL 1996
Runtime systems and virtual machines
garbage collection
0.012002
Combining Region Inference and Garbage Collection · PLDI 2002
Programming languages and type systems
type inference
0.021999
AnnoDomini: From Type Theory to Year 2000 Conversion Tool · POPL 1999
Type Inference for Polymorphic References · Inf. Comput. 1990
Software maintenance and evolution › software reengineering
legacy code translation
0.011999
AnnoDomini: From Type Theory to Year 2000 Conversion Tool · POPL 1999
Software maintenance and evolution
software reengineering
0.011999
AnnoDomini: From Type Theory to Year 2000 Conversion Tool · POPL 1999
Program analysis › memory analysis
lifetime analysis
0.011998
A Region Inference Algorithm · ACM Trans. Program. Lang. Syst. 1998
Programming languages and type systems › evaluation strategies
call-by-value
0.011994
Implementation of the Typed Call-by-Value lambda-Calculus using a Stack of Regions · POPL 1994
Programming languages and type systems › lambda calculus
polymorphic lambda calculus
0.011994
Implementation of the Typed Call-by-Value lambda-Calculus using a Stack of Regions · POPL 1994
Programming languages and type systems › module systems
higher-order modules
0.011992
Principal Signatures for Higher-Order Program Modules · POPL 1992
Programming languages and type systems
module systems
0.011992
Principal Signatures for Higher-Order Program Modules · POPL 1992
Programming languages and type systems
type systems
0.011992
Principal Signatures for Higher-Order Program Modules · POPL 1992
Programming languages and type systems
language semantics
0.011990
Type Inference for Polymorphic References · Inf. Comput. 1990
Programming languages and type systems › type systems
polymorphism
0.011990
Type Inference for Polymorphic References · Inf. Comput. 1990

Methods — techniques the papers use, named apart from their topics

region inference · 0.1cheney copying garbage collection · 0.0polymorphic recursion · 0.0unification · 0.0type-directed transformation · 0.0type inference · 0.0soundness proof · 0.0type-directed compilation · 0.0effect inference · 0.0damas-milner type discipline · 0.0
YearPublicationVenuePosition
2002 Combining Region Inference and Garbage Collection
abstract
This paper describes a memory discipline that combines region-based memory management and copying garbage collection by extending Cheney's copying garbage collection algorithm to work with regions. The paper presents empirical evidence that region inference very significantly reduces the number of garbage collections; and evidence that the fastest execution is obtained by using regions alone, without garbage collection.
Niels Hallenberg, Martin Elsman, Mads Tofte
PLDI3
2001 A constraint-based region inference algorithm
Lars Birkedal, Mads Tofte
Theor. Comput. Sci.2
1999 A Type Discipline for Solving Year 2000 Problems in COBOL Programs
Mads Tofte
MFCS1
1999 AnnoDomini: From Type Theory to Year 2000 Conversion Tool
abstract
AnnoDomini is a source-to-source conversion tool for making COBOL programs Year 2000 compliant. It is technically and conceptually built upon type-theoretic techniques and methods: type-based specification, program analysis by type inference and type-directed transformation. These are combined into an integrated software reengineering tool and method for finding and fixing Year 2000 problems. AnnoDomini's primary goals have been flexibility (support for multiple year representations), completeness (identifying all potential Year 2000 problems), correctness (correct fixes for Year 2000 problems) and a high degree of safe automation in all phases (declarative specification of conversions, no second-guessing or dangerous heuristics).In this paper we present the type-theoretic foundations of AnnoDomini: type system, type inference, unification theory, semantic soundness, and correctness of conversion. We also describe how these foundations have been applied and extended to a common COBOL mainframe dialect, and how AnnoDomini is packaged with graphical user interface and syntax-sensitive editor into a commercially available software tool.
Peter Harry Eidorff, Fritz Henglein, Christian Mossin, Henning Niss, Morten Heine Sørensen, Mads Tofte
POPL6
1998 A Brief Introduction to Regions
abstract
The paper gives an overview of region-based memory management. The emphasis of the paper is on the dynamic aspects of execution, specifically memory management. We illustrate how three static program analyses can be used for inferring memory management directives. They are region inference, physical size inference, and storage mode analysis. We describe these analyses for a skeletal language inspired by Standard ML. We also describe a region-based runtime system for the skeletal language, based on the runtime system of the ML Kit with Regions.
Mads Tofte
ISMM1
1998 A Region Inference Algorithm
abstract
Region Inference is a program analysis which infers lifetimes of values. It is targeted at a runtime model in which the store consists of a stack of regions and memory management predominantly consists of pushing and popping regions, rather than performing garbage collection. Region Inference has previously been specified by a set of inference rules which formalize when regions may be allocated and deallocated. This article presents an algorithm which implements the specification. We prove that the algorithm is sound with respect to the region inference rules and that it always terminates even though the region inference rules permit polymorphic recursion in regions. The algorithm is the result of several years of experiments with region inference algorithms in the ML Kit, a compiler from Standard ML to assembly language. We report on practical experience with the algorithm and give hints on how to implement it.
Mads Tofte, Lars Birkedal
ACM Trans. Program. Lang. Syst.1
1997 Region-based Memory Management
Mads Tofte, Jean-Pierre Talpin
Inf. Comput.1
1996 From Region Inference to von Neumann Machines via Region Representation Inference
abstract
Region Inference is a technique for implementing programming languages that are based on typed call-by-value lambda calculus, such as Standard ML. The mathematical runtime model of region inference uses a stack of regions, each of which can contain an unbounded number of values. This paper is concerned with mapping the mathematical model onto real machines. This is done by composing region inference with Region Representation Inference, which gradually refines region information till it is directly implementable on conventional von Neumann machines. The performance of a new region-based ML compiler is compared to the performance of Standard ML of New Jersey, a state-of-the-art ML compiler.
Lars Birkedal, Mads Tofte, Magnus Vejlstrup
POPL2
1995 Region Inference for Higher-Order Functional Languages
Mads Tofte
SAS1
1994 A Semantics for Higher-Order Functors
David B. MacQueen, Mads Tofte
ESOP2
1994 Implementation of the Typed Call-by-Value lambda-Calculus using a Stack of Regions
abstract
We present a translation scheme for the polymorphically typed call-by-value λ-calculus. All runtime values, including function closures, are put into regions. The store consists of a stack of regions. Region inference and effect inference are used to infer where regions can be allocated and de-allocated. Recursive functions are handled using a limited form of polymorphic recursion. The translation is proved correct with respect to a store semantics, which models as a region-based run-time system. Experimental results suggest that regions tend to be small, that region allocation is frequent and that overall memory demands are usually modest, even without garbage collection.
Mads Tofte, Jean-Pierre Talpin
POPL1
1994 Principal Signatures for Higher-Order Program Modules
abstract
Abstract In this paper we present a language for programming with higher-order modules. The language HML is based on Standard ML in that it provides structures, signatures and functors. In HML, functors can be declared inside structures and specified inside signatures; this is not possible in Standard ML. We present an operational semantics for the static semantics of HML signature expressions, with particular emphasis on the handling of sharing. As a justification for the semantics, we prove a theorem about the existence of principal signatures. This result is closely related to the existence of principal type schemes for functional programming languages with polymorphism.
Mads Tofte
J. Funct. Program.1
1992 Principal Signatures for Higher-Order Program Modules
abstract
Under the Damas-Milner type discipline for functional languages, every expression has principal type, if it elaborates at all. In the type discipline for ML Modules, a signature expression has a principal signature, if it elaborates at all. However, while functions can be higher-order in ML, parameterised modules in ML are first-order only. We present a type discipline for a skeletal higher-order module language which has principal signatures. Sharing and multiple views of structures are handled in a manner which is compatible with the semantics of the first-order ML modules.
Mads Tofte
POPL1
1991 Co-Induction in Relational Semantics
Robin Milner, Mads Tofte
Theor. Comput. Sci.2
1990 Type Inference for Polymorphic References
Mads Tofte
Inf. Comput.1