Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Sebastian Buchwald is active.

Publication


Featured researches published by Sebastian Buchwald.


Software and Systems Modeling | 2014

Graph and model transformation tools for model migration

Louis M. Rose; Markus Herrmannsdoerfer; Steffen Mazanek; Pieter Van Gorp; Sebastian Buchwald; Tassilo Horn; Elina Kalnina; Andreas Koch; Kevin Lano; Bernhard Schätz; Manuel Wimmer

We describe the results of the Transformation Tool Contest 2010 workshop, in which nine graph and model transformation tools were compared for specifying model migration. The model migration problem—migration of UML activity diagrams from version 1.4 to version 2.2—is non-trivial and practically relevant. The solutions have been compared with respect to several criteria: correctness, conciseness, understandability, appropriateness, maturity and support for extensions to the core migration task. We describe in detail the comparison method, and discuss the strengths and weaknesses of the solutions with a special focus on the differences between graph and model transformation for model migration. The comparison results demonstrate tool and language features that strongly impact the efficacy of solutions, such as support for retyping of model elements. The results are used to motivate an agenda for future model migration research (including suggestions for areas in which the tools need to be further improved).


International Journal on Software Tools for Technology Transfer | 2010

GrGen.NET: The expressive, convenient and fast graph rewrite system

Edgar Jakumeit; Sebastian Buchwald; Moritz Kroll

GrGen.NET is a generative programming system for graph rewriting, transforming intuitive and expressive rewrite rule specifications into highly efficient .NET code. The user is supported by a convenient environment consisting of a graph viewer, an interactive shell with integrated debugging support, and an elegant domain-specific language for the combination of rewrite rules. After rapid prototyping with these tools, the resulting graph transformation programmes can be easily integrated into arbitrary .NET applications to serve as the algorithmic kernel. Expressiveness, convenience, and speed are exemplified by GrGen-solutions to the case studies AntWorld, Refactoring, and Conference Scheduling—besides others.


Science of Computer Programming | 2014

A survey and comparison of transformation tools based on the transformation tool contest

Edgar Jakumeit; Sebastian Buchwald; Dennis Wagelaar; Li Dan; Ábel Hegedüs; Markus Herrmannsdörfer; Tassilo Horn; Elina Kalnina; Christian Krause; Kevin Lano; Markus Lepper; Arend Rensink; Louis M. Rose; Sebastian Wätzoldt; Steffen Mazanek

Model transformation is one of the key tasks in model-driven engineering and relies on the efficient matching and modification of graph-based data structures; its sibling graph rewriting has been used to successfully model problems in a variety of domains. Over the last years, a wide range of graph and model transformation tools have been developed - all of them with their own particular strengths and typical application domains. In this paper, we give a survey and a comparison of the model and graph transformation tools that participated at the Transformation Tool Contest 2011. The reader gains an overview of the field and its tools, based on the illustrative solutions submitted to a Hello World task, and a comparison alongside a detailed taxonomy. The article is of interest to researchers in the field of model and graph transformation, as well as to software engineers with a transformation task at hand who have to choose a tool fitting to their needs. All solutions referenced in this article provide a SHARE demo. It supported the peer-review process for the contest, and now allows the reader to test the tools online.


compiler construction | 2015

Optgen: A Generator for Local Optimizations

Sebastian Buchwald

Every compiler comes with a set of local optimization rules, such as x + 0 → x and x & x → x, that do not require any global analysis. These rules reflect the wisdom of the compiler developers about mathematical identities that hold for the operations of their intermediate representation. Unfortunately, these sets of hand-crafted rules guarantee neither correctness nor completeness. Optgen solves this problem by generating all local optimizations up to a given cost limit. Since Optgen verifies each rule using an SMT solver, it guarantees correctness and completeness of the generated rule set. Using Optgen, we tested the latest versions of gcc, icc and llvm and identified more than 50 missing local optimizations that involve only two operations.


compiler construction | 2013

Simple and efficient construction of static single assignment form

Matthias Braun; Sebastian Buchwald; Sebastian Hack; Roland Leißa; Christoph Mallon; Andreas Zwinkau

We present a simple SSA construction algorithm, which allows direct translation from an abstract syntax tree or bytecode into an SSA-based intermediate representation. The algorithm requires no prior analysis and ensures that even during construction the intermediate representation is in SSA form. This allows the application of SSA-based optimizations during construction. After completion, the intermediate representation is in minimal and pruned SSA form. In spite of its simplicity, the runtime of our algorithm is on par with Cytron et al.s algorithm.


TTC | 2011

Compiler Optimization: A Case for the Transformation Tool Contest

Sebastian Buchwald; Edgar Jakumeit

An optimizing compiler consists of a front end parsing a textual programming language into an intermediate representation (IR), a middle end performing optimizations on the IR, and a back end lowering the IR to a target representation (TR) built of operations supported by the target hardware. In modern compiler construction graph-based IRs are employed. Optimization and lowering tasks can then be implemented with graph transformation rules. This case provides two compiler tasks to evaluate the participating tools regarding performance.


compilers, architecture, and synthesis for embedded systems | 2010

Instruction selection by graph transformation

Sebastian Buchwald; Andreas Zwinkau

Common generated instruction selections are based on tree pattern matching, but modern and custom architectures feature instructions, which cannot be covered by trees. To overcome this limitation, we are the first to employ graph transformation, the natural generalization of tree rewriting. Currently, the only approach allowing us to pair graph-based instruction selection with linear time complexity is the mapping to the Partitioned Boolean Quadratic Problem (PBQP). We present formal foundations to verify this approach and therewith identify two problems of the common method and resolve them. We confirm the capabilities of PBQP-based instruction selection by a comparison with a finely-tuned hand-written instruction selection.


compiler construction | 2011

SSA-based register allocation with PBQP

Sebastian Buchwald; Andreas Zwinkau; Thomas Bersch

Recent research shows that maintaining SSA form allows to split register allocation into separate phases: spilling, register assignment and copy coalescing. After spilling, register assignment can be done in polynomial time, but copy coalescing is NP-complete. In this paper we present an assignment approach with integrated copy coalescing, which maps the problem to the Partitioned Boolean Quadratic Problem (PBQP). Compared to the state-of-the-art recoloring approach, this reduces the relative number of swap and copy instructions for the SPEC CINT2000 benchmark to 99.6% and 95.2%, respectively, while taking 19% less time for assignment and coalescing.


compiler construction | 2016

Verified construction of static single assignment form

Sebastian Buchwald; Denis Lohner; Sebastian Ullrich

Modern compilers use intermediate representations in static single assignment (SSA) form, which simplifies many optimizations. However, the high implementation complexity of efficient SSA construction algorithms poses a challenge to verified compilers. In this paper, we consider a variant of the recent SSA construction algorithm by Braun et al. that combines simplicity and efficiency, and is therefore a promising candidate to tackle this challenge. We prove the correctness of the algorithm using the theorem prover Isabelle/HOL. Furthermore, we prove that the algorithm constructs pruned SSA form and, in case of a reducible control flow graph, minimal SSA form. To the best of our knowledge, these are the first formal proofs regarding the quality of an SSA construction algorithm. Finally, we replace the SSA construction of the CompCertSSA project with code extracted by Isabelles code generator to demonstrate the applicability to real world programs.


TTC | 2011

Saying Hello World with GrGen.NET - A Solution to the TTC 2011 Instructive Case

Sebastian Buchwald; Edgar Jakumeit

We introduce the graph transformation tool GrGen.NET (www.grgen.net) by solving the Hello World Case of the Transformation Tool Contest 2011 which consists of a collection of small transformation tasks; for each task a section is given explaining our implementation.

Collaboration


Dive into the Sebastian Buchwald's collaboration.

Top Co-Authors

Avatar

Andreas Zwinkau

Karlsruhe Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Edgar Jakumeit

Karlsruhe Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Manuel Mohr

Karlsruhe Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Matthias Braun

Karlsruhe Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Moritz Kroll

Karlsruhe Institute of Technology

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Tassilo Horn

University of Koblenz and Landau

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge