VLDB 2026 Research / reviewers in the wild / expert
Michael Lienhardt
dblp:38/2487
· DBLP profile ↗
31ranked-venue papers
9as first author
6since 2021 · last 2026
0009-0009-9635-5757ORCID · reported
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 28 · 9 first-author · 5 since 2021Theory of computation · 9 · 2 first-author · 2 since 2021Artificial intelligence and machine learning · 1Applied, interdisciplinary, general and emerging computing · 1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | Automatic Memory Management for DataflowsabstractAbstract Memory management in High Performance Computing (HPC) is a very important topic, as slow reads and writes can add an important overhead to the execution of an HPC application. In particular, to take advantage of the vectorization capabilities and cache capacities of the hardware, many of such applications are designed to align their data in a certain way or to perform some operations inplace. However, ensuring that the data are correctly aligned and that the inplace operations do not create data-races is a manual and difficult task. Moreover, many HPC applications are configurable and their data and computation may vary at every run: in this context, it is often impossible to manually ensure optimal memory management. This paper proposes an approach that automatically generates a correct memory management with minimal overhead. Our approach is based on the dataflow computation model, and considers both data alignment constraints and inplace operations. We prove that the problem solved in this paper is NP-hard, and that our approach is sound and complete. Michael Lienhardt |
FM (1) | 1 |
| 2024 | Product lines of dataflowsabstractData-centric parallel programming models such as dataflows are well established to implement complex concurrent software. However, in a context of a configurable software, the dataflow used in its computation might vary with respect to the selected options: this happens in particular in fields such as Computational Fluid Dynamics (CFD), where the shape of the domain in which the fluid flows and the equations used to simulate the flow are all options configuring the dataflow to execute. In this paper, we present an approach to implement product lines of dataflows, based on Delta-Oriented Programming (DOP) and term rewriting. This approach includes several analyses to check that all dataflows of a product line can be generated. Moreover, we discuss a prototype implementation of the approach and demonstrate its feasibility in practice. Michael Lienhardt, Maurice H. ter Beek, Ferruccio Damiani |
J. Syst. Softw. | 1 |
| 2023 | Variability modulesabstractA Software Product Line (SPL) is a family of similar programs, called variants, generated from a common artifact base. A Multi SPL (MPL) is a set of interdependent SPLs: each variant can depend on variants from other SPLs. MPLs are challenging to model and to implement efficiently, especially when different variants of the same SPL must coexist and interoperate. We address this challenge by introducing the concept of a variability module (VM), a new language construct. A VM constitutes at the same time a module and an SPL of standard (variability-free), possibly interdependent, modules. Generating a variant of a VM triggers the generation of all variants required to satisfy its dependencies. Consequentially, a set of interdependent VMs represents an MPL that can be compiled into a set of standard modules. We illustrate the VM concept with an example from an industrial modeling scenario and formalize it in a core calculus. We define family-based analyses to check that a VM satisfies certain well-formedness conditions and whether all variants can be generated. Finally, we provide an implementation of VM for the Java-like modeling language ABS, and evaluate it with case studies. Ferruccio Damiani, Reiner Hähnle, Eduard Kamburjan, Michael Lienhardt, Luca Paolini |
J. Syst. Softw. | 4 |
| 2022 | Efficient static analysis and verification of featured transition systemsabstractAbstract A Featured Transition System (FTS) models the behaviour of all products of a Software Product Line (SPL) in a single compact structure, by associating action-labelled transitions with features that condition their presence in product behaviour. It may however be the case that the resulting featured transitions of an FTS cannot be executed in any product (so called dead transitions) or, on the contrary, can be executed in all products (so called false optional transitions). Moreover, an FTS may contain states from which a transition can be executed only in some products (so called hidden deadlock states). It is useful to detect such ambiguities and signal them to the modeller, because dead transitions indicate an anomaly in the FTS that must be corrected, false optional transitions indicate a redundancy that may be removed, and hidden deadlocks should be made explicit in the FTS to improve the understanding of the model and to enable efficient verification—if the deadlocks in the products should not be remedied in the first place. We provide an algorithm to analyse an FTS for ambiguities and a means to transform an ambiguous FTS into an unambiguous one. The scope is twofold: an ambiguous model is typically undesired as it gives an unclear idea of the SPL and, moreover, an unambiguous FTS can efficiently be model checked. We empirically show the suitability of the algorithm by applying it to a number of benchmark SPL examples from the literature, and we show how this facilitates a kind of family-based model checking of a wide range of properties on FTSs. Maurice H. ter Beek, Ferruccio Damiani, Michael Lienhardt, Franco Mazzanti, Luca Paolini |
Empir. Softw. Eng. | 3 |
| 2022 | FTS4VMC: A front-end tool for static analysis and family-based model checking of FTSs with VMC
Maurice H. ter Beek, Ferruccio Damiani, Michael Lienhardt, Franco Mazzanti, Luca Paolini, Giordano Scarso |
Sci. Comput. Program. | 3 |
| 2022 | On logical and extensional characterizations of attributed feature models
Ferruccio Damiani, Michael Lienhardt, Luca Paolini |
Theor. Comput. Sci. | 2 |
| 2020 | Lazy product discovery in huge configuration spacesabstractHighly-configurable software systems can have thousands of interdependent configuration options across different subsystems. In the resulting configuration space, discovering a valid product configuration for some selected options can be complex and error prone. The configuration space can be organized using a feature model, fragmented into smaller interdependent feature models reflecting the configuration options of each subsystem. Michael Lienhardt, Ferruccio Damiani, Einar Broch Johnsen, Jacopo Mauro |
ICSE | 1 |
| 2020 | On Two Characterizations of Feature Models
Ferruccio Damiani, Michael Lienhardt, Luca Paolini |
ICTAC | 2 |
| 2020 | On Slicing Software Product Line Signatures
Ferruccio Damiani, Michael Lienhardt, Luca Paolini |
ISoLA (1) | 2 |
| 2019 | Summary of: On Checking Delta-Oriented Software Product Lines of Statecharts
Michael Lienhardt, Ferruccio Damiani, Lorenzo Testa, Gianluca Turin |
IFM | 1 |
| 2019 | A formal model for Multi Software Product Lines
Ferruccio Damiani, Michael Lienhardt, Luca Paolini |
Sci. Comput. Program. | 2 |
| 2019 | Automatic refactoring of delta-oriented SPLs to remove-free form and replace-free form
Ferruccio Damiani, Michael Lienhardt, Luca Paolini |
Int. J. Softw. Tools Technol. Transf. | 2 |
| 2018 | Interoperability of software product line variantsabstractSoftware Product Lines are an established mechanism to describe multiple variants of one software product. Current approaches however, do not offer a mechanism to support the use of multiple variants from one product line in the same application. We experienced the need for such a mechanism in an industry project with German Railways where we do not merely model a highly variable system, but a system with highly variable subsystems. We present the design challenges that arise when software product lines have to support the use of multiple variants in the same application, in particular: How to reference multiple variants, how to manage multiple variants to avoid name clashes, and how to keep multiple variants interoperable. Ferruccio Damiani, Reiner Hähnle, Eduard Kamburjan, Michael Lienhardt |
SPLC | 4 |
| 2018 | On checking delta-oriented product lines of statecharts
Michael Lienhardt, Ferruccio Damiani, Lorenzo Testa, Gianluca Turin |
Sci. Comput. Program. | 1 |
| 2017 | A Unified and Formal Programming Model for Deltas and Traits
Ferruccio Damiani, Reiner Hähnle, Eduard Kamburjan, Michael Lienhardt |
FASE | 4 |
| 2017 | An Extension of the ABS Toolchain with a Mechanism for Type Checking SPLs
Ferruccio Damiani, Michael Lienhardt, Radu Muschevici, Ina Schaefer |
IFM | 2 |
| 2017 | Static analysis of cloud elasticity
Abel Garcia, Cosimo Laneve, Michael Lienhardt |
Sci. Comput. Program. | 3 |
| 2016 | On Type Checking Delta-Oriented Product Lines
Ferruccio Damiani, Michael Lienhardt |
IFM | 2 |
| 2016 | Refactoring Delta-Oriented Product Lines to Enforce Guidelines for Efficient Type-Checking
Ferruccio Damiani, Michael Lienhardt |
ISoLA (2) | 2 |
| 2016 | A framework for deadlock detection in core ABS
Elena Giachino, Cosimo Laneve, Michael Lienhardt |
Softw. Syst. Model. | 3 |
| 2015 | Automatic Application Deployment in the Cloud: from Practice to Theory and Back (Invited Paper)abstractThe problem of deploying a complex software application has been formally investigated in previous work by means of the abstract component model named Aeolus. As the problem turned out to be undecidable, simplified versions of the model were investigated in which decidability was restored by introducing limitations on the ways components are described. In this paper, we take an opposite approach, and investigate the possibility to address a relaxed version of the deployment problem without limiting the expressiveness of the component model. We identify three problems to be solved in sequence: (i) the verification of the existence of a final configuration in which all the constraints imposed by the single components are satisfied, (ii) the generation of a concrete configuration satisfying such constraints, and (iii) the synthesis of a plan to reach such a configuration possibly going through intermediary configurations that violate the non-functional constraints. Roberto Di Cosmo, Michael Lienhardt, Jacopo Mauro, Stefano Zacchiroli, Gianluigi Zavattaro, Jakub Zwolakowski |
CONCUR | 2 |
| 2015 | Static analysis of cloud elasticityabstractWe propose a static analysis technique that computes upper bounds of virtual machine usages in a concurrent language with explicit acquire and release operations of virtual machines. In our language it is possible to delegate other (ad-hoc or third party) concurrent code to release virtual machines (by passing them as arguments of invocations). Our technique is modular and consists of (i) a type system associating programs with behavioural types that records relevant information for resource usage (creations, releases, and concurrent operations), (ii) a translation function that takes behavioural types and return cost equations, and (iii) an automatic off-the-shelf solver for the cost equations. A soundness proof of the type system establishes the correctness of our technique with respect to the cost equations. We have experimentally evaluated our technique using a cost analysis solver and we report some results. The experiments show that our analysis allows us to derive bounds for programs that are better than other techniques, such as those based on amortized analysis. Abel Garcia, Cosimo Laneve, Michael Lienhardt |
PPDP | 3 |
| 2014 | Fault Model Design Space for Cooperative Concurrency
Ivan Lanese, Michael Lienhardt, Mario Bravetti, Einar Broch Johnsen, Rudolf Schlatte, Volker Stolz, Gianluigi Zavattaro |
ISoLA (2) | 2 |
| 2014 | Automated synthesis and deployment of cloud applicationsabstractComplex networked applications are assembled by connecting software components distributed across multiple machines. Building and deploying such systems is a challenging problem which requires a significant amount of expertise: the system architect must ensure that all component dependencies are satisfied, avoid conflicting components, and add the right amount of component replicas to account for quality of service and fault-tolerance. In a cloud environment, one also needs to minimize the virtual resources provisioned upfront, to reduce the cost of operation. Once the full architecture is designed, it is necessary to correctly orchestrate the deployment phase, to ensure all components are started and connected in the right order. Roberto Di Cosmo, Michael Lienhardt, Ralf Treinen, Stefano Zacchiroli, Jakub Zwolakowski, Antoine Eiche, Alexis Agahi |
ASE | 2 |
| 2013 | Concurrent Flexible Reversibility
Ivan Lanese, Michael Lienhardt, Claudio Antares Mezzina, Alan Schmitt, Jean-Bernard Stefani |
ESOP | 2 |
| 2013 | Deadlock Analysis of Concurrent Objects: Theory and Practice
Elena Giachino, Carlo Augusto Grazia, Cosimo Laneve, Michael Lienhardt, Peter Y. H. Wong |
IFM | 4 |
| 2013 | A Type System for Components
Ornela Dardha, Elena Giachino, Michael Lienhardt |
SEFM | 3 |
| 2012 | An Object Group-Based Component Model
Michael Lienhardt, Mario Bravetti, Davide Sangiorgi |
ISoLA (1) | 1 |
| 2012 | Conflict Detection in Delta-Oriented Programming
Michael Lienhardt, Dave Clarke 0001 |
ISoLA (1) | 1 |
| 2008 | Typing communicating component assemblagesabstractBuilding complex component-based software architectures can lead to subtle assemblage errors. In this paper, we introduce a type-system-based approach to avoid message handling errors when assembling component-based communication systems. Such errors are not captured by classical type systems of host programming languages such as Java or ML. Our approach relies on the definition of a small process calculus that captures the operational essence of our target component-based framework for communication systems, and on the definition of a novel type system that combines row types with process types. Michael Lienhardt, Alan Schmitt, Jean-Bernard Stefani |
GPCE | 1 |
| 2007 | Oz/K: a kernel language for component-based open programmingabstractProgramming in an open environment remains challenging because it requires combining modularity, security, concurrency, distribution, and dynamicity. In this paper, we propose an approach to open distributed programming that exploits the notion of locality, which has been used in the past decade as a basis for several distributed process calculi such as Mobile Ambients, Dπ, and Seal. We use the locality concept as a form of component that serves as a unit of modularity, of isolation, and of passivation. Specifically, we introduce in this paper Oz/K, a kernel programming language, that adds to the Oz computation model a notion of locality borrowed from the Kell calculus. We present an operational semantics for the language and several examples to illustrate how Oz/K supports open distributed programming. Michael Lienhardt, Alan Schmitt, Jean-Bernard Stefani |
GPCE | 1 |