Kim Mens

dblp:m/KimMens · DBLP profile ↗
← Back
42ranked-venue papers
8as first author
8since 2021 · last 2026
0000-0003-0303-1630ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 39 · 7 first-author · 7 since 2021Artificial intelligence and machine learning · 4 · 3 first-authorHuman-computer interaction and ubiquitous computing · 2 · 2 since 2021Applied, interdisciplinary, general and emerging computing · 1
YearPublicationVenuePosition
2026 Isolating Feature Transition Errors in Dynamically Adaptive Systems
Pierre Martou, Benoît Duhoux, Kim Mens
ICST3
2025 Combinatorial transition testing in dynamically adaptive systems: Implementation and test oracle
Pierre Martou, Benoît Duhoux, Kim Mens, Axel Legay
J. Syst. Softw.3
2024 Visual Assurance in Refactoring Through Trace Equivalence of Control Flow Graphs
abstract
Refactoring large legacy codebases, even with industrial-strength tools, often leads to trust concerns with code owners, in particular when the codebase underwent significant changes. To provide more assurance to code owners, we integrate visual analytics into the refactoring process. This method involves transforming code into control flow graphs before and after refactoring, followed by trace equivalence analysis on these graphs. An innovative visualisation tool provides not only a comprehensive overview of the refactorings' impact across all files, but also offers detailed insights into the trace equivalence at individual file level. By presenting clear visual evidence of code equivalence before and after refactoring, our visualisation narrows the trust gap, offering refactoring experts and code owners a transparent and understandable view of the changes. We apply this visualisation on an industrial use case and discuss its effectiveness with refactoring experts.
Céline Deknop, Johan Fabry, Kim Mens, Vadim Zaytsev
SANER3
2023 Test scenario generation for feature-based context-oriented software systems
Pierre Martou, Kim Mens, Benoît Duhoux, Axel Legay
J. Syst. Softw.2
2022 Generating Customised Control Flow Graphs for Legacy Languages with Semi-Parsing
abstract
We propose a tool and underlying technique that uses semi-parsing to extract control flow graphs from legacy source code (i.e., COBOL). Obtaining such control flow graphs is relevant in the industrial setting of legacy modernisation, to quickly demonstrate to code owners that modernisation engineers did not break their business logic. They need to be convinced that a migration did not affect the flow around critical parts of their code such as database accesses. Focusing on the control flow around embedded SQL queries and confirming that the code logic has been preserved improves customers' trust and satisfaction in the modernisation. Our proposed algorithm and approach uses fuzzy parsing as opposed to full parsing to parse mainly the control flow constructs, while delegating the full parsing of embedded languages like SQL to an external parser, and produces a control flow graph directly while skipping over most of the input in linear time. Such a fuzzy parser is easier to construct and adapt to particular languages and needs than a full parser with a visitor to elicit control flow. Comparisons are made of the fuzzy parser to an industrial-strength full parser.
Céline Deknop, Johan Fabry, Kim Mens, Vadim Zaytsev
ICSME3
2022 Programming language implementations for context-oriented self-adaptive systems
Nicolás Cardozo, Kim Mens
Inf. Softw. Technol.2
2021 Tutors' Experiences in Using Explicit Strategies in a Problem-Based Learning Introductory Programming Course
abstract
In programming education, explicit strategies are gaining traction. The reason for this study was to improve an introductory programming course based on a problem-based methodology, by using more explicit programming strategies. After analysing a previous run of this course for first year undergraduate students, we concluded that such strategies could improve learning transfer for students across the different weeks of the semester. We introduced four instructional strategies to tutors with close to no pedagogical background: explicit tracing, subgoal labeled worked examples, Parsons problems and explicit problem solving. These explicit programming strategies aim to decrease cognitive load. Tutors tested these four strategies in the course.
Olivier Goletti, Kim Mens, Felienne Hermans
ITiCSE (1)2
2021 A Scalable Log Differencing Visualisation Applied to COBOL Refactoring
abstract
Large code refactoring projects can consist of hundreds of refactoring rules that are applied iteratively to make code easier to maintain. Visualising the refactoring process can help engineers and stakeholders understand how chains of refactorings were applied and to gain more confidence in the produced result. An apparently suitable existing visualisation using log-based behavioural differencing suffers from scalability issues when applied to industrial-size cases. We propose an adapted visualisation tool that highlights those parts that really changed in-between iterations of a large refactoring process and collapses those parts that remain stable. We show that our alternative visualisation scales well on large logs of a process with many possible refactoring chains, of which significant parts are shared. Consequently, it allows engineers and stakeholders to quickly answer relevant questions about what happened during the refactoring process.
Céline Deknop, Kim Mens, Alexandre Bergel, Johan Fabry, Vadim Zaytsev
VISSOFT2
2020 Improving a Software Modernisation Process by Differencing Migration Logs
Céline Deknop, Johan Fabry, Kim Mens, Vadim Zaytsev
PROFES3
2019 Mining Patterns in Source Code Using Tree Mining Algorithms
Hoang-Son Pham, Siegfried Nijssen, Kim Mens, Dario Di Nucci, Tim Molderez, Coen De Roover, Johan Fabry, Vadim Zaytsev
DS3
2017 On the Analysis of Co-Occurrence of Anti-Patterns and Clones
abstract
In software engineering, a smell is a part of a software system's source code with a poor quality and that may indicate a deeper problem. Although many kinds of smells have been studied to analyze their causes, their behavior, and their impact on software quality, those smells typically are studied independently from each other. However, if two smells coincide inside a class, this could increases their negative effect (e.g., spaghetti code that is being cloned across the system). In this paper we report results from an empirical study conducted to examine the relationship between two specific kinds of smells: code clones and antipatterns. We conducted our study on three open-source software systems: Azureus, Eclipse, and JHotDraw. Results show that between 32% and 63% of classes in the analysed systems present co-occurrence of smells, and that such classes are more risky in term of fault-proneness.
Fehmi Jaafar, Angela Lozano, Yann-Gaël Guéhéneuc, Kim Mens
QRS4
2017 Analyzing software evolution and quality by extracting Asynchrony change patterns
Fehmi Jaafar, Angela Lozano, Yann-Gaël Guéhéneuc, Kim Mens
J. Syst. Softw.4
2017 Guest editors' introduction to the 6th issue of Experimental Software and Toolkits (EST-6)
Mark van den Brand, Jurgen J. Vinju, Kim Mens
Sci. Comput. Program.3
2017 JPC: A library for categorising and applying inter-language conversions between Java and Prolog
Sergio Castro, Kim Mens, Paulo Moura
Sci. Comput. Program.2
2016 Taming context-sensitive languages with principled stateful parsing
Nicolas Laurent, Kim Mens
SLE2
2015 Parsing expression grammars made practical
abstract
Parsing Expression Grammars (PEGs) define languages by specifying a recursive-descent parser that recognises them. The PEG formalism exhibits desirable properties, such as closure under composition, built-in disambiguation, unification of syntactic and lexical concerns, and closely matching programmer intuition. Unfortunately, state of the art PEG parsers struggle with left-recursive grammar rules, which are not supported by the original definition of the formalism and can lead to infinite recursion under naive implementations. Likewise, support for associativity and explicit precedence is spotty. To remedy these issues, we introduce Autumn, a general purpose PEG library that supports left-recursion, left and right associativity and precedence rules, and does so efficiently. Furthermore, we identify infix and postfix operators as a major source of inefficiency in left-recursive PEG parsers and show how to tackle this problem. We also explore the extensibility of the PEG paradigm by showing how one can easily introduce new parsing operators and how our parser accommodates custom memoization and error handling strategies. We compare our parser to both state of the art and battle-tested PEG and CFG parsers, such as Rats!, Parboiled and ANTLR.
Nicolas Laurent, Kim Mens
SLE2
2015 Semantics for consistent activation in context-oriented systems
Nicolás Cardozo, Kim Mens, Ragnhild Van Der Straeten, Jorge Vallejos, Theo D'Hondt
Inf. Softw. Technol.3
2015 Usage contracts: Offering immediate feedback on violations of structural source-code regularities
Angela Lozano, Kim Mens, Andy Kellens
Sci. Comput. Program.2
2014 Guest editors' introduction to the 4th issue of Experimental Software and Toolkits (EST-4)
Kim Mens, Mark van den Brand, Holger M. Kienle
Sci. Comput. Program.1
2013 LogicObjects: Enabling Logic Programming in Java through Linguistic Symbiosis
Sergio Castro, Kim Mens, Paulo Moura
PADL2
2013 Modeling and Analyzing Self-Adaptive Systems with Context Petri Nets
abstract
The development of self-adaptive systems requires the definition of the parts of the system that will be adapted, when such adaptations will take place, and how these adaptations will interact with each other. However, foreseeing all possible adaptations and their interactions is a difficult task, opening the possibility to inconsistencies or erroneous system behavior. To avoid inconsistencies, self adaptive systems require a sound programming model that allows to reason about the correctness of the system in spite of its dynamic reconfigurations. This paper presents context Petri nets, a Petri net-based programming model for selfadaptive systems. This model provides a formal definition of adaptations and their interaction, as well as a consistent process for their inclusion in the system. Besides serving as an underlying run-time model to ensure that adaptations and their constraints remain consistent, context Petri nets allow to analyze properties such as reachability, and liveness in the configuration of self-adaptive systems. Context Petri nets thus are a convenient tool to model and analyze the dynamics of self-adaptive systems, both formally and computationally.
Nicolás Cardozo, Kim Mens, Ragnhild Van Der Straeten, Theo D'Hondt
TASE3
2011 Mendel: Source code recommendation based on a genetic metaphor
abstract
When evolving software systems, developers spend a considerable amount of time understanding existing source code. To successfully implement new or alter existing behavior, developers need to answer questions such as: “Which types and methods can I use to solve this task?” or “Should my implementation follow particular naming or structural conventions?”. In this paper we present Mendel, a source code recommendation tool that aids developers in answering such questions. Based on the entity the developer currently browses, the tool employs a genetics-inspired metaphor to analyze source-code entities related to the current working context and provides its user with a number of recommended properties (naming conventions, used types, invoked messages, etc.) that the source code entity currently being worked on should exhibit. An initial validation of Mendel seems to confirm the potential of our approach.
Angela Lozano, Andy Kellens, Kim Mens
ASE3
2011 Diagnosing and correcting design inconsistencies in source code with logical abduction
Sergio Castro, Coen De Roover, Andy Kellens, Angela Lozano, Kim Mens, Theo D'Hondt
Sci. Comput. Program.5
2010 Second International Workshop on Software Research and Climate Change
abstract
This workshop will explore the contributions that software research can make to the challenge of tackling climate change. Software is a critical enabling technology in nearly all aspects of climate change, from the computational models used by climate scientists to improve our understanding of the impact of human activities on earth systems, through to the information and control systems needed to build an effective carbon-neutral society. The intent of the workshop is to explore how software research can contribute to this challenge, to build a community of researchers interested in responding to the challenge, and to map out a research agenda.
Steve M. Easterbrook, Kim Mens, Steffen Zschaler
ICSE (2)2
2010 Subjective-C - Bringing Context to Mobile Platform Programming
Nicolás Cardozo, Kim Mens, Alfredo Cádiz, Jean-Christophe Libbrecht, Julien Goffaux
SLE3
2010 Guest editors' introduction to the 3rd issue of Experimental Software and Toolkits (EST): A special issue on Academic Software Development Tools and Techniques (WASDeTT 2008)
Mark van den Brand, Kim Mens
Sci. Comput. Program.2
2010 Automated generation of program translation and verification tools using annotated grammars
Diego Ordóñez Camacho, Kim Mens, Mark van den Brand, Jurgen J. Vinju
Sci. Comput. Program.2
2008 Enforcing Structural Regularities in Source Code using IntensiVE
abstract
The design and implementation of a software system is often governed by many different coding conventions, design patterns, architectural design rules, and other so-called structural regularities. To prevent a deterioration of the system's source code, it is important that these regularities are verified and enforced in subsequent evolutions of the system. The Intensional Views Environment (IntensiVE), which is the subject of this demonstration, is a tool suite for documenting such structural regularities in (object-oriented) software systems and verifying their consistency in later versions of those systems.
Johan Brichau, Andy Kellens, Kim Mens
ASE3
2008 APPAREIL: A Tool for Building Automated Program Translators Using Annotated Grammars
abstract
Operations languages are used to write spacecraft operations procedures. The APPAREIL tool automates the process of generating program translators between operations languages, from a specification of their language grammar annotated with extra information. From these annotated grammars the tool automatically produces a partial translator that covers most of the translation. This translator needs to be augmented manually with specific transformations, to deal with the more complicated cases. To get more confidence on the correctness of the translation, the tool offers a control-flow equivalence verification module.
Diego Ordóñez Camacho, Kim Mens
ASE2
2008 Application-specific models and pointcuts using a logic metalanguage
Johan Brichau, Andy Kellens, Kris Gybels, Kim Mens, Robert Hirschfeld, Theo D'Hondt
Comput. Lang. Syst. Struct.4
2007 Highly dynamic behaviour adaptability through prototypes with subjective multimethods
abstract
With the advent of ambient intelligence and advances in mobile hardware technology, the next generation of software systems will require the ability to gracefully and dynamically adapt to changes in their surrounding environment. Contemporary languages provide no dedicated support to this end, thus requiring software developers to achieve this run-time adaptability through the use of specific design patterns and architectural solutions. As a consequence, all possible variability points of mobile systems need to be anticipated up front. Instead, we aim at solving the problem at the language level. We propose a new programming language called Ambience that provides dedicated language mechanisms to manage changing contexts and deal with run-time adaptation of mobile applications to those contexts. The language abstractions we propose are based on a prototype-based programming model that features multimethods and subjective object behaviour. We illustrate and motivate our approach by means of two running examples that were implemented in our language.
Kim Mens, Patrick Heymans
DLS2
2006 Managing the Evolution of Aspect-Oriented Software with Model-Based Pointcuts
Andy Kellens, Kim Mens, Johan Brichau, Kris Gybels
ECOOP2
2006 Co-evolving code and design with intensional views: A case study
Kim Mens, Andy Kellens, Frédéric Pluquet, Roel Wuyts
Comput. Lang. Syst. Struct.1
2006 Applying and combining three different aspect Mining Techniques
Mariano Ceccato, Marius Marin, Kim Mens, Leon Moonen, Paolo Tonella, Tom Tourwé
Softw. Qual. J.3
2005 Towards a Framework for Testing Structural Source-Code Regularities
abstract
As size and complexity of software systems increase, preserving the design and specification of their implementation structure gains importance in order to maintain the evolvability of the system. However, due to constant changes, the implementation structure and its documentation tend to dilute over time. Building on the underlying models of intensional views and intensional relations, our IntensiVE toolsuite helps a developer in documenting structural source-code regularities, verifying them and offering fine-grained feedback when the code does not satisfy those regularities.
Kim Mens, Andy Kellens
ICSM1
2005 Delving source code with formal concept analysis
Kim Mens, Tom Tourwé
Comput. Lang. Syst. Struct.1
2003 Using Intentional Source-Code Views to Aid Software Maintenance
abstract
The conceptual structure of existing software systems is often implicit or non-existing in the source code. We propose the lightweight abstraction of intentional source-code views as a means of making these conceptual structures more explicit. Based on the experience gained with two case studies, we illustrate how intentional source-code views can simplify and improve software understanding, maintenance and evolution in various ways. We present the results as a catalog of usage scenarios in a pattern-like format.
Kim Mens, Bernard Poll
ICSM1
2002 Building Composable Aspect-Specific Languages with Logic Metaprogramming
Johan Brichau, Kim Mens, Kris De Volder
GPCE2
2002 Maintaining software through intentional source-code views
abstract
Maintaining the source code of large software systems is hard. One underlying cause is that existing modularisation mechanisms are inadequate to handle crosscutting concerns. We propose intentional source-code views as an intuitive and lightweight means of modelling such concerns. They increase our ability to understand, modularise and browse the source code by grouping together source-code entities that address the same concern. They facilitate software development and evolution, because alternative descriptions of the same intentional view can be checked for consistency and relations among intentional views can be defined and verified. Finally, they enable us to specify knowledge developers have about source code that is not captured by traditional program documentation mechanisms.Our intentional view model is implemented in a logic metaprogramming language that can reason about and manipulate object-oriented source code directly. The proposed model has been validated on the evolution of a medium-sized object-oriented application in Smalltalk, and a prototype tool has been implemented.
Kim Mens, Tom Mens, Michel Wermelinger
SEKE1
2002 Supporting software development through declaratively codified programming patterns
Kim Mens, Isabel Michiels, Roel Wuyts
Expert Syst. Appl.1
2001 Supporting Software Development through Declaratively Codified Programming
Kim Mens, Isabel Michiels, Roel Wuyts
SEKE1
1996 Reuse Contracts: Managing the Evolution of Reusable Assets
abstract
A critical concern in the reuse of software is the propagation of changes made to reusable artifacts. Without techniques to manage these changes, multiple versions of these artifacts will propagate through different systems and reusers will not be able to benefit from improvements to the original artifact. We propose to codify the management of change in a software system by means of reuse contracts that record the protocol between managers and users of a reusable asset. Just as real world contracts can be extended, amended and customised, reuse contracts are subject to parallel changes encoded by formal reuse operators: extension, refinement and concretisation. Reuse contracts and their operators serve as structured documentation and facilitate the propagation of changes to reusable assets by indicating how much work is needed to update previously built applications, where and how to test and how to adjust these applications.
Patrick Steyaert, Carine Lucas, Kim Mens, Theo D'Hondt
OOPSLA3