Demo Data from EDBT 2026 / reviewers in the wild / expert
Sebastian Fischer 0001
dblp:74/3745-1
· DBLP profile ↗
15ranked-venue papers
8as first author
0since 2021 · last 2015
0000-0001-8687-9156ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 11 · 6 first-authorTheory of computation · 7 · 3 first-authorApplied, interdisciplinary, general and emerging computing · 1 · 1 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
2 papers |
Compilers and program optimization · 100% | |
| Databases, data mining, and information retrieval
1 paper |
Data models and query languages · 100% |
Topics — the 2 heaviest of 3, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Compilers and program optimization › program transformation › bidirectional transformation
bidirectional programming |
0.4 | 2 | 2015 | The essence of bidirectional programming · Sci. China Inf. Sci. 2015 Validity Checking of Putback Transformations in Bidirectional Programming · FM 2014 |
Compilers and program optimization
program transformation |
0.1 | 1 | 2015 | The essence of bidirectional programming · Sci. China Inf. Sci. 2015 |
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2015 | A Clear Picture of Lens Laws - Functional Pearl
Sebastian Fischer 0001, Zhenjiang Hu 0002, Hugo Pacheco 0001 |
MPC | 1 |
| 2015 | The essence of bidirectional programming
Sebastian Fischer 0001, Zhenjiang Hu 0002, Hugo Pacheco 0001 |
Sci. China Inf. Sci. | 1 |
| 2014 | Validity Checking of Putback Transformations in Bidirectional Programming
Zhenjiang Hu 0002, Hugo Pacheco 0001, Sebastian Fischer 0001 |
FM | 3 |
| 2014 | Monadic combinators for "Putback" style bidirectional programmingabstractBidirectional transformations, in particular lenses, are programs with a forward get transformation and a backward putback transformation that keep source and view data types synchronized. Several bidirectional programming languages exist to aid programmers in writing a (sort of) forward transformation, and deriving a backward transformation for free. However, the maintainability offered by such languages comes at the cost of expressiveness and (more importantly) predictability because the ambiguity of synchronization "handled by the putback transformation" is solved by default strategies over which programmers have little control. In this paper, we argue that controlling such ambiguity is essential for bidirectional transformations and propose a novel language in which programmers write a (sort of) putback transformation, and get the unique get transformation for free. Like traditional bidirectional languages, our put-oriented language allows reasoning about the correctness of defined transformations from the properties of their building blocks. But it allows programmers to describe the behavior of a bidirectional transformation much more precisely, while retaining the maintainability of writing a single program. We demonstrate the practical power of the new approach through a series of examples, ranging from simple ones that illustrate traditional lenses to complex ones for which our putback-based approach is central to specifying nontrivial update strategies. Hugo Pacheco 0001, Zhenjiang Hu 0002, Sebastian Fischer 0001 |
PEPM | 3 |
| 2012 | Simple Rectangle-Based Functional Programs for Computing Reflexive-Transitive Closures
Rudolf Berghammer, Sebastian Fischer 0001 |
RAMiCS | 2 |
| 2012 | Generate, Test, and Aggregate - A Calculation-based Framework for Systematic Parallel Programming with MapReduce
Kento Emoto, Sebastian Fischer 0001, Zhenjiang Hu 0002 |
ESOP | 2 |
| 2012 | Filter-embedding semiring fusion for programming with MapReduceabstractAbstract We show that MapReduce, the de facto standard for large scale data-intensive parallel programming, can be equipped with a programming theory in calculational form. By integrating the generate-and-test programming paradigm and semirings for aggregation of results, we propose a novel parallel programming framework for MapReduce. The framework consists of two important calculation theorems: the shortcut fusion theorem of semiring homomorphisms bridges the gap between specifications and efficient implementations, and the filter-embedding theorem helps to develop parallel programs in a systematic and incremental way. Kento Emoto, Sebastian Fischer 0001, Zhenjiang Hu 0002 |
Formal Aspects Comput. | 2 |
| 2011 | Purely functional lazy nondeterministic programmingabstractAbstract Functional logic programming and probabilistic programming have demonstrated the broad benefits of combining laziness (nonstrict evaluation with sharing of the results) with nondeterminism. Yet these benefits are seldom enjoyed in functional programming because the existing features for nonstrictness, sharing, and nondeterminism in functional languages are tricky to combine. We present a practical way to write purely functional lazy nondeterministic programs that are efficient and perspicuous. We achieve this goal by embedding the programs into existing languages (such as Haskell, SML, and OCaml) with high-quality implementations, by making choices lazily and representing data with nondeterministic components, by working with custom monadic data types and search strategies, and by providing equational laws for the programmer to reason about their code. Sebastian Fischer 0001, Oleg Kiselyov, Chung-chieh Shan |
J. Funct. Program. | 1 |
| 2010 | A play on regular expressions: functional pearlabstractCody, Hazel, and Theo, two experienced Haskell programmers and an expert in automata theory, develop an elegant Haskell program for matching regular expressions: (i) the program is purely functional; (ii) it is overloaded over arbitrary semirings, which not only allows to solve the ordinary matching problem but also supports other applications like computing leftmost longest matchings or the number of matchings, all with a single algorithm; (iii) it is more powerful than other matchers, as it can be used for parsing every context-free language by taking advantage of laziness. Sebastian Fischer 0001, Frank Huch, Thomas Wilke |
ICFP | 1 |
| 2009 | Purely functional lazy non-deterministic programmingabstractFunctional logic programming and probabilistic programming have demonstrated the broad benefits of combining laziness (non-strict evaluation with sharing of the results) with non-determinism. Yet these benefits are seldom enjoyed in functional programming, because the existing features for non-strictness, sharing, and non-determinism in functional languages are tricky to combine. Sebastian Fischer 0001, Oleg Kiselyov, Chung-chieh Shan |
ICFP | 1 |
| 2008 | Data-flow testing of declarative programs
Sebastian Fischer 0001, Herbert Kuchen |
ICFP | 1 |
| 2007 | Lazy call-by-value evaluationabstractDesigning debugging tools for lazy functional programming languages is a complex task which is often solved by expensive tracing of lazy computations. We present a new approach in which the information collected as a trace is reduced considerably (kilobytes instead of megabytes). The idea is to collect a kind of step information for a call-by-value interpreter, which can then efficiently reconstruct the computation for debugging/viewing tools, like declarative debugging. We show the correctness of the approach, discuss a proof-of-concept implementation with a declarative debugger as back end and present some benchmarks comparing our new approach with the Haskell debugger Hat. Bernd Brassel, Michael Hanus, Sebastian Fischer 0001, Frank Huch, Germán Vidal |
ICFP | 3 |
| 2007 | Preserving Sharing in the Partial Evaluation of Lazy Functional Programs
Sebastian Fischer 0001, Josep Silva, Salvador Tamarit, Germán Vidal |
LOPSTR | 1 |
| 2007 | Systematic generation of glass-box test cases for functional logic programsabstractWe employ the narrowing-based execution mechanism of the functional logic programming language Curry in order to automatically generate a system of test cases for glass-box testing of Curry programs. The test cases for a given function are computed by narrowing a call to that function with initially uninstantiated arguments. The generated test cases are produced w.r.t. a selected code-coverage criterion such as control-flow coverage. Besides an adaption of the notion of control-flow coverage to functional (logic) programming, we present a novel coverage criterion for this programming paradigm. A particular difficulty of the adaption is the handling of laziness. Sebastian Fischer 0001, Herbert Kuchen |
PPDP | 1 |
| 2006 | A Program Transformation for Tracing Functional Logic Computations
Bernd Brassel, Sebastian Fischer 0001, Frank Huch |
LOPSTR | 2 |