VLDB 2026 Research / reviewers in the wild / expert
Michalis Famelis
dblp:82/11109 · also Michail Famelis
· DBLP profile ↗
25ranked-venue papers
8as first author
8since 2021 · last 2026
0000-0003-3545-0274ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 23 · 8 first-author · 7 since 2021Artificial intelligence and machine learning · 1Databases, data management, data science and information retrieval · 1 · 1 since 2021Human-computer interaction and ubiquitous computing · 1 · 1 since 2021Theory of computation · 1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | Metaphors for Memory: Charting a Design Space of AI Memory Tools and InterfacesabstractAI memory is becoming central to AI systems that aim to support personal and professional work. Yet, designing interfaces for AI memory is not well understood. How should we design for user interaction with AI memories—for instance, what kinds of operations might users want to perform on memory, either now or in the future? We survey the design of tools and interfaces around “AI memory” to chart a design space of common design patterns, architectures, and operations, and identify dominant metaphors and gaps in the space. Then, we apply generative metaphorical design to expand the design space for AI memory, exploring less-dominant metaphors of software version control, Zettelkasten, requirements, personal diaries, community archives, cultural probes, and science fiction. Our work offers rich opportunities for gaps and emergent needs that future interfaces for AI memory might address. Munyeong Kim, Michalis Famelis, Ian Arawjo |
DIS | 2 |
| 2025 | CoMRAT: Commit Message Rationale Analysis ToolabstractIn collaborative open-source development, the rationale for code changes is often captured in commit messages, making them a rich source of valuable information. However, research on rationale in commit messages remains limited. In this paper, we present CoMRAT, a tool for analyzing decision and rationale sentences rationale in commit messages. CoMRAT enables a) researchers to produce metrics and analyses on rationale information in any Github module, and b) developers to check the amount of rationale in their commit messages. A preliminary evaluation suggests the tool’s usefulness and usability in both these research and development contexts. Mouna Dhaouadi, Bentley Oakes, Michalis Famelis |
MSR | 3 |
| 2024 | Rationale Dataset and Analysis for the Commit Messages of the Linux Kernel Out-of-Memory KillerabstractCode commit messages can contain useful information on why a developer has made a change. However, the presence and structure of rationale in real-world code commit messages is not well studied. Here, we detail the creation of a labelled dataset to analyze the code commit messages of the Linux Kernel Out-Of-Memory Killer component. We study aspects of rationale information, such as presence, temporal evolution, and structure. We find that 98.9% of commits in our dataset contain sentences with rationale information, and that experienced developers report rationale in about 60% of the sentences in their commits. We report on the challenges we faced and provide examples for our labelling. Mouna Dhaouadi, Bentley Oakes, Michalis Famelis |
ICPC | 3 |
| 2024 | EpiMDE: A-Model Driven Engineering Platform for Epidemiological ModelingabstractModeling is a critical step in studying epidemics. It allows us to better understand and predict the progression of a disease, design interventions such as vaccination, and assess their impact. Current epidemics are modeled using compartmental and mathematical models. While these are enough to achieve the primary goal of modeling, they suffer from shortcomings with respect to communicating and sharing the models, comparison and validation, and reproducibility. In this work, we propose the use of model-driven software engineering principles, to better represent disease models and facilitate the model management operations. We present an extensible metamodel for epidemics and an integrated development environment to allow epidemiologists to create and manage their models and simulations. We present the use of our platform on a COVID-19 model, where we show that the resulting model is more concise yet structurally and functionally equivalent to the original. Bruno Curzi-Laliberté, Marios Fokaefs, Michalis Famelis, Mohammad Hamdaqa |
MODELS | 3 |
| 2024 | Building Domain-Specific Machine Learning Workflows: A Conceptual Framework for the State of the PracticeabstractDomain experts are increasingly employing machine learning to solve their domain-specific problems. This article presents six key challenges that a domain expert faces in transforming their problem into a computational workflow, and then into an executable implementation. These challenges arise out of our conceptual framework which presents the "route" of options that a domain expert may choose to take while developing their solution. To ground our conceptual framework in the state-of-the-practice, this article discusses a selection of available textual and graphical workflow systems and their support for these six challenges. Case studies from the literature in various domains are also examined to highlight the tools used by the domain experts as well as a classification of the domain-specificity and machine learning usage of their problem, workflow, and implementation. The state-of-the-practice informs our discussion of the six key challenges, where we identify which challenges are not sufficiently addressed by available tools. We also suggest possible research directions for software engineering researchers to increase the automation of these tools and disseminate best-practice techniques between software engineering and various scientific domains. Bentley Oakes, Michalis Famelis, Houari Sahraoui |
ACM Trans. Softw. Eng. Methodol. | 2 |
| 2022 | Fine-Grained Analysis of Similar Code Snippets
Jessie Galasso, Michalis Famelis, Houari Sahraoui |
ICSR | 2 |
| 2022 | End-to-End Rationale ReconstructionabstractThe logic behind design decisions, called design rationale, is very valuable. In the past, researchers have tried to automatically extract and exploit this information, but prior techniques are only applicable to specific contexts and there is insufficient progress on an end-to-end rationale information extraction pipeline. Here we outline a path towards such a pipeline that leverages several Machine Learning (ML) and Natural Language Processing (NLP) techniques. Our proposed context-independent approach, called Kantara, produces a knowledge graph representation of decisions and of their rationales, which considers their historical evolution and traceability. We also propose validation mechanisms to ensure the correctness of the extracted information and the coherence of the development process. We conducted a preliminary evaluation of our proposed approach on a small example sourced from the Linux Kernel, which shows promising results. Mouna Dhaouadi, Bentley Oakes, Michalis Famelis |
ASE | 3 |
| 2021 | Locating Latent Design Information in Developer Discussions: A Study on Pull RequestsabstractA software system's design determines many of its properties, such as maintainability and performance. An understanding of design is needed to maintain system properties as changes to the system occur. Unfortunately, many systems do not have up-to-date design documentation and approaches that have been developed to recover design often focus on how a system works by extracting structural and behaviour information rather than information about the desired design properties, such as robustness or performance. In this paper, we explore whether it is possible to automatically locate where design is discussed in on-line developer discussions. We investigate and introduce a classifier that can locate paragraphs in pull request discussions that pertain to design with an average AUC score of 0.87. We show that this classifier, when applied to projects on which it was not trained, agrees with the identification of design points by humans with an average AUC score of 0.79. We describe how this classifier could be used as the basis of tools to improve such tasks as reviewing code and implementing new features. Giovanni Viviani, Michalis Famelis, Xin Xia 0001, Calahan Janik-Jones, Gail C. Murphy |
IEEE Trans. Software Eng. | 2 |
| 2020 | Can Refactorings Indicate Design Tradeoffs?abstractRefactoring does not always improve monotonically the quality of software. In this exploratory study, we analyze the revision history of JFreechart to see if fluctuations in internal quality metrics in commits containing refactoring can be used as indicators for the presence of design tradeoffs. We present qualitative and quantitative results suggesting that, in the context of refactoring, tradeoffs in internal quality metrics can be used to find design tradeoffs. Thomas Schweizer, Vassilis Zafeiris, Marios Fokaefs, Michalis Famelis |
SCAM | 4 |
| 2020 | Towards assisting developers in API usage by automated recovery of complex temporal patterns
Mohamed Aymen Saied, Erick Raelijohn, Edouard Batot, Michalis Famelis, Houari Sahraoui |
Inf. Softw. Technol. | 4 |
| 2019 | Contents for a Model-Based Software Engineering Body of KnowledgeabstractAlthough Model-Based Software Engineering (MBE) is a widely accepted Software Engineering (SE) discipline, no agreed-upon core set of concepts and practices (i.e., a Body of Knowledge) has been defined for it yet. With the goals of characterizing the contents of the MBE discipline, promoting a global consistent view of it, clarifying its scope with regard to other SE disciplines, and defining a foundation for the development of educational curricula on MBE, this paper proposes the contents for a Body of Knowledge for MBE. We also describe the methodology that we have used to come up with the proposed list of contents, as well as the results of a survey study that we conducted to sound out the opinion of the community on the importance of the proposed topics and their level of coverage in the existing SE curricula. Loli Burgueño, Federico Ciccozzi, Michalis Famelis, Gerti Kappel, Leen Lambers, Sébastien Mosser 0001, Richard F. Paige, Alfonso Pierantonio, Arend Rensink, Rick Salay, Gabriele Taentzer, Antonio Vallecillo, Manuel Wimmer |
Softw. Syst. Model. | 3 |
| 2019 | Managing design-time uncertainty
Michalis Famelis, Marsha Chechik |
Softw. Syst. Model. | 1 |
| 2018 | Towards the automated recovery of complex temporal API-usage patternsabstractDespite the many advantages, the use of external libraries through their APIs remains difficult because of the usage patterns and constraints that are hidden or not properly documented. Existing work provides different techniques to recover API usage patterns from client programs in order to help developers understand and use those libraries. However, most of these techniques produce basic patterns that generally do not involve temporal properties. In this paper, we discuss the problem of temporal usage patterns recovery and propose a genetic-programming algorithm to solve it. Our evaluation on different APIs shows that the proposed algorithm allows to derive non-trivial temporal usage patterns that are useful and generalizable to new API clients. Mohamed Aymen Saied, Houari Sahraoui, Edouard Batot, Michalis Famelis, Pierre-Olivier Talbot |
GECCO | 4 |
| 2018 | What design topics do developers discuss?abstractWhen contributing code to a software system, developers are often confronted with the hard task of understanding and adhering to the system's design. This task is often made more difficult by the lack of explicit design information. Often, recorded design information occurs only embedded in discussions between developers. If this design information could be identified automatically and put into a form useful to developers, many development tasks could be eased, such as directing questions that arise during code review, tracking design changes that might affect desired system qualities, and helping developers understand why the code is as it is. In this paper, we take an initial step towards this goal, considering how design information appears in pull request discussions and manually categorizing 275 paragraphs from those discussions that contain design information to learn about what kinds of design topics are discussed. Giovanni Viviani, Calahan Janik-Jones, Michalis Famelis, Xin Xia 0001, Gail C. Murphy |
ICPC | 3 |
| 2017 | Heuristic-Based Recommendation for Metamodel - OCL CoevolutionabstractWe propose a novel approach for solving the problem of coevolution between metamodels and OCL constraints. Unlike existing solutions, our approach does not rely on predefined update rules and explicit tracking of high level changes to the metamodel. Rather, we pose it as a multi-objective optimization problem, exploring the space of possible OCL modifications to identify solutions that (a) do not violate the structure of the new version of the metamodel, (b) minimize changes to existing constraints, and (c) minimize loss of information. Finally, we recommend an appropriate subset of solutions to the user. We evaluate our approach on three cases of metamodel and OCL coevolution. The results show that we recommend accurate solutions for updating OCL constraints, even for complex evolution changes. Edouard Batot, Wael Kessentini, Houari Sahraoui, Michalis Famelis |
MoDELS | 4 |
| 2017 | Managing Design-Time UncertaintyabstractAny software system is the accumulated result of many design decisions taken by its developers. During the course of development, however, developers are often uncertain about how to make these decisions. This uncertainty reflects lack of knowledge about the design of the system, rather than about the environment in which the system is intended to operate. It is therefore called design-time uncertainty, and is different from environmental uncertainty [1]. Addressing environmental uncertainty requires using strategies such as self-adaptation [2], which result in fully functional software systems, capable of operating under uncertain conditions, i.e., uncertainty-aware software. In contrast, design-time uncertainty (henceforth, also simply "uncertainty") cannot be "coded away". Rather, it must be tackled as part of the process of software development, i.e., using uncertainty-aware software development methodologies. This work makes the following contributions: (a) the DETUM model; (b) the mapping of various partial model operators to the D E TUM model; (c) based on the above, a methodology for managing design-time uncertainty, and (d) a validation of the usability and effectiveness of the methodology based on two non-trivial uncertainty management scenarios. Michalis Famelis, Marsha Chechik |
MoDELS | 1 |
| 2017 | Software Product Lines with Design Choices: Reasoning about Variability and Design UncertaintyabstractWhen designing changes to a software product line (SPL), developers are faced with uncertainty about deciding among multiple possible SPL designs. Since each SPL design encodes a set of related products, dealing with multiple designs means that developers must reason about sets of sets of products. The additional degree of multiplicity is not well described by existing product line abstractions. In this paper, we propose an approach for dealing with design uncertainty within SPLs using a novel composition of variability modelling with an abstraction for capturing and managing design uncertainty. This allows developers to accurately describe the decisions involved in making changes to an SPL during the design stage and provides them with a framework for SPL design space exploration by analyzing and enforcing SPL properties. Michalis Famelis, Julia Rubin, Krzysztof Czarnecki 0001, Rick Salay, Marsha Chechik |
MoDELS | 1 |
| 2016 | Perspectives of Model Transformation Reuse
Marsha Chechik, Michalis Famelis, Rick Salay, Daniel Strüber 0001 |
IFM | 2 |
| 2015 | MU-MMINT: An IDE for Model UncertaintyabstractDevelopers have to work with ever-present design-time uncertainty, i.e., Uncertainty about selecting among alternative design decisions. However, existing tools do not support working in the presence of uncertainty, forcing developers to either make provisional, premature decisions, or to avoid using the tools altogether until uncertainty is resolved. In this paper, we present a tool, called MU-MMINT, that allows developers to express their uncertainty within software artifacts and perform a variety of model management tasks such as reasoning, transformation and refinement in an interactive environment. In turn, this allows developers to defer the resolution of uncertainty, thus avoiding having to undo provisional decisions. See the companion video: http://youtu.be/kAWUm-iFatM. Michalis Famelis, Naama Ben-David, Alessio Di Sandro, Rick Salay, Marsha Chechik |
ICSE (2) | 1 |
| 2014 | Lifting model transformations to product linesabstractSoftware product lines and model transformations are two techniques used in industry for managing the development of highly complex software. Product line approaches simplify the handling of software variants while model transformations automate software manipulations such as refactoring, optimization, code generation, etc. While these techniques are well understood independently, combining them to get the benefit of both poses a challenge because most model transformations apply to individual models while model-level product lines represent sets of models. In this paper, we address this challenge by providing an approach for automatically ``lifting'' model transformations so that they can be applied to product lines. We illustrate our approach using a case study and evaluate it through a set of experiments. Rick Salay, Michalis Famelis, Julia Rubin, Alessio Di Sandro, Marsha Chechik |
ICSE | 2 |
| 2013 | MAV-Vis: a notation for model uncertaintyabstractWe apply the “Physics of Notations” theory to design MAV-Vis, a concrete syntax for partial models, i.e., models where design uncertainty is explicitly captured. To validate our implementation of this theory in creating MAV-Vis, we designed and executed an empirical user study comparing the cognitive effectiveness of MAV-Vis with the existing, ad-hoc notation, MAV-Text. We measured the ease, speed, and accuracy of each notation for reading and writing partial models. Michalis Famelis, Stephanie Santosa |
MiSE | 1 |
| 2013 | Transformation of Models Containing Uncertainty
Michalis Famelis, Rick Salay, Alessio Di Sandro, Marsha Chechik |
MoDELS | 1 |
| 2012 | Language Independent Refinement Using Partial Modeling
Rick Salay, Michalis Famelis, Marsha Chechik |
FASE | 2 |
| 2012 | Partial models: Towards modeling and reasoning with uncertaintyabstractModels are good at expressing information about software but not as good at expressing modelers' uncertainty about it. The highly incremental and iterative nature of software development nonetheless requires the ability to express uncertainty and reason with models containing it. In this paper, we build on our earlier work on expressing uncertainty using partial models, by elaborating an approach to reasoning with such models. We evaluate our approach by experimentally comparing it to traditional strategies for dealing with uncertainty as well as by conducting a case study using open source software. We conclude that we are able to reap the benefits of well-managed uncertainty while incurring minimal additional cost. Michalis Famelis, Rick Salay, Marsha Chechik |
ICSE | 1 |
| 2012 | The semantics of partial model transformationsabstractModel transformations are traditionally designed to operate on models that do not contain uncertainty. In previous work, we have developed partial models, i.e., models that explicitly capture uncertainty. In this paper, we study the transformation of partial models. We define the notion of correct lifting of transformations so that they can be applied to partial models. For this, we encode transformations as transfer predicates and describe the mechanics of applying transformations using logic. We demonstrate the approach using two example transformations (addition and deletion) and outline a method for testing the application of transformations using a SAT solver. Reflecting on these preliminary attempts, we discuss the main limitations and challenges and outline future steps for our research on partial model transformation. Michalis Famelis, Rick Salay, Marsha Chechik |
MiSE | 1 |