The Faculty of Computer Science is active and internationally renowned in various disciplines, including theoretical computer science, software engineering and artificial intelligence. It conducts research in these disciplines, from their theoretical foundations to practical applications, in collaboration with industry. It also promotes an interdisciplinary approach to the societal impact of computer science, notably through collaboration with several research institutes.

Software quality assurance

  • Team: Benoît Vanderose, Xavier Devroey, Gilles Perrouin, Pierre-Yves Schobbens
  • Description: We aim to advance the state of the art and practice of software engineering to improve software reliability by considering quality assessment and testing in their human and technical contexts. Our topics include (but are not limited to) agile methods, software quality assessment, automated software testing, and artificial intelligence applied to software engineering.
  • Related groups/pages: Software Normalization Assessment and Improvement Lab (SNAIL) - https://snail.info.unamur.be

Variability management for software and product lines

  • Team: Gilles Perrouin, Patrick Heymans, Vincent Englebert, Pierre-Yves Schobbens
  • Description: Variability is ubiquitous in software: from the options offered by network routers and operating system kernels to web frameworks, neural networks and retail configurators. Variability is the cornerstone of software product line engineering, a development paradigm enabling mass customization of software products on the basis of systematic reuse. Research topics include the specification, verification and validation of systems with high variability, configuration sampling and prediction, and the design of configurators using artificial intelligence. Part of this research has been transferred to a spin-off company (SkalUP).
  • Groups/Linked pages: personal site of Gilles Perrouin

Modeling and stochastic analysis

  • Team : Marie-Ange Remiche
  • Description : Stochastic modeling is used to measure the performance of complex systems, such as those encountered in communication systems. We are interested in fundamental theoretical research on stochastic modeling, with a particular interest in queuing theory and especially matrix analytic methods, as well as in the statistical analysis of such systems.

Software modeling and architecture

  • Team: Vincent Englebert
  • Description: our research activities concern various aspects of software engineering related to model-driven engineering (MDE). Our research concerns 1° domain-specific modeling language engineering (DSML), 2° metaCASE design, and 3° software factory design processes in the context of software product lines (SPL). We are applying the results of this research to various application domains such as IoT architectures or the well-being of the elderly, among others.

Data engineering and evolution

  • Team: Anthony Cleve
  • Description: our research group has studied problems in the design, understanding and evolution of data-intensive software systems. Recent research themes include static and dynamic program analysis for database reverse engineering, automated coevolution of databases and programs, migration of legacy systems to scalable data architectures, and data management for NoSQL applications, hybrid polystores, microservices and AI-based systems.

Human-centered machine learning

  • Team: Benoît Frenay
  • Description: the HuMaLearn research team (https://humalearn.info.unamur.be) aims to put users back at the center of machine learning (ML) and deep learning (DL). This requires new algorithms and models that enable users to understand (interpretability and explicability), control (interactivity and constraint compliance) and certify (testing, built-in constraints and increased robustness/stability) machine learning and deep learning systems. In particular, we work on decision trees, CNNs, RNNs, metric learning, dimensionality reduction, recommender systems and feature selection. HuMaLearn covers diverse application contexts such as industry 4.0, open data, sign language, law, software engineering, astronomy and physics, among others.

Autonomous systems and robotics

  • Team: Elio Tuci
  • Description : the research activity of this group revolves around two main axes: i) the design of control mechanisms for robotic systems that have to autonomously perform specific tasks in relatively unstructured environments; ii) the development of mathematical and computational models to study questions related to the nature of the mechanisms underlying complex individual and social behaviors in natural systems. Further information on our past and current research projects is available at: https://www.naxys.be/robotics/

Privacy, applied cryptography and networks

  • Team: Florentin Rochet, Jean-Noël Colin, Laurent Schumacher
  • Description: we aim to build technologies to empower and protect end-users by using and combining cryptography primitives. We focus on the real world, which ends up impacting the solution space we look at due to performance requirements, especially when it comes to networked communications. The group has recently been active in privacy-enhancing technologies such as anonymous communication and encrypted transport protocols.

Emerging communication

  • Team: Katrien Beuls
  • Description:The main objective of our research on emergent communication is to develop mechanisms that support the development of flexible and adaptive languages in populations of autonomous robots or software agents. It is these mechanisms that ensure that agents are able to conceptualize and categorize the world in which they live in a meaningful way, and to learn to reason and communicate about it. The research paradigm is used to elaborate the link between symbolic and subsymbolic AI, showing how meaningful symbols can emerge from continuous perceptual flows.

Programming languages and logic

  • Team: Jean-Marie Jacquet, Wim Vanhoof, Pierre-Yves Schobbens
  • Description:

Jean-Marie Jacquet's research lies at the intersection of logic programming and concurrent programming. Based on the blackboard metaphor developed in AI, he has proposed a new coordination language, named Bach, designed several semantics for this language, studied expressiveness problems and proposed programming methodologies. Recently, with the help of Manel Barkallah, he has designed a workbench with the triple aim of (i) enabling the user to understand the meaning of instructions by showing how they can be executed step by step, (ii) enabling the user to better understand the modeling of real systems, by connecting agents to animations representing the evolution of the modeled system and (iii) enabling the user to verify properties by checking the attainability formulas of the model and establishing the formulas. This research is applied to the analysis of security protocols as part of the Cyber-Excellence project on cybersecurity. Finally, it is applied to federated learning by leveraging inductive logic programming techniques in a distributed context.

Wim Vanhoof conducts research on program analysis and verification. Static analysis refers to techniques used to analyze the source code of a program in order to discover its properties. In this line of research, W. Vanhoof and G. Yernaux have developed techniques to automatically analyze whether two given code fragments contain a substantial amount of sufficiently similar constructs to conclude that the fragments are cloned, i.e. that one is derived from the other by copying and/or modifying or transforming the code. At a more abstract level, since the techniques he has developed are based on a logical representation of the code, they can also be used to determine approximately whether two programs are implementing the same algorithm. Important applications include program comprehension and plagiarism detection.

Distributed and reactive systems can be modeled in a modular way using operations such as sequential and parallel compositions. Each component of a modular system can be replaced by behaviorally equivalent components without modifying the properties of the modules. These can be preserved by semantic equivalences and described by logical formulas. In this context, together with J. Ortiz, M. Amrani, G. Perrouin, P. Heymans, P.-Y. Schobbens has studied several real-time logics, in particular to cope with distributed real-time systems in which components face many time constraints and are regulated by non-synchronized clocks.

Human-machine interaction

  • Team: Bruno Dumas
  • Description:in the field of human-computer interaction, the EXUI research team explores the design of advanced user interfaces, particularly in the subfields of augmented reality and multimodal interfaces. Members of the EXUI research team are particularly interested in crossing the boundaries between these different sub-domains and exploring the interactions between them. Finally, in collaboration with other teams at the NADI research institute, members of the EXUI research team are also exploring issues related to the transparency of artificial intelligence.

Software education research

  • Team : Fanny Boraita Amador, Xavier Devroey, Marie-Ange Remiche
  • Description : in progress

Philosophy of science and ethics

  • Team : Juliette Ferry-Danini
  • Description : Philosophy of science and ethics are branches of philosophy. They respectively raise epistemological questions (how knowledge is produced) and ethical questions (how we should act morally). Digital technologies raise both epistemological and ethical questions. A philosopher has recently joined the department. He is currently focusing on the concept of opacity in artificial intelligence and other conceptual issues.