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

Axel Simon

dblp:18/2212 · DBLP profile ↗
← Back
14ranked-venue papers
8as first author
0since 2021 · last 2019
—ORCID · none

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

Software engineering, systems software and programming languages · 13 · 8 first-authorTheory of computation · 2

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
1 paper
Programming languages and type systems · 100%

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

TopicWeightPapersLastEvidence papers
Programming languages and type systems › type systems
record types
0.212014
Optimal inference of fields in row-polymorphic records · PLDI 2014
Programming languages and type systems › type systems › polymorphism
row polymorphism
0.212014
Optimal inference of fields in row-polymorphic records · PLDI 2014
Programming languages and type systems
type inference
0.212014
Optimal inference of fields in row-polymorphic records · PLDI 2014
Programming languages and type systems
type systems
0.212014
Optimal inference of fields in row-polymorphic records · PLDI 2014

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

unification · 0.2boolean satisfiability · 0.2SMT solving · 0.2
YearPublicationVenuePosition
2019 Incremental Closure for Systems of Two Variables Per Inequality
abstract
Subclasses of linear inequalities where each inequality has at most two variables are popular in abstract interpretation and model checking, because they strike a balance between what can be described and what can be efficiently computed. This paper focuses on the TVPI class of inequalities, for which each coefficient of each two variable inequality is unrestricted. An implied TVPI inequality can be generated from a pair of TVPI inequalities by eliminating a given common variable (echoing resolution on clauses). This operation, called result, can be applied to derive TVPI inequalities which are entailed (implied) by a given TVPI system. The key operation on TVPI is calculating closure: satisfiability can be observed from a closed system and a closed system also simplifies the calculation of other operations. A closed system can be derived by repeatedly applying the result operator. The process of adding a single TVPI inequality to an already closed input TVPI system and then finding the closure of this augmented system is called incremental closure. This too can be calculated by the repeated application of the result operator. This paper studies the calculus defined by result, the structure of result derivations, and how derivations can be combined and controlled. A series of lemmata on derivations are presented that, collectively, provide a pathway for synthesising an algorithm for incremental closure. The complexity of the incremental closure algorithm is analysed and found to be O((n2+m2)lg⁡(m)), where n is the number of variables and m the number of inequalities of the input TVPI system.
Jacob M. Howe, Andy King, Axel Simon
Theor. Comput. Sci.3
2018 Modular Analysis of Executables Using On-Demand Heyting Completion
Julian Kranz, Axel Simon
VMCAI2
2014 Optimal inference of fields in row-polymorphic records
abstract
Flexible records are a powerful concept in type systems that form the basis of, for instance, objects in dynamically typed languages. One caveat of using flexible records is that a program may try to access a record field that does not exist. We present a type inference algorithm that checks for these runtime errors. The novelty of our algorithm is that it satisfies a clear notion of completeness: The inferred types are optimal in the sense that type annotations cannot increase the set of typeable programs. Under certain assumptions, our algorithm guarantees the following stronger property: it rejects a program if and only if it contains a path from an empty record to a field access on which the field has not been added. We derive this optimal algorithm by abstracting a semantics to types. The derived inference rules use a novel combination of type terms and Boolean functions that retains the simplicity of unification-based type inference but adds the ability of Boolean functions to express implications, thereby addressing the challenge of combining implications and types. By following our derivation method, we show how various operations such as record concatenation and branching if a field exists lead to Boolean satisfiability problems of different complexity. Analogously, we show that more expressive type systems give rise to SMT problems. On the practical side, we present an implementation of the select and update operations and give practical evidence that these are sufficient in real-world applications.
Axel Simon
PLDI1
2014 Structure-Preserving Compilation: Efficient Integration of Functional DSLs into Legacy Systems
abstract
We present a translation scheme from a pure functional domain-specific language (DSL) to C. The over-arching idea of this scheme is to preserve the structure of the input program as much as possible. This includes, among other things, to refrain from inlining user-written functions and to retain variable names as much as possible. We apply this translation scheme to GDSL, a DSL used for the specification of decoders for machine instructions. GDSL offers non-trivial language features such as monadic actions that our translation scheme maps one-to-one to C statements, resulting in code that closely resembles hand-written C code. Indeed, it is feasible to debug and profile the program at the C level and to interface the generated code with existing C code without marshaling data. Our translation scheme is therefore an attractive starting point for a light-weight DSL since no other language-specific tools besides the compiler are necessary. Moreover, the generated code is amenable to compiler optimizations found in off-the-shelf C compilers. This is illustrated by the performance achieved by a decoder for x86 machine instructions implemented in GDSL which is as fast as a production-quality decoding library shipped by Intel.
Julian Kranz, Axel Simon
PPDP2
2014 Deriving a complete type inference for Hindley-Milner and vector sizes using expansion
Axel Simon
Sci. Comput. Program.1
2013 GDSL: A Universal Toolkit for Giving Semantics to Machine Language
Julian Kranz, Alexander Sepp, Axel Simon
APLAS3
2013 The Undefined Domain: Precise Relational Information for Entities That Do Not Exist
Holger Siegel, Bogdan Mihaila, Axel Simon
APLAS3
2013 FESA: Fold- and Expand-Based Shape Analysis
Holger Siegel, Axel Simon
CC2
2013 Deriving a complete type inference for hindley-milner and vector sizes using expansion
abstract
Type inference and program analysis both infer static properties about a program. Yet, they are constructed using very different techniques. We reconcile both approaches by deriving a type inference from a denotational semantics using abstract interpretation. We observe that completeness results in the abstract interpretation literature can be used to derive type inferences that are backward complete, a property akin to the inference of principal typings. The resulting algorithm is similar to that of Milner-Mycroft, that is, it infers Hindley-Milner types while allowing for polymorphic recursion. Instead of type schemes, it uses expansion to instantiate types. Since our expansion operator is agnostic to the abstract domain, we are able to apply it not only to types. We illustrate this by inferring the size of vector types using systems of linear equalities.
Axel Simon
PEPM1
2010 Simple and Precise Widenings for H-Polyhedra
Axel Simon, Liqian Chen
APLAS1
2008 Splitting the Control Flow with Boolean Flags
Axel Simon
SAS1
2007 Taming the Wrapping of Integer Arithmetic
Axel Simon, Andy King
SAS1
2006 Widening Polyhedra with Landmarks
Axel Simon, Andy King
APLAS1
2005 Exploiting Sparsity in Polyhedral Analysis
Axel Simon, Andy King
SAS1