Software Engineering & Programming Languages (SEPL)


The overall aim of the Software Engineering and Programming Languages (SEPL) research project is to develop a number of coherent and integrated innovative techniques for the development of reliable software systems. Modern software systems are complex, distributed, heterogeneous, dynamically evolving, often operate in contexts with unpredictable behaviour, and should be able to adapt to changes in the environment or the requirements. Tipically, they are not developed from scratch, but, rather, by composing and modifying existing systems. Hence, we will focus on providing maximal flexibility and adaptability, still guaranteeing reliability.

Notably, we will investigate new development methodologies (including analysis, design and testing techniques), more flexible linguistic constructs for code evolution and reuse (including integration with code mobility and the agent paradigm), and extensions of traditional static typechecking by dynamic/incremental checks and more sophisticated types which express semantic properties.



Temporary staff

ERC Keywords

PE6_3 Software engineering, operating systems, computer languages
PE6_4 Theoretical Computer Science, formal methods, and quantum computing


Other keywords

Design, foundations and implementation of programming languages; Object-oriented paradigm; Advanced modular programming; Type systems; Service Oriented Architecture; Visual notations; Model Driven Engineering; Empirical Software Engineering; Software and Web Testing; Agent Oriented Software Engineering

Application domains

Software engineering and programming languages are basic building blocks for any software system. Hence, the application domain of the SEPL research program is very general. However, systems of particular interest for the research themes considered in the project are those built by highly heterogeneous and distributed components, which should adapt themselves to unexpected changes in the environment and/or the requirements. Significant examples are SOA (Service Oriented Architecture) and cloud computing based systems.


Collaboration with enterprises

EdiSoftware s.r.l. (IT), Ericsson (IT), Exact Learning Solutions (IT), GFT Italia s.r.l. (IT), Selex-Elsag (IT).

Collaboration with universities and research centers

Pontifícia Universidade Católica do Rio Grande do Sul (BR) 

École Polytechnique de Montréal (CA) 

University of Calgary, Alberta (CA) 

Universitat Politècnica de València (ES) 


LIP6, Université Pierre & Marie Curie, Paris 6 (FR) 

Paris 7 – CNRS (FR) 

Department of Information Technology , National Institute of Technology (IN) 

Fondazione Bruno Kessler, Trento (IT) 

Università del Piemonte Orientale (IT) 

Università di Salerno (IT) 

Università del Sannio (IT) 

Università di Torino (IT) 

Università di Udine (IT) 

Centrum Wiskunde & Informatica (CWI), Amsterdam (NL) 

Leiden Institute of Advanced Computer Science (NL) 

Victoria University of Wellington (NZ)

University of Dundee (UK) Rensselaer Polytechnic Institute (US) 


SEPL publications


SEPL Projects 


SEPL - Software Engineering and Programming Languages

Back to research programmes