Software Systems
Software Systems
PI: Carla Ferreira
The Software Systems group research goal is the development of principles, techniques, and tools for building rigorous and trustworthy software systems.
As software systems become increasingly complex and critical for societal functions the need for reliability, efficiency, and robustness in software development is paramount. The SS group leverages its strong expertise in requirements engineering, programming models, abstractions, and meta-programming techniques to tackle new challenges in emerging domains such as automated programming and swarm computing.
The SS group focuses its research on critical areas that drive advancements in software systems. This research involves developing programming models and abstractions to effectively manage the increasing complexity of decentralized applications, particularly as component heterogeneity, scale, and dynamicity grow. Our goal is to support a compositional and correct-by-design development methodology. We are also dedicated to creating sustainability-aware, human-centric AI-augmented development environments that facilitate the development and evolution of inclusive, trustworthy, reliable, and resilient systems. Furthermore, our research aims to synthesize software applications that meet non-functional requirements, even in situations of incomplete knowledge. We are striving to develop techniques and tools for mainstream languages and ecosystems that enable formal and systematic reasoning about application code’s correctness, in order to reduce the expertise and effort required for formal software verification and certification.
The SS group consistently publishes in premier venues as ICSE, CAV, TOPLAS, TOSEM, OOPSLA, ER, RE, ICFP, ECOOP, and ESOP. We have a strong international presence in the Software Engineering and Programming Languages communities, with high-impact contributions in software modelling, requirements engineering, and programming and verification languages. Collaborations with industry leaders such as Google and OutSystems demonstrate our commitment to integrating cutting-edge research into practical applications, effectively reducing the complexity of building efficient and trustworthy applications.