- Logic, programming, and type systems
- Logic, Reasoning, and Knowledge
- Formal Methods in Verification
- Parallel Computing and Optimization Techniques
- Real-time simulation and control systems
- Model-Driven Software Engineering Techniques
- semigroups and automata theory
- Advanced Algebra and Logic
- Security and Verification in Computing
- Semantic Web and Ontologies
- Software Engineering Research
- Electric and Hybrid Vehicle Technologies
- Advanced Database Systems and Queries
- Chaos control and synchronization
- Natural Language Processing Techniques
- Modeling and Simulation Systems
- Computability, Logic, AI Algorithms
- Optimization and Search Problems
- Machine Learning and Algorithms
- Simulation Techniques and Applications
- Advanced Data Storage Technologies
- Sociology and Education Studies
- Real-Time Systems Scheduling
- Chaos-based Image/Signal Encryption
- Semiconductor materials and devices
ESI Group (Germany)
2021-2025
Ludwig-Maximilians-Universität München
2003-2024
Google (United States)
2024
Saarland University
2013-2023
University of Gothenburg
2014-2023
Chalmers University of Technology
2004-2023
ESI Group (France)
2020
LMU Klinikum
2011-2013
University of Tartu
2013
Institut national de recherche en informatique et en automatique
2010-2011
This paper provides a comprehensive overview of chaotic communication methods and schemes with emphasis on digital schemes. Starting from general demands for communications, the system structure is introduced. From this basic viewpoint, different classical modulation demodulation are treated classified. For performance analysis comparison, discrete-time statistical calculus developed applied to signal processing Discrete-time baseband models developed, which suitable analysis. Analysis...
We introduce a simple functional language foetus (lambda calculus with tuples, constructors and pattern matching) supplied termination checker. This checker tries to find well-founded structural order on the parameters given function prove termination. The components of check algorithm are: call extraction out program text, graph completion finding lexical for parameters.
Inductive datatypes provide mechanisms to define finite data such as lists and trees via constructors allow programmers analyze manipulate pattern matching. In this paper, we develop a dual approach for working with infinite structures streams. Infinite inhabits coinductive which denote greatest fixpoints. Unlike is defined by observations. Dual matching, tool analyzing data, the concept of copattern allows us synthesize data. This leads symmetric language design where matching on can be mixed.
In this paper, we study strong normalization of a core language based on System F-omega which supports programming with finite and infinite structures. Building our prior work, data such as lists trees are defined via constructors manipulated pattern matching, while streams is by observations synthesized copattern matching. take type-based approach to tracking size information about in the type. This guarantees compositionality. More importantly, duality copatterns provide unifying semantic...
Proof assistants based on dependent type theory provide expressive languages for both programming and proving within the same system. However, all of major implementations lack powerful extensionality principles reasoning about equality, such as function propositional extensionality. These are typically added axiomatically which disrupts constructive properties these systems. Cubical provides a solution by giving computational meaning to Homotopy Type Theory Univalent Foundations, in...
Modern microarchitectures are some of the world's most complex man-made systems. As a consequence, it is increasingly difficult to predict, explain, let alone optimize performance software running on such microarchitectures. basis for predictions and optimizations, we would need faithful models their behavior, which are, unfortunately, seldom available. In this paper, present design implementation tool construct latency, throughput, port usage x86 instructions. To end, first discuss common...
Type theory should be able to handle its own meta-theory, both justify foundational claims and obtain a verified implementation. At the core of type checker for intensional lies an algorithm check equality types, or in other words, whether two types are convertible. We have formalized Agda practical conversion checking dependent with one universe à la Russell, natural numbers, η-equality Π types. prove correct via Kripke logical relation parameterized by suitable notion equivalence terms....
Abstract In this paper, we study strong normalization of a core language based on System ${\mathsf{F}_\omega}$ which supports programming with finite and infinite structures. Finite data such as lists trees is defined via constructors manipulated pattern matching, while streams by observations synthesized copattern matching. Taking type-based approach to normalization, track size information about in the type. We exploit duality copatterns give unifying semantic framework allows us elegantly...
We propose to unify the treatment of a broad range modalities in typed lambda calculi. do so by defining generic structure modalities, and show that this arises naturally from intuitionistic logic, as such finds instances wide type systems previously described literature. Despite generality, has rich metatheory, which we expose.
Sized types are a modular and theoretically well-understood tool for checking termination of recursive productivity corecursive definitions. The essential idea is to track structural descent guardedness in the type system make robust suitable strong abstractions like higher-order functions polymorphism. To study application sized proof assistants programming languages based on dependent theory, we have implemented core language, MiniAgda, with explicit handling sizes. New considerations were...
Dependently typed programs contain an excessive amount of static terms which are necessary to please the type checker but irrelevant for computation. To separate and dynamic code, several analyses systems have been put forward. We consider Pfenning's theory with quantification is compatible a type-based notion equality that respects eta-laws. extend universes large eliminations develop its meta-theory. Subject reduction, normalization consistency obtained by Kripke model over judgement....
Modern microarchitectures employ memory hierarchies involving one or more levels of cache to hide the large latency gap between processor and main memory. Cycle-accurate simulators, self-optimizing software systems, platform-aware compilers need accurate models hierarchy produce useful results. Similarly, worst-case execution time analyzers require faithful models, both for soundness precision. Unfortunately, sufficiently precise documentation logical organization is seldom available...
Performance models that statically predict the steady-state throughput of basic blocks on particular microarchitectures, such as IACA, Ithemal, llvm-mca, OSACA, or CQA, can guide optimizing compilers and aid manual software optimization. However, their utility heavily depends accuracy predictions. The average error existing compared to measurements actual hardware has been shown lie between 9% 36%. But how good is this? To answer this question, we propose an extremely simple analytical model...
Automotive OEMs and suppliers are facing recent challenges in the development process, induced by ever shortened product cycles, further distributed as well increasing demands for virtual testing certification using proving grounds or digital twins.This paper presents a real-life demonstration of federated, seamlessly integrated design process complex cyberphysical system (electric truck), where simulation is used early-stage performance validation decision making. Since holistic, but...
The paradigm of type-based termination is explored for functional programming with recursive data types. article introduces , a lambda-calculus recursion, inductive types, subtyping and bounded quantification. Decorated type variables representing approximations types are used to track the size function arguments return values. system shown be safe strongly normalizing. main novelty bidirectional checking algorithm whose soundness established formally.
Performance modeling techniques need accurate cache models to produce useful estimates. However, properties required for building such models, like the replacement policy, are often not documented. In this paper, using a set of carefully designed microbenchmarks, we reverse engineer precise model caches found in recent Intel processors that enables prediction their performance by simulation. particular, identify two variants pseudo-LRU that, unlike previously documented policies, employ...
Abstract We propose a new collection of benchmark problems in mechanizing the metatheory programming languages, order to compare and push state art proof assistants. In particular, we focus on proofs using logical relations (LRs) establishing strong normalization simply typed calculus with by Kripke-style LRs as benchmark. give modern view this well-understood problem formulating our LR well-typed terms. Using case study, share some lessons learned tackling different dependently...
We introduce a language based upon lambda calculus with products, coproducts and strictly positive inductive types that allows the definition of recursive terms. present implementation (foetus) syntactical check ensures all such terms are structurally recursive, i.e. calls appear only arguments smaller than input parameters considered. To ensure correctness termination checker, we show normalizing respect to given operational semantics. this end, define semantics on structural ordering...
We present nanoBench, a tool for evaluating small microbenchmarks using hardware performance counters on Intel and AMD x86 systems. Most existing tools libraries are intended to either benchmark entire programs, or program segments in the context of their execution within larger program. In contrast, nanoBench is specifically designed evaluate small, isolated pieces code. Such code common microbenchmark-based analysis techniques. Unlike previous tools, can execute directly kernel space. This...
Abstract Proof assistants based on dependent type theory provide expressive languages for both programming and proving within the same system. However, all of major implementations lack powerful extensionality principles reasoning about equality, such as function propositional extensionality. These are typically added axiomatically which disrupts constructive properties these systems. Cubical provides a solution by giving computational meaning to Homotopy Type Theory Univalent Foundations,...