Research

The Computer Science group at GSSI carries out high-quality, interdisciplinary research on algorithms, formal methods, and software engineering.

Algorithms

Research in algorithms at GSSI focuses on computational problems arising in networks and multi-agent systems. Such settings are characterized by a large number of distributed or autonomous entities, an intrinsic stochastic nature, and temporally changing dynamic properties. As a result we typically may have only a partial understanding of the problems at hand and providing efficient computational solutions is a critical and important task in the fields of theoretical computer science, optimization, and artificial intelligence.

We approach these challenges from various perspectives including

  • algorithmic game theory,

  • efficient graph algorithms,

  • approximation algorithms,

  • computational complexity,

  • distributed computing,

  • stochastic optimization,

  • algorithm engineering.

We provide algorithmic solutions to the computational problems at hand and, in a mathematically rigorous way, explain the correctness and efficiency of our approaches.

Formal Methods

The research of the Formal Methods group focuses on complex reactive systems. In particular, we investigate formal specification, analysis, synthesis, and verification of concurrent and distributed systems. Our research spans a broad range of topics from languages, to semantic models, to software verification. We develop tool-supported techniques for reactive systems. In particular, we are active on

  • concurrency theory and process calculi,

  • foundations of multi-agent and cyber-physical, and collective adaptive systems,

  • formal modelling and specifications for concurrent and distributed computations,

  • bounded model checking,

  • performance analysis,

  • run-time monitoring,

  • choreographic models,

  • behavioural specifications,

  • verification of (non-)functional properties of systems and software.

The group's main application domains are complex distributed systems in general with a particular interest in agent-based, cyber-physical systems, and message-passing systems.

Software Engineering

The research of the software engineering group focuses on the systematic application of engineering approaches to the development of software. The group has experience on both knowledge-oriented research devoted to creating new knowledge and on solution-oriented research devoted to proposing new methods or approaches.

Our research spans over a broad range of areas, including

  • software architecture,

  • model-driven engineering (MDE),

  • open-source software,

  • requirement engineering,

  • artificial intelligence (AI) and software engineering,

  • digital ethics,

  • autonomous and self-adaptive systems,

  • robotic software engineering,

  • software engineering for automotive,

  • Internet-of-things (IoT),

  • smart cities,

  • systems of systems (SoS),

  • cyber-physical systems (CPS).

We maintain stable international research collaborations with leading universities in Europe as well as outside the EU and good connections with international and local industrial partners that are interested in applying our research in their context.

We are involved in the main international conferences and journals in the above three fields of research.

For more information on our research activities, see our: