PI: Luís Caires

The NOVA LINCS Software Systems Group research is broadly centered on “Software and its Engineering” and hosts 9 FTE members (1 postdoc), and 15 PhD students.

The main challenges placed to the software and services industry in the future are related to a globally connected world supported by the web, to the increasingly faster business and technology deployment and change cycles, and to the explosion of information. In our view, key aspects to be addressed by software research includes finding better ways to interconnect systems and services at a higher-level, making sure they are dependable and secure (both for providers and for common users), while enabling easy and global accessibility, offering support for rapid development, deployment and evolution, and importantly, empowering software developers with new methods, programming languages, and tools, to achieve these goals in faster and cheaper ways.

Our group aggregates expertise on programming languages and software engineering, allowing us to address the broad scope of software development related issues, from the requirements engineering and design phases (“design”) of software development, to programming languages, environments, and tools to increase the reliability, flexibility, expressiveness and trustworthiness of modern software systems and services (“programming”). Our methods combines principled foundational development, prototype-based validation and tool building, and technology and knowledge transfer, often developed in collaboration within other NOVA LINCS groups and external academic and industrial partners. Specific themes include software engineering and language-based approaches to concurrency, security, resource control, modularity, usability, and agility, which pervade target scenarios of the NOVA LINCS strategic program.

We have a clearly visible presence in the international communities of programming languages, models, requirements and software engineering, and position as the group at the national level with broader higher impact coverage of software research. Examples of high impact results include logics for modeling and checking spatially distributed programs (e.g. with Microsoft Research), aspect-oriented requirements (e.g., with Lancaster), and core languages and types for software components and services (e.g., with Pisa and Carnegie-Mellon). Our seminal work on Early Aspects with Lancaster was distinguished with the 2013 AOSD Most Influential Paper Award. Group members are among the top 5 researchers with more papers (co-) authored at ESOP, the top European conference in programming languages and systems. Our results are published in top conferences (e.g., POPL, ICSE, ESOP, RE, CaiSE, AOSD, CONCUR, ECOOP) and journals (e.g., SCP, JAR, I&C, TCS, JST). We developed a successful collaboration network with key national and international companies delivering software products and services (OutSystems, Altran, SINFIC, Glintt, Novabase).