Projects • 


Full Title
Communication Contracts for Distributed Systems Development

The main objective of CONFIDENT is to develop and evaluate tools and technology for describing, inferring, and statically verifying component communication contracts for effective construction and evolution of complex distributed systems, notably JavaScript
applications. To achieve this we will:

  1. Integrate the theory of behavioural type systems, session types in particular, into a notion of communication contracts, effective in driving the software development life cycle, in particular that of RESTful JavaScript applications;
  2. Develop a language of communication contracts for JavaScript, and use it to statically verify components, infer communication types from code, and to provide for the gradual evolution of existing code bases;
  3. To support the development, verification, and refactoring of reliable web-based systems by developing a suite of integrated tools for supporting the software development lifecycle;
  4. Evaluate the new software methodologies and associated tools and methodologies for engineering distributed applications using a few case studies.

The objectives are ground-breaking with potentially disruptive impact on the development and evolution of complex, specifically distributed and web-based, software in practice: CONFIDENT aims at making effective development and agile evolution of complex
systems effectively viable, predictable and productive, without compromising any software qualities.

CONFIDENT brings together leading researchers on all areas involved in the project with responsibilities clearly divided between the two sites: global behavioural types at the Faculty of Sciences and security aspects at the Technical Institute of Lisbon. The two
teams enjoy a large experience in FCT and EU-funded projects; its members regularly publish at top venues including TCS, I&C, POPL, CSF, J. Log. Comput. Furthermore the teams have gathered a large experience in the development and implementation of
compilers and tools for software development (,,

Funding Entity
Start Date
End Date
FFCUL (LaSIGE), Instituto de Telecomunicações (IT)
Team at LASIGE