Research Interests
I am a software engineer who ended up doing applied research. My interests therefore revolve about programmin, software engineering, and artificial intelligence.
-
Complex Adaptive Systems fascinates me, especially distributed ones. I observe that as software systems grow in both in size and complexity and include more AI, they resemble complex adaptive systems, whose behaviour is difficult to understand, let alone to predict.
-
Agile Software Development and the software craftsmanship ideas struck me as obvious once we know them. I am very interested in how these ideas apply and foster scientific research, which is highly iterative in nature.
-
Software Architecture is, in my opinion, the art of mixing in a pot various technologies and obtaining a coherent, maintainable and scalable whole.
International Research Projects
I have been lucky enough to join several international research projects and I am grateful for the competences I learnt from my colleagues, including programming, software architecture, mathematics, project management, etc.
-
ENACT (2007 – 2021) develops tools and methods to systematically support DevOps for trustworthy smart IoT systems. I contributed to GeneSIS, the ENACT tool to automate deployment and monitoring.
-
STAMP (2016 – 2019) stands for Software Testing AMPlification. Leveraging advanced research in automatic test generation, STAMP aims at pushing automation in DevOps one step further through innovative methods of test amplification. I developed CAMP, a tool to automate configuration testing.
-
ARCADIA (2014–2017) explores the development oh “highly distributed applications” (HDA), which it searches to optimally deploy and configure.
-
DREAMS (2013–2017) addresses the design of mixed-criticality systems, that is systems where functions with varying criticality execute on the same chip.
-
DIVERSIFY (2013–2016) explores synergies between Ecology and Software Engineering. We developed novel techniques to ‘diversify’ software systems at the architecture and code level, and in turn, increase robustness, security and other extra-functional properties.
-
MODAClouds (2013–2016) tackles the interoperability issue between IaaS and PaaS providers. We developed CloudML to maintain architecture diagrams in synchrony with the running system.
-
REMICS (2010–2013) studied the migration of legacy service-oriented application to the Cloud, using model-driven engineering techniques.
-
CONNECT (2008–2012) explores interoperability solutions to automatically generate connectors between software pieces.
National Research Projects
-
CIRRUS (2015–2019) focuses on the customisation of cloud-based solution, initially designed for ‘on-premises’ execution. The aim is to build a Cloud-based multi-tenant platform, open for customisation.
-
SysLife (2011–2013) analyse maintenance information in order to better estimate the remaining lifetime and failure probability of components in power systems.
-
FAROS (2005–2008) studied how to compose software components using ‘contracts’ and model-driven technologies.