Research

My research looks for new synergies between software engineering and artificial intelligence. Selected highlights:

talk

Towards Better Interoperability Between Software and AI

A recording of a lecture given at the international colloquium “AI meets Software Quality”. It presents ongoing work on creating a synergy between artificial intelligence and software engineering, with Behavioral Programming at its core.

EC-KitY
software

EC-KitY

A Python library for evolutionary computation, licensed under GNU GPL v3.0 and compatible with scikit-learn. It supports genetic algorithms, genetic programming, coevolution and multi-objective optimization, among other paradigms.

Context-Oriented Behavioral Programming
paper

Context-Oriented Behavioral Programming

A paradigm for developing context-aware systems that combines Behavioral Programming with context idioms specifying when scenarios are relevant. Case studies in robotics and IoT show measurable advantages over behavioral programming alone and context-oriented programming alone.