Demo Data from VLDB 2026 / reviewers in the wild / expert
Jens Knoop
dblp:k/JensKnoop
· DBLP profile ↗
45ranked-venue papers
23as first author
0since 2021 · last 2017
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 28 · 14 first-authorSystems, architecture and hardware · 9 · 6 first-authorTheory of computation · 7 · 3 first-authorArtificial intelligence and machine learning · 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
8 papers |
Compilers and program optimization · 81% Program analysis · 15% Concurrent programming · 4% | |
| Computer architecture, parallel and distributed computing, and storage systems
3 papers |
Parallel and multicore computing · 73% High-performance computing · 15% Embedded and real-time systems · 12% |
Topics — the 14 heaviest of 17, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Compilers and program optimization
code motion |
0.1 | 5 | 2000 | Sparse Code Motion · POPL 2000 Code Motion for Explicitly Parallel Programs · PPoPP 1999 The Power of Assignment Motion · PLDI 1995 |
Compilers and program optimization › compiler optimization › redundancy elimination
partial redundancy elimination |
0.0 | 2 | 2000 | Sparse Code Motion · POPL 2000 The Power of Assignment Motion · PLDI 1995 |
Compilers and program optimization › parallel language compilation
data-parallel compilation |
0.0 | 1 | 2002 | Distribution Assignment Placement: Effective Optimization of Redistribution Costs · IEEE Trans. Parallel Distributed Syst. 2002 |
Parallel and multicore computing
data-parallel programming |
0.0 | 1 | 2002 | Distribution Assignment Placement: Effective Optimization of Redistribution Costs · IEEE Trans. Parallel Distributed Syst. 2002 |
Compilers and program optimization
code size reduction |
0.0 | 1 | 2000 | Sparse Code Motion · POPL 2000 |
Program analysis › data flow analysis
bit-vector analysis |
0.0 | 2 | 1996 | Parallelism for Free: Efficient and Optimal Bitvector Analyses for Parallel Programs · ACM Trans. Program. Lang. Syst. 1996 Lazy Code Motion · PLDI 1992 |
Program analysis
data flow analysis |
0.0 | 2 | 1996 | Parallelism for Free: Efficient and Optimal Bitvector Analyses for Parallel Programs · ACM Trans. Program. Lang. Syst. 1996 Lazy Code Motion · PLDI 1992 |
Compilers and program optimization
parallel program optimization |
0.0 | 1 | 1999 | Code Motion for Explicitly Parallel Programs · PPoPP 1999 |
Compilers and program optimization › code motion
lazy code motion |
0.0 | 2 | 1994 | Optimal Code Motion: Theory and Practice · ACM Trans. Program. Lang. Syst. 1994 Lazy Code Motion · PLDI 1992 |
Parallel and multicore computing › parallel computing
parallel program analysis |
0.0 | 1 | 1996 | Parallelism for Free: Efficient and Optimal Bitvector Analyses for Parallel Programs · ACM Trans. Program. Lang. Syst. 1996 |
Compilers and program optimization
dead code elimination |
0.0 | 1 | 1994 | Partial Dead Code Elimination · PLDI 1994 |
Compilers and program optimization › dead code elimination
partial dead code elimination |
0.0 | 1 | 1994 | Partial Dead Code Elimination · PLDI 1994 |
Concurrent programming › concurrency semantics
interleaving semantics |
0.0 | 1 | 1999 | Code Motion for Explicitly Parallel Programs · PPoPP 1999 |
Concurrent programming
synchronization |
0.0 | 1 | 1999 | Code Motion for Explicitly Parallel Programs · PPoPP 1999 |
Methods — techniques the papers use, named apart from their topics
redundancy elimination · 0.1dead code elimination · 0.1bitvector dataflow analysis · 0.0dataflow analysis · 0.0data flow analysis · 0.0correctness reasoning · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2017 | Replacing conjectures by positive knowledge: Inferring proven precise worst-case execution time bounds using symbolic execution
Jens Knoop, Laura Kovács, Jakob Zwirchmayr |
J. Symb. Comput. | 1 |
| 2015 | T-CREST: Time-predictable multi-core architecture for embedded systemsabstractReal-time systems need time-predictable platforms to allow static analysis of the worst-case execution time (WCET). Standard multi-core processors are optimized for the average case and are hardly analyzable. Within the T-CREST project we propose novel solutions for time-predictable multi-core architectures that are optimized for the WCET instead of the average-case execution time. The resulting time-predictable resources (processors, interconnect, memory arbiter, and memory controller) and tools (compiler, WCET analysis) are designed to ease WCET analysis and to optimize WCET performance. Compared to other processors the WCET performance is outstanding. The T-CREST platform is evaluated with two industrial use cases. An application from the avionic domain demonstrates that tasks executing on different cores do not interfere with respect to their WCET. A signal processing application from the railway domain shows that the WCET can be reduced for computation-intensive tasks when distributing the tasks on several cores and using the network-on-chip for communication. With three cores the WCET is improved by a factor of 1.8 and with 15 cores by a factor of 5.7. The T-CREST project is the result of a collaborative research and development project executed by eight partners from academia and industry. The European Commission funded T-CREST. Martin Schoeberl, Sahar Abbaspour, Benny Akesson, Neil C. Audsley, Raffaele Capasso, Jamie Garside, Kees Goossens, Sven Goossens, Scott Hansen, Reinhold Heckmann, Stefan Hepp, Benedikt Huber, Alexander Jordan, Evangelia Kasapaki, Jens Knoop, Yonghui Li 0002, Daniel Wiltsche-Prokesch, Wolfgang Puffitsch, Peter P. Puschner, André Rocha, Cláudio Silva 0002, Jens Sparsø, Alessandro Tocchi |
J. Syst. Archit. | 15 |
| 2014 | Model-Based Code-Generators and Compilers - Track Introduction
Uwe Aßmann, Jens Knoop, Wolf Zimmermann |
ISoLA (1) | 2 |
| 2013 | SmacC: A Retargetable Symbolic Execution Engine
Armin Biere, Jens Knoop, Laura Kovács, Jakob Zwirchmayr |
ATVA | 2 |
| 2013 | The T-CREST approach of compiler and WCET-analysis integrationabstractA good worst-case performance and the availability of high-quality bounds on the worst-case execution time (WCET) of tasks are central for the construction of hard realtime computer systems for safety-critical applications. Timing-predictability of the whole software/hardware system is a necessary prerequisite to achieve this. We show that a predictable architecture and the tight and seamless integration of compilation and WCET analysis is beneficial to achieve the initial two goals of good worst-case performance and the availability of high-quality bounds on the WCET of computation tasks. Information generated by the compiler improves the WCET analysis. Detailed timing feedback from the WCET analysis helps the compiler to reduce the worst case execution time. The paper describes the interface and the interaction between the industrial strength WCET analysis tool and the compiler as developed in the EU FP7 T-CREST project, and demonstrates the cooperation of these tools with an illustrative example. Peter P. Puschner, Daniel Wiltsche-Prokesch, Benedikt Huber, Jens Knoop, Stefan Hepp, Gernot Gebhard |
ISORC | 4 |
| 2013 | Practical experiences of applying source-level WCET flow analysis to industrial code
Björn Lisper, Andreas Ermedahl, Dietmar Schreiner, Jens Knoop, Peter Gliwa |
Int. J. Softw. Tools Technol. Transf. | 4 |
| 2013 | Comparison of type-based and alias-based component recognition for embedded systems software
Dietmar Schreiner, Gergö Barany, Markus Schordan, Jens Knoop |
Int. J. Softw. Tools Technol. Transf. | 4 |
| 2012 | Software Aspects of Robotic Systems
Jens Knoop, Dietmar Schreiner |
ISoLA (2) | 1 |
| 2012 | r-TuBound: Loop Bounds for WCET Analysis (Tool Paper)
Jens Knoop, Laura Kovács, Jakob Zwirchmayr |
LPAR | 1 |
| 2011 | Beyond loop bounds: comparing annotation languages for worst-case execution time analysisabstractWorst-case execution time (WCET) analysis is concerned with computing a precise-as-possible bound for the maximum time the execution of a program can take. This information is indispensable for developing safety-critical real-time systems, e. g., in the avionics and automotive fields. Starting with the initial works of Chen, Mok, Puschner, Shaw, and others in the mid and late 1980s, WCET analysis turned into a well-established and vibrant field of research and development in academia and industry. The increasing number and diversity of hardware and software platforms and the ongoing rapid technological advancement became drivers for the development of a wide array of distinct methods and tools for WCET analysis. The precision, generality, and efficiency of these methods and tools depend much on the expressiveness and usability of the annotation languages that are used to describe feasible and infeasible program paths. In this article we survey the annotation languages which we consider formative for the field. By investigating and comparing their individual strengths and limitations with respect to a set of pivotal criteria, we provide a coherent overview of the state of the art. Identifying open issues, we encourage further research. This way, our approach is orthogonal and complementary to a recent approach of Wilhelm et al. who provide a thorough survey of WCET analysis methods and tools that have been developed and used in academia and industry. Raimund Kirner, Jens Knoop, Adrian Prantl, Markus Schordan, Albrecht Kadlec |
Softw. Syst. Model. | 2 |
| 2010 | On the Role of Non-functional Properties in Compiler Verification
Jens Knoop, Wolf Zimmermann |
ISoLA (2) | 1 |
| 2010 | Practical Experiences of Applying Source-Level WCET Flow Analysis on Industrial Code
Björn Lisper, Andreas Ermedahl, Dietmar Schreiner, Jens Knoop, Peter Gliwa |
ISoLA (2) | 4 |
| 2010 | Scratchpad memory allocation for data aggregates via interval coloring in superperfect graphsabstractExisting methods place data or code in scratchpad memory (SPM) by relying on heuristics or resorting to integer programming or mapping it to a graph-coloring problem. In this article, the SPM allocation problem for arrays is formulated as an interval coloring problem. The key observation is that in many embedded C programs, two arrays can be modeled such that either their live ranges do not interfere or one contains the other (with good accuracy). As a result, array interference graphs often form a special class of superperfect graphs (known as comparability graphs), and their optimal interval colorings become efficiently solvable. This insight has led to the development of an SPM allocation algorithm that places arrays in an interference graph in SPM by examining its maximal cliques. If the SPM is no smaller than the clique number of an interference graph, then all arrays in the graph can be placed in SPM optimally. Otherwise, we rely on containment-motivated heuristics to split or spill array live ranges until the resulting graph is optimally colorable. We have implemented our algorithm in SUIF/machSUIF and evaluated it using a set of embedded C benchmarks from MediaBench and MiBench. Compared to a graph-coloring algorithm and an optimal ILP algorithm (when it runs to completion), our algorithm achieves close-to-optimal results and is superior to graph coloring for the benchmarks tested. Lian Li 0002, Jingling Xue, Jens Knoop |
ACM Trans. Embed. Comput. Syst. | 3 |
| 2009 | Adding Timing-Awareness to AUTOSAR Basic-Software -- A Component Based ApproachabstractAUTOSAR as specified in its current version fosters timing-constraints at application level to support the development of real-time automotive applications. However, the standard's actual specification does not consider any timing information for its basic software. In consequence, the over-all timing-behavior of software running at a specific system node can not be calculated and thus validated at development-time. Even worse, any exchange or modification of basic software modules induces unpredictable alteration in system timing, and may even lead to a severe miss of execution deadlines. Within this paper we solve this issue by using a component based basic software architecture, as much as timing-aware software composition for basic software components. We therefore introduce timing contracts as enhancement for existing interface contracts, specify a timing annotation language on a conceptual level, and demonstrate how to capitalize on our approach by calculating timings within composed basic software architectures at development time. Dietmar Schreiner, Markus Schordan, Jens Knoop |
ISORC | 3 |
| 2006 | A Fresh Look at PRE as a Maximum Flow Problem
Jingling Xue, Jens Knoop |
CC | 2 |
| 2004 | Optimizing for space and time usage with speculative partial redundancy eliminationabstractSpeculative partial redundancy elimination (SPRE) uses execution profiles to improve the expected performance of programs. We show how the problem of placing expressions to achieve the optimal expected performance can be mapped to a particular kind of network flow problem and hence solved by well known techniques. Our solution is sufficiently efficient to be used in practice. Furthermore, the objective function may be chosen so that reduction in space requirements is the primary goal and execution time is secondary. One surprising result that an explosion in size may occur if speed is the sole goal, and consideration of space usage is therefore important. Bernhard Scholz, R. Nigel Horspool, Jens Knoop |
LCTES | 3 |
| 2002 | Distribution Assignment Placement: Effective Optimization of Redistribution CostsabstractData locality and workload balance are key factors for getting high performance out of data-parallel programs on multiprocessor architectures. Data-parallel languages such as High-Performance Fortran (HPF) thus offer means allowing a programmer both to specify data distributions and to change them dynamically in order to maintain these properties. On the other hand, redistributions can be quite expensive and can significantly degrade a program's performance. They must thus be reduced to a minimum. In this article, we present a novel, aggressive approach for avoiding unnecessary remappings, which works by eliminating partially dead and partially redundant distribution changes. Basically, this approach evolves from extending and combining two algorithms for these optimizations, each achieving optimal results on its own. In distinction to the sequential setting, the data-parallel setting leads naturally to a family of algorithms of varying power and efficiency, allowing requirement-customized solutions. The power and flexibility of the new approach are demonstrated by various examples, which range from typical HPF fragments to real-world programs. Performance measurements underline its importance and show its effectiveness on different hardware platforms and in different settings. Jens Knoop, Eduard Mehofer |
IEEE Trans. Parallel Distributed Syst. | 1 |
| 2001 | Topic 04: Compilers for High Performance
Jens Knoop, Keshav Pingali, Michael F. P. O'Boyle |
Euro-Par | 1 |
| 2000 | Constant Propagation on the Value Graph: Simple Constants and Beyond
Jens Knoop, Oliver Rüthing |
CC | 1 |
| 2000 | Compilers for High Performance
Samuel P. Midkiff, Barbara M. Chapman, Jean-Francois Collard, Jens Knoop |
Euro-Par | 4 |
| 2000 | Sparse Code MotionabstractIn this article, we add a third dimension to partial redundancy elimination by considering code size as a further optimization goal in addition to the more classical consideration of computation costs and register pressure. This results in a family of sparse code motion algorithms coming as modular extensions of the algorithms for busy and lazy code motion. Each of them optimally captures a predefined choice of priority between these three optimization goals, e.g. code size can be minimized while (1) guaranteeing at least the performance of the argument program, or (2) even computational optimality. Each of them can further be refined to simultaneously reduce the lifetimes of temporaries to a minimum. These algorithms are well-suited for size-critical application areas like smart cards and embedded systems, as they provide a handle to control the code replication problem of classical code motion techniques. In fact, we believe that our systematic, priority-based treatment of trade-offs between optimization goals may substantially decrease development costs of size-critical applications: users may “play” with the priorities until the algorithm automatically delivers a satisfactory solution. Oliver Rüthing, Jens Knoop, Bernhard Steffen |
POPL | 2 |
| 2000 | Partial Redundancy Elimination on Predicated Code
Jens Knoop, Jean-Francois Collard, Roy Dz-Ching Ju |
SAS | 1 |
| 1999 | Expansion-Based Removal of Semantic Partial Redundancies
Jens Knoop, Oliver Rüthing, Bernhard Steffen |
CC | 1 |
| 1999 | Parallel Data-Flow Analysis of Explicitly Parallel Programs
Jens Knoop |
Euro-Par | 1 |
| 1999 | An Automata-Theoretic Approach to Interprocedural Data-Flow Analysis
Javier Esparza, Jens Knoop |
FoSSaCS | 2 |
| 1999 | Code Motion for Explicitly Parallel ProgramsabstractIn comparison to automatic parallelization, which is thoroughly studied in the literature [31, 33], classical analyses and optimizations of explicitly parallel programs were more or less neglected. This may be due to the fact that naive adaptations of the sequential techniques fail [24], and their straightforward correct ones have unacceptable costs caused by the interleavings, which manifest the possible executions of a parallel program. Recently, however, we showed that unidirectional bitvector analyses can be performed for parallel programs as easily and as efficiently as for sequential ones [17], a necessary condition for the successful transfer of the classical optimizations to the parallel setting.In this article we focus on possible subsequent code motion transformations, which turn out to require much more care than originally conjectured [17]. Essentially, this is due to the fact that interleaving semantics, although being adequate for correctness considerations, fails when it comes to reasoning about efficiency of parallel programs. This deficiency, however, can be overcome by strengthening the specific treatment of synchronization points. Jens Knoop, Bernhard Steffen |
PPoPP | 1 |
| 1999 | Detecting Equalities of Variables: Combining Efficiency with Precision
Oliver Rüthing, Jens Knoop, Bernhard Steffen |
SAS | 2 |
| 1999 | From DFA-Frameworks to DFA-Generators: A Unifying Multiparadigm Approach
Jens Knoop |
TACAS | 1 |
| 1998 | Cool: A Control-Flow Generator for System Analysis
Volker Braun, Jens Knoop, Dirk Koschützki |
CC | 2 |
| 1998 | Basic-Block Graphs: Living Dinosaurs?
Jens Knoop, Dirk Koschützki, Bernhard Steffen |
CC | 1 |
| 1998 | Code Motion and Code Placement: Just Synonyms?
Jens Knoop, Oliver Rüthing, Bernhard Steffen |
ESOP | 1 |
| 1998 | Parallel Constant Propagation
Jens Knoop |
Euro-Par | 1 |
| 1998 | Eliminating Partially Dead Code in Explicitly Parallel Programs
Jens Knoop |
Theor. Comput. Sci. | 1 |
| 1997 | Optimal Distribution Assignment Placement
Jens Knoop, Eduard Mehofer |
Euro-Par | 1 |
| 1996 | Non-monotone Fixpoint Iterations to Resolve Second Order Effects
Alfons Geser, Jens Knoop, Gerald Lüttgen, Oliver Rüthing, Bernhard Steffen |
CC | 2 |
| 1996 | Parallelism for Free: Efficient and Optimal Bitvector Analyses for Parallel ProgramsabstractWe consider parallel programs with shared memory and interleaving semantics, for which we show how to construct for unidirectional bitvector problems optimal analysis algorithms that are as efficient as their purely sequential counterparts and that can easily be implemented. Whereas the complexity result is rather obvious, our optimality result is a consequence of a new Kam/Ullman-style Coincidence Theorem. Thus using our method, the standard algorithms for sequential programs computing liveness, availability, very busyness, reaching definitions, definition-use chains, or the analyses for performing code motion, assignment motion, partial dead-code elimination or strength reduction, can straightforward be transferred to the parallel setting at almost no cost. Jens Knoop, Bernhard Steffen, Jürgen Vollmer 0001 |
ACM Trans. Program. Lang. Syst. | 1 |
| 1995 | The Fixpoint-Analysis Machine
Bernhard Steffen, Andreas Claßen, Marion Klein, Jens Knoop, Tiziana Margaria |
CONCUR | 4 |
| 1995 | The Power of Assignment MotionabstractAssignment motion (AM) and expression motion (EM) are the basis of powerful and at the first sight incomparable techniques for removing partially redundant code from a program. Whereas AM aims at the elimination of complete assignments, a transformation which is always desirable, the more flexible EM requires temporaries to remove partial redundancies. Based on the observation that a simple program transformation enhances AM to subsume EM, we develop an algorithm that for the first time captures all second order effects between AM and EM transformations. Under usual structural restrictions, the worst case time complexity of our algorithm is essentially quadratic, a fact which explains the promising experience with our implementation. Topics: data flow analysis, program optimization, partially redundant assignment and expression elimination, code motion, assignment motion, bit-vector data flow analyses. 1 Motivation A major source for improving the runtime efficiency of a program is... Jens Knoop, Oliver Rüthing, Bernhard Steffen |
PLDI | 1 |
| 1994 | Partial Dead Code EliminationabstractA new aggressive algorithm for the elimination of partially dead code is presented, i.e., of code which is only dead on some program paths. Besides being more powerful than the usual approaches to dead code elimination, this algorithm is optimal in the following sense: partially dead code remaining in the resulting program cannot be eliminated without changing the branching structure or the semantics of the program, or without impairing some program executions. Jens Knoop, Oliver Rüthing, Bernhard Steffen |
PLDI | 1 |
| 1994 | Optimal Code Motion: Theory and PracticeabstractAn implementation-oriented algorithm for lazy code motion is presented that minimizes the number of computations in programs while suppressing any unnecessary code motion in order to avoid superfluous register pressure. In particular, this variant of the original algorithm for lazy code motion works on flowgraphs whose nodes are basic blocks rather than single statements, since this format is standard in optimizing compilers. The theoretical foundations of the modified algorithm are given in the first part, where t -refined flowgraphs are introduced for simplifying the treatment of flow graphs whose nodes are basic blocks. The second part presents the “basic block” algorithm in standard notation and gives directions for its implementation in standard compiler environments. Jens Knoop, Oliver Rüthing, Bernhard Steffen |
ACM Trans. Program. Lang. Syst. | 1 |
| 1992 | The Interprocedural Coincidence Theorem
Jens Knoop, Bernhard Steffen |
CC | 1 |
| 1992 | Lazy Code MotionabstractWe present a bit-vector algorithm for the optimal and economical placement of computations within flow graphs, which is as efficient as standard uni-directional analyses. The point of our algorithm is the decomposition of the bi-directional structure of the known placement algorithms into a sequence of a backward and a forward analysis, which directly implies the efficiency result. Moreover, the new compositional structure opens the algorithm for modification: two further uni-directional analysis components exclude any unnecessary code motion. This laziness of our algorithm minimizes the register pressure, which has drastic effects on the run-time behaviour of the optimized programs in practice, where an economical use of registers is essential. Jens Knoop, Oliver Rüthing, Bernhard Steffen |
PLDI | 1 |
| 1991 | Finite Constants: Characterizations of a New Decidable Set of Constants
Bernhard Steffen, Jens Knoop |
Theor. Comput. Sci. | 2 |
| 1990 | The Value Flow Graph: A Program Representation for Optimal Program Transformations
Bernhard Steffen, Jens Knoop, Oliver Rüthing |
ESOP | 2 |
| 1989 | Finite Constants: Characterizations of a New Decidable Set of Constants
Bernhard Steffen, Jens Knoop |
MFCS | 2 |