EDBT 2026 Demo / reviewers in the wild / expert
Markus Völter
dblp:73/741 · also Markus Voelter
· DBLP profile ↗
32ranked-venue papers
17as first author
1since 2021 · last 2021
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 32 · 17 first-author · 1 since 2021Artificial intelligence and machine learning · 6 · 4 first-authorApplied, interdisciplinary, general and emerging computing · 6 · 4 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
6 papers |
Program analysis · 55% Requirements engineering and software design · 17% Programming languages and type systems · 13% | |
| Computer architecture, parallel and distributed computing, and storage systems
2 papers |
Embedded and real-time systems · 100% |
Topics — the 12 heaviest of 13, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program analysis › static analysis
incremental analysis |
0.6 | 2 | 2018 | Incrementalizing lattice-based program analyses in Datalog · Proc. ACM Program. Lang. 2018 IncA: a DSL for the definition of incremental program analyses · ASE 2016 |
Program analysis › static analysis
datalog-based analysis |
0.3 | 1 | 2018 | Incrementalizing lattice-based program analyses in Datalog · Proc. ACM Program. Lang. 2018 |
Program analysis › static analysis › abstract interpretation
lattice-based analysis |
0.3 | 1 | 2018 | Incrementalizing lattice-based program analyses in Datalog · Proc. ACM Program. Lang. 2018 |
Embedded and real-time systems › embedded software engineering
embedded software development |
0.3 | 2 | 2015 | Using C language extensions for developing embedded software: a case study · OOPSLA 2015 Language modularity with the MPS language workbench · ICSE 2012 |
Program analysis
data flow analysis |
0.2 | 1 | 2016 | An extensible framework for variable-precision data-flow analyses in MPS · ASE 2016 |
Empirical software engineering
developer studies |
0.2 | 1 | 2016 | Efficiency of projectional editing: a controlled experiment · SIGSOFT FSE 2016 |
Requirements engineering and software design
model-driven engineering |
0.2 | 1 | 2016 | Efficiency of projectional editing: a controlled experiment · SIGSOFT FSE 2016 |
Requirements engineering and software design
projectional editing |
0.2 | 1 | 2016 | Efficiency of projectional editing: a controlled experiment · SIGSOFT FSE 2016 |
Programming languages and type systems › language design
language extension |
0.2 | 1 | 2015 | Using C language extensions for developing embedded software: a case study · OOPSLA 2015 |
Program verification › code-level verification
c program verification |
0.2 | 1 | 2014 | Automated domain-specific C verification with mbeddr · ASE 2014 |
Programming languages and type systems
domain-specific languages |
0.1 | 2 | 2016 | IncA: a DSL for the definition of incremental program analyses · ASE 2016 An extensible framework for variable-precision data-flow analyses in MPS · ASE 2016 |
Program analysis › static analysis
pointer analysis |
0.1 | 1 | 2018 | Incrementalizing lattice-based program analyses in Datalog · Proc. ACM Program. Lang. 2018 |
Methods — techniques the papers use, named apart from their topics
lattice-value aggregation · 0.3DRedL algorithm · 0.3language workbench · 0.2domain-specific language · 0.2controlled experiment · 0.2domain-specific language engineering · 0.2bounded model checking · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2021 | Programming vs. That Thing Subject Matter Experts Do
Markus Völter |
ISoLA | 1 |
| 2019 | Shadow models: incremental transformations for MPSabstractShadow Models is an incremental transformation framework for MPS. The name is motivated by the realization that many analyses are easier to do on an model whose structure is different from what the user edits. To be able to run such analyses interactively in an IDE, these ``shadows'' of the user-facing model must be maintained in realtime, and incrementality can deliver the needed short response times. Shadow Models is an incremental model transformation engine for MPS. In the paper we motivate the system through example use cases, and outline the transformation framework. Markus Völter, Klaus Birken, Sascha Lisson, Alexander Rimer |
SLE | 1 |
| 2019 | Using language workbenches and domain-specific languages for safety-critical software development
Markus Völter, Bernd Kolb, Klaus Birken, Federico Tomassetti, Patrick Alff, Laurent Wiart, Andreas Wortmann 0001, Arne Nordmann |
Softw. Syst. Model. | 1 |
| 2019 | Lessons learned from developing mbeddr: a case study in language engineering with MPS
Markus Völter, Bernd Kolb, Tamás Szabó, Daniel Ratiu, Arie van Deursen |
Softw. Syst. Model. | 1 |
| 2018 | Fusing Modeling and Programming into Language-Oriented Programming - Our Experiences with MPS
Markus Völter |
ISoLA (1) | 1 |
| 2018 | Incrementalizing lattice-based program analyses in DatalogabstractProgram analyses detect errors in code, but when code changes frequently as in an IDE, repeated re-analysis from-scratch is unnecessary: It leads to poor performance unless we give up on precision and recall. Incremental program analysis promises to deliver fast feedback without giving up on precision or recall by deriving a new analysis result from the previous one. However, Datalog and other existing frameworks for incremental program analysis are limited in expressive power: They only support the powerset lattice as representation of analysis results, whereas many practically relevant analyses require custom lattices and aggregation over lattice values. To this end, we present a novel algorithm called DRedL that supports incremental maintenance of recursive lattice-value aggregation in Datalog. The key insight of DRedL is to dynamically recognize increasing replacements of old lattice values by new ones, which allows us to avoid the expensive deletion of the old value. We integrate DRedL into the analysis framework IncA and use IncA to realize incremental implementations of strong-update points-to analysis and string analysis for Java. As our performance evaluation demonstrates, both analyses react to code changes within milliseconds. Tamás Szabó, Gábor Bergmann, Sebastian Erdweg, Markus Völter |
Proc. ACM Program. Lang. | 4 |
| 2018 | Automated testing of DSL implementations - experiences from building mbeddr
Daniel Ratiu, Markus Völter, Domenik Pavletic |
Softw. Qual. J. | 2 |
| 2017 | Robust projectional editingabstractWhile contemporary projectional editors make sure that the edited programs conform to the programming language's metamodel, they do not enforce that they are also well-formed, that is, that they obey the well-formedness rules defined for the language. We show how, based on a constraint-based capture of well-formedness, projectional editors can be empowered to enforce well-formedness in much the same way they enforce conformance with the metamodel. The resulting robust edits may be more complex than ordinary, well-formedness breaking edits, and hence may require more user involvement; yet, maintaining well-formedness at all times ensures that necessary corrections of a program are linked to the edit that necessitated them, and that the projectional editor's services are never compromised by inconsistent programs. Robust projectional editing is not a straitjacket, however: If a programmer prefers to work without it, its constraint-based capture of well-formedness will still catch all introduced errors - unlike many other editor services, well-formedness checking and robust editing are based on the same implementation, and are hence guaranteed to behave consistently. Friedrich Steimann, Marcus Frenkel, Markus Völter |
SLE | 3 |
| 2016 | Modeling and Optimizing Automotive Electric/Electronic (E/E) Architectures: Towards Making Clafer Accessible to Practitioners
Eldar Khalilov, Jordan A. Ross, Michal Antkiewicz, Markus Völter, Krzysztof Czarnecki 0001 |
ISoLA (2) | 4 |
| 2016 | An extensible framework for variable-precision data-flow analyses in MPSabstractData-flow analyses are used as part of many software engineering tasks: they are the foundations of program under- standing, refactorings and optimized code generation. Similar to general-purpose languages (GPLs), state-of-the-art domain-specific languages (DSLs) also require sophisticated data-flow analyses. However, as a consequence of the different economies of DSL development and their typically relatively fast evolution, the effort for developing and evolving such analyses must be lowered compared to GPLs. This tension can be resolved with dedicated support for data-flow analyses in language workbenches. Tamás Szabó, Simon Alperovich, Markus Völter, Sebastian Erdweg |
ASE | 3 |
| 2016 | IncA: a DSL for the definition of incremental program analysesabstractProgram analyses support software developers, for example, through error detection, code-quality assurance, and by enabling compiler optimizations and refactorings. To provide real-time feedback to developers within IDEs, an analysis must run efficiently even if the analyzed code base is large. Tamás Szabó, Sebastian Erdweg, Markus Völter |
ASE | 3 |
| 2016 | Efficiency of projectional editing: a controlled experimentabstractProjectional editors are editors where a user's editing actions directly change the abstract syntax tree without using a parser. They promise essentially unrestricted language com position as well as flexible notations, which supports aligning languages with their respective domain and constitutes an essential ingredient of model-driven development. Such editors have existed since the 1980s and gained widespread attention with the Intentional Programming paradigm, which used projectional editing at its core. However, despite the benefits, programming still mainly relies on editing textual code, where projectional editors imply a very different -- typically perceived as worse -- editing experience, often seen as the main challenge prohibiting their widespread adoption. We present an experiment of code-editing activities in a projectional editor, conducted with 19 graduate computer-science students and industrial developers. We investigate the effects of projectional editing on editing efficiency, editing strategies, and error rates -- each of which we also compare to conventional, parser-based editing. We observe that editing is efficient for basic-editing tasks, but that editing strategies and typical errors differ. More complex tasks require substantial experience and a better understanding of the abstract-syntax-tree structure -- then, projectional editing is also efficient. We also witness a tradeoff between fewer typing mistakes and an increased complexity of code editing. Thorsten Berger, Markus Völter, Hans Peter Jensen, Taweesap Dangprasert, Janet Siegmund |
SIGSOFT FSE | 2 |
| 2016 | Efficient development of consistent projectional editors using grammar cells
Markus Völter, Tamás Szabó, Sascha Lisson, Bernd Kolb, Sebastian Erdweg, Thorsten Berger |
SLE | 1 |
| 2015 | Using C language extensions for developing embedded software: a case studyabstractWe report on an industrial case study on developing the embedded software for a smart meter using the C programming language and domain-specific extensions of C such as components, physical units, state machines, registers and interrupts. We find that the extensions help significantly with managing the complexity of the software. They improve testability mainly by supporting hardware-independent testing, as illustrated by low integration efforts. The extensions also do not incur significant overhead regarding memory consumption and performance. Our case study relies on mbeddr, an extensible version of C. mbeddr, in turn, builds on the MPS language workbench which supports modular extension of languages and IDEs. Markus Völter, Arie van Deursen, Bernd Kolb, Stephan Eberle |
OOPSLA | 1 |
| 2015 | Towards improving software security using language engineering and mbeddr CabstractThis paper explores the use of domain-specific languages for improving software security, which deals with developing software in a way that is not maliciously exploitable. Specifically we demonstrate how modular extension of the C programming language can help with technical and process-related aspects of software security. Some of these examples are already implemented, some are analytical extrapolations from related work we have done in the past; a detailed empirical evaluation has not yet been done. We rely on mbeddr, an extensible version of C developed with the JetBrains MPS language workbench. We conclude the paper with a discussion of the potential drawbacks of the approach and how these can be addressed in the future. Markus Völter, Zaur Molotnikov, Bernd Kolb |
DSM@SPLASH | 1 |
| 2015 | Evaluating and comparing language workbenches: Existing results and benchmarks for the future
Sebastian Erdweg, Tijs van der Storm, Markus Völter, Laurence Tratt, Remi Bosman, William R. Cook, Albert Gerritsen, Angelo Hulshout, Steven Kelly 0001, Alex Loh, Gabriël D. P. Konat, Pedro J. Molina, Martin Palatnik, Risto Pohjonen, Eugen Schindler, Klemens Schindler, Riccardo Solmi, Vlad A. Vergu, Eelco Visser, Kevin van der Vlist, Guido Wachsmuth, Jimi van der Woning |
Comput. Lang. Syst. Struct. | 3 |
| 2014 | Automated domain-specific C verification with mbeddrabstractWhen verifying C code, two major problems must be addressed. One is the specification of the verified systems properties, the other one is the construction of the verification environment. Neither C itself, nor existing C verification tools, offer the means to efficiently specify application domain-level properties and environments for verification. These two shortcomings hamper the usability of C verification, and limit its adoption in practice. In this paper we introduce an approach that addresses both problems and results in user-friendly and practically usable C verification. The novelty of the approach is the combination of domain-specific language engineering and C verification. We apply the approach in the domain of state-based software, using mbeddr and CBMC. We validate the implementation with an example from the Pacemaker Challenge, developing a functionally verified, lightweight, and deployable cardiac pulse generator. The approach itself is domain-independent. Zaur Molotnikov, Markus Völter, Daniel Ratiu |
ASE | 2 |
| 2014 | Feedback-Aware Requirements Documents for Smart Devices
Erik Kamsties, Fabian Kneer, Markus Völter, Burkhard Igel, Bernd Kolb |
REFSQ | 3 |
| 2014 | Towards User-Friendly Projectional Editors
Markus Völter, Janet Siegmund, Thorsten Berger, Bernd Kolb |
SLE | 1 |
| 2013 | A model-based approach to language integrationabstractThe interactions of several languages within a software system pose a number of problems. There is several anecdotal and empirical evidence supporting such concerns. This paper presents a solution to achieve proper language integration in the context of language workbenches and with limited effort. A simple example is presented to show how cross-language constraints can be addressed and the quality of the support attainable, which covers error-checking and refactoring. A research agenda is then presented, to support future work in the area of language integration, taking advantage of modern language workbenches features. Federico Tomassetti, Antonio Vetrò, Marco Torchiano, Markus Völter, Bernd Kolb |
MiSE | 4 |
| 2013 | The State of the Art in Language Workbenches - Conclusions from the Language Workbench Challenge
Sebastian Erdweg, Tijs van der Storm, Markus Völter, Meinte Boersma, Remi Bosman, William R. Cook, Albert Gerritsen, Angelo Hulshout, Steven Kelly 0001, Alex Loh, Gabriël D. P. Konat, Pedro J. Molina, Martin Palatnik, Risto Pohjonen, Eugen Schindler, Klemens Schindler, Riccardo Solmi, Vlad A. Vergu, Eelco Visser, Kevin van der Vlist, Guido Wachsmuth, Jimi van der Woning |
SLE | 3 |
| 2013 | mbeddr: instantiating a language workbench in the embedded software domain
Markus Völter, Daniel Ratiu, Bernd Kolb, Bernhard Schätz |
Autom. Softw. Eng. | 1 |
| 2012 | Language modularity with the MPS language workbenchabstractJetBrains MPS is a comprehensive environment for language engineering. New languages can be defined as standalone languages or as modular extensions of existing languages. Since MPS is a projectional editor, syntactic forms other than text are possible, including tables or mathematical symbols. This demo will show MPS based on mbeddr C, a novel approach for embedded software development that makes use of incremental language extension on the basis of C. Markus Völter, Vaclav Pech |
ICSE | 1 |
| 2012 | Approaches and Tools for Implementing Type Systems in Xtext
Lorenzo Bettini, Dietmar Stoll, Markus Völter, Serano Colameo |
SLE | 3 |
| 2011 | DSLs for Product Lines: Approaches, Tools, ExperiencesabstractDomain-Specific Languages are languages narrowly focused on a particular problem domain. Compared to feature models they are more expressive, but possibly not as easy to use. Compared to source code, they are usually simpler, more targeted and hence easier to use - although not quite as flexible. DSLs can play an important role in PLE, filling the gap between configuration via feature models and low-level programming. This tutorial covers approaches, tools and experiences of using DSLs in PLE. I will start with briefly introducing DSLs and their role in PLE. We will then look at a real-world DSL that has been used to describe a product line of electrical devices. We will then spend some time extending a DSL built with Eclipse Xtext to get some hands-on tool experience. Then we will look at another DSL, one for robot control, that integrates nicely with feature models. We will then finally spend some time extending a DSL build with JetBrains MPS, before we wrap up the tutorial. Markus Völter |
SPLC | 1 |
| 2011 | Product Line Engineering Using Domain-Specific LanguagesabstractThis paper investigates the application of domain-specific languages in product line engineering (PLE). We start by analyzing the limits of expressivity of feature models. Feature models correspond to context-free grammars without recursion, which prevents the expression of multiple instances and references. We then show how domain-specific languages (DSLs) can serve as a middle ground between feature modeling and programming. They can be used in cases where feature models are too limited, while keeping the separation between problem space and solution space provided by feature models. We then categorize useful combinations between configuration with feature model and construction with DSLs and provide an integration of DSLs into the conceptual framework of PLE. Finally we show how use of a consistent, unified formalism for models, code, and configuration can yield important benefits for managing variability and trace ability. We illustrate the concepts with several examples from industrial case studies. Markus Völter, Eelco Visser |
SPLC | 1 |
| 2010 | Embedded Software Development with Projectional Language Workbenches
Markus Völter |
MoDELS (2) | 1 |
| 2010 | Domain specific: a binary decision?abstractIt is often considered a binary decision whether something is domain specific or not. Consequently, there are domain specific languages (DSL) and general purpose languages (GPL), there are domain specific and non-domain specific modeling tools, there are domain specific and non-domain specific methodologies etc. In this paper we argue, that domain specificity is not a hard decision, but rather one extreme on a continuum. We also argue that many systems can be more efficiently described with a mix of domain specific and non-domain specific abstractions. This view of the world has consequences for languages, tools and methodologies, specifically the ability to modularize and compose languages. Additionally we outline these consequences and provide an extensive example based on embedded systems. Markus Völter, Bernhard Merkle |
DSM@SPLASH | 1 |
| 2009 | 1st International Workshop on Model-driven Approaches in Software Product Line Engineering: (MAPLE 2009)
Goetz Botterweck, Iris Groher, Andreas Polzer, Christa Schwanninger, Steffen Thiel, Markus Völter |
SPLC | 6 |
| 2009 | Using domain specific languages for product line engineering
Markus Völter |
SPLC | 1 |
| 2008 | Integrating Models and Aspects into Product Line EngineeringabstractThis demonstration presents an approach that facilitates variability implementation, management, and tracing from architectural modeling to implementation. A tool suite is provided that integrates aspect-oriented and model-driven software development into product line engineering. Iris Groher, Markus Völter, Christa Schwanninger |
SPLC | 2 |
| 2007 | Product Line Implementation using Aspect-Oriented and Model-Driven Software DevelopmentabstractSoftware product line engineering aims to reduce development time, effort, cost, and complexity by taking advantage of the commonality within a portfolio of similar products. The effectiveness of a software product line approach directly depends on how well feature variability within the portfolio is implemented and managed throughout the development lifecycle, from early analysis through maintenance and evolution. This paper presents an approach that facilitates variability implementation, management and tracing by integrating model-driven and aspect-oriented software development. Features are separated in models and composed by aspect-oriented composition techniques on model level. Model transformations support the transition from problem to solution domain. Aspect-oriented techniques enable the explicit expression and modularization of variability on model, code, and template level The presented concepts are illustrated with a case study of a home automation system. Markus Völter, Iris Groher |
SPLC | 1 |