Research Lines

The MODES Laboratory (Model-Driven Engineering and Software Mining Laboratory) investigates the intersection of Model-Driven Engineering, software repository mining, and artificial intelligence. Our work spans foundational techniques, tool development, and large-scale empirical studies, with a focus on making software engineering more productive and intelligent.

Model-Driven Engineering (MDE)

We develop languages, tools and techniques for model-driven software engineering. Research topics include:

  • Domain-specific modelling languages (DSLs) — design, analysis and tooling
  • Model transformations — bidirectional transformations, co-evolution, change propagation (JTL language)
  • Model differencing and conflict management — detecting and resolving changes across model versions
  • Metamodel management — classification, clustering and automated analysis of metamodel repositories
  • Low-code development platforms — scalable engineering of low-code environments

Key members: Alfonso Pierantonio, Davide Di Ruscio, Juri Di Rocco, Damiano Di Vincenzo


Mining Software Repositories (MSR)

We mine large-scale open-source software repositories to extract knowledge that supports developers and researchers. Topics include:

  • Open-source software analysis — health, quality, activity metrics and dependency management
  • Library migration and upgrade — automated detection of migration pairs, upgrade plan generation (CrossRec, DeepLib, DeepMig)
  • API usage mining — recommending API calls, code snippets and usage patterns (FOCUS, CROSSMINER)
  • GitHub repository characterisation — tagging, clustering and similarity detection (HybridRec, CrossSim, TopFilter)
  • Code smell detection and technical debt — automated detection using deep learning (EnSeSmells, PILOT)

Key members: Davide Di Ruscio, Juri Di Rocco, Phuong T. Nguyen, Claudio Di Sipio, Riccardo Rubei


Recommender Systems for Software Engineering (RSSE)

We build intelligent tools that assist developers and modellers in their daily tasks by providing context-aware recommendations:

  • Model recommenders — MemoRec (metamodel specification), NEMO (next modelling operation), GNN-based assistants
  • Library recommenders — CrossRec (third-party library selection), DeepLib (upgrade paths), LEV4REC (feature-based)
  • Code generation and summarisation — LLM-based agents for README summarisation, ChatGPT-generated code detection (GPTSniffer)
  • Popularity bias and adversarial robustness — fairness and resilience of software recommenders

Key members: Phuong T. Nguyen, Juri Di Rocco, Davide Di Ruscio, Claudio Di Sipio, Riccardo Rubei


AI for Software Engineering

We apply Machine Learning, Deep Learning and Large Language Models to software engineering problems:

  • LLMs in MDE — empirical studies and tools applying LLMs to model-driven tasks
  • Deep learning for software artefact classification — convolutional and graph neural networks for metamodels
  • Transformer-based code analysis — CodeBERT-based classifiers, automated summarisation
  • Multi-agent LLM systems — orchestrating AI agents for software development tasks (MOSAICO, AIM-PRO)
  • Malicious package detection — LLM-based approaches for identifying malicious PyPI packages

Key members: Juri Di Rocco, Phuong T. Nguyen, Davide Di Ruscio


Adaptive and Gamified Systems

Research on using models and MDE techniques for designing adaptive collective systems and motivational digital environments:

  • Adaptive systems modelling — run-time models for self-adaptive systems
  • Gamification and motivational systems — design languages and tools for gamified applications
  • Educational tools — model-driven support for process-oriented learning (LearnPad)

Key member: Antonio Bucchiarone


Research Infrastructure

The lab has access to a software infrastructure including:

  • Eclipse-based modelling toolchains (EMF, ATL, JTL, MDEForge, Jjodel)
  • Large-scale OSS forges: GitHub, Maven Central, PyPI
  • GPU cluster access for deep learning experiments
  • Commercial modelling environments (MagicDraw, MetaEdit+)
  • Trained LLMs (GPT-4, CodeBERT, BERT-based models) for software analysis