Johann Mortara

Johann Mortara

Ph.D. in Computer Science

Université Côte d'Azur, CNRS, I3S, France

Biography

I graduated from a Ph.D. in Computer Science (Software Engineering) at Université Côte d’Azur / I3S - CNRS in France, under the supervision of Prof. Philippe Collet. My doctoral work is centered on the identification, consistency checking, and visualization of variability mechanisms in the build systems and implementation code of large variability-rich applications.

Although my research interests focus on the study and comprehension of mechanisms managing variability and configurability in large scale software systems, I am also interested in their practical application and design.

  • Institutional : johann [dot] mortara [at] univ-cotedazur [dot] fr
  • Personal : johann [dot] mortara [at] gmail [dot] com

You can find my academic resume here.

Interests
  • Configurable Systems and Software Product Lines
  • Software Variability
  • Variability Identification
  • Software Maintenance
  • Code Comprehension
  • Code Analysis
Education
  • Ph.D. in Software Engineering, 2022

    Université Côte d'Azur — I3S, CNRS

  • Master's degree in Management and Business Administration, 2020

    Université Côte d'Azur — IAE Nice

  • M.Sc. in Software Engineering (Diplôme d'Ingénieur), 2019

    Université Côte d'Azur — Polytech Nice Sophia

Education

 
 
 
 
 
Université Côte d'Azur, CNRS, I3S
Ph.D. in Computer Science
Oct 2019 – Dec 2022 Sophia Antipolis, France

Title: Mastering Variability in the Wild: On Object-Oriented Variability Implementations and Variability-Aware Build Systems

Advisor: Philippe Collet

This thesis focuses on the identification, consistency checking, and visualization of variability mechanisms in the build systems and implementation code of large variability-rich applications.

Teaching activities at graduate and undergraduate levels, focusing on software engineering, object-oriented design and reverse engineering.

 
 
 
 
 
IAE Nice Graduate School of Management
Master’s degree in Management and Business Administration (double degree)
Jan 2019 – Nov 2019 Sophia Antipolis — Nice, France
One-year degree allowing non-managerial students to obtain introductory knowledge about multiple aspects linked to management and administration. Description of the courses is available here.
 
 
 
 
 
Polytech Nice Sophia
M.Sc. in Software Engineering (Diplôme d’Ingénieur)
Sep 2014 – Sep 2019 Sophia Antipolis, France

Diplôme d’ingénieur specialized in Software Engineering.

Major topics include:

  • Software Architecture
  • DevOps
  • DSLs
  • Cloud Computing
  • Reverse-Engineering

Research

and other professional experiences

 
 
 
 
 
Université Côte d'Azur — CNRS, I3S
Mastering Variability in the Wild: On Object-Oriented Variability Implementations and Variability-Aware Build Systems
Oct 2019 – Dec 2022 Ph.D. in Computer Science — Sophia Antipolis, France

When software systems implement their variability in a single codebase, multiple mechanisms allow to implement and resolve this variability. These implementations however add extra complexity in the system, hampering its comprehension and potentially leading to bugs and anomalies during the resolution. In this thesis, we study two types of such mechanisms. Firstly, we propose approaches to identify and visualize variability implemented in object-oriented systems to help developers understand the codebase’s implemented variability. Secondly, we propose a model to represent and reason on the variability managed in the build systems of large variability-rich systems and detect anomalies such as dead code.

  • Supervised and participated in the development of multiple tool supports: symfinder-2, VariCity, VariMetrics-IDE.
  • All tools have been validated on large open-source projects (from 20k to 4,5M LoC).
 
 
 
 
 
Université Côte d'Azur — CNRS, I3S
Identification and visualization of symmetries in variable software systems
Mar 2019 – Sep 2019 Final-year project & 5th year internship — Sophia Antipolis, France

Design and development of symfinder, a prototype identifying and visualizing variability implementations in Java software projects.
This internship led to two publications at SPLC ’19 conference.

  • Automatic detection method of variability in object-oriented constructs using symmetry concepts
  • Visualization of the identified variability
  • Obtained the ACM Artifact Reusable badge at SPLC'19 assessing reusability of the tool
 
 
 
 
 
Université Côte d'Azur — CNRS, I3S
Blockchain deployment and sensors network simulation
Jul 2018 – Aug 2018 4th year internship — Sophia Antipolis, France

Design of a solution aiming to place and keep a trace of smart-contracts on values fetched by sensors in a network using an Ethereum blockchain.
This internship is part of the I-WIN project of the IDEX UCA Jedi program.

  • Development of a simulation prototype using Docker and physical deployment on Raspberry Pi boards
 
 
 
 
 
3X Engineering
REINFORCEKiT© Engineering Analysis (R.E.A.)
Jul 2017 – Aug 2017 3rd year internship — Monaco, Monaco
Development of a Java application to design composite repair systems for oil and gas infrastructures for 3X Engineering and its worldwide distributors.

Recent Publications

Quickly discover relevant content by filtering publications.
(2023). Visualization of Object-Oriented Software in a City Metaphor: Comprehending the Implemented Variability and its Technical Debt. Journal of Systems and Software.

Cite DOI URL

(2022). Customizable Visualization of Quality Metrics for Object-Oriented Variability Implementations. 26th ACM International Systems and Software Product Line Conference - Volume A (SPLC ‘22).

Cite DOI URL

(2022). IDE-assisted visualization of indebted OO variability implementations. 26th ACM International Systems and Software Product Line Conference - Volume B (SPLC ‘22).

Cite DOI URL

(2022). Identification and visualization of variability implementations in object-oriented variability-rich systems: a symmetry-based approach. Automated Software Engineering.

Cite DOI URL

(2021). Capturing the diversity of analyses on the Linux kernel variability. 25th ACM International Systems and Software Product Line Conference - Volume A (SPLC ‘21).

Cite DOI URL

Teaching

Polytech Nice Sophia
5th semester project

Level: 3rd year of B.Sc. (🇫🇷 Licence 3)

In this course, students dicover the bases of software engineering (designing tasks, use of a version control and dependencies manager, unit tests). The different concepts and tools are presented during the lectures and progressively incorporated during the labs sessions in a project lasting the whole duration of the course that students develop in groups of 3–4.

Polytech Nice Sophia
Software Design

Level: 1st year of M.Sc. (🇫🇷 Master 1)

In this course, students learn object-oriented design using UML. The different concepts and tools are presented during the lectures and progressively incorporated during the labs sessions in a project lasting the whole duration of the course that students develop in groups of 3–4.

Polytech Nice Sophia
Reverse-Engineering, Maintenance and Software Evolution

Level: 2nd year of M.Sc. (🇫🇷 Master 2)

In this course, students tackle research questions on topics related to the reverse-engineering of source code and need to answer them by applying a scientific method. At the start of the course, professors propose multiple research questions. Groups of 4–5 students choose one and propose a resolution method that they develop during the whole course. Lectures consist in multiple invited lectures from both academics and industrials being confonted to reverse-engineering challenges. During the labs, students work on their research question and develop the tools that help them in answering the question.

Lectures & Presentations

*
You're an artifact, VariCity.
Invited presentation given at the ROSE Festival @ ICSME 2021.

Awards

Distinction awarded by Université Côte d’Azur for VariCity and its artifact that obtained the Best Artifact Award at ICSME 2021. This distinction has been awarded to 71 researchers and students being rewarded with prestigious prizes for their scientific contribution to the highest national and international level.
ICSME 2021
ICSME / VISSOFT 2021 conferences Best Artifact Award
VariCity, a visualization for variability implemented in an object-oriented system designed during my Ph.D. thesis has been submitted as an Artifact in the Joint Artifact Evaluation Track and ROSE Festival at ICSME 2021 (evaluating artifacts from ICSME 2021, SCAM 2021, and VISSOFT 2021). These tools are reviewed to assess their public access, their capacity to easily reproduce the presented results, and their reusability in other contexts. VariCity obtained the Best Artifact Award. The CNRS also wrote an article about VariCity (in French).
Polytech Nice Sophia
Prix d’Excellence de Polytech Nice Sophia

Distinction awarded by Polytech Nice Sophia for representing the school regularly in multiple programming contest.

  • French national competitions – Battle Dev, Coding Battle…
  • SWERC 2018 – European qualification phase of the ACM ICPC contest (International Collegiate Programming Contest). This participation is also the first participation of Université Côte d’Azur and the Polytech network in an international programming contest. Ranked 59/81 participating teams.