Program Analysis for Safe and Secure Software Evolution
Constant evolution is an inherent property of modern software systems. Software evolves to implement new features, adapt to new hardware and platforms, fix bugs and security vulnerabilities, or improve non-functional properties su...
ver más
¿Tienes un proyecto y buscas un partner? Gracias a nuestro motor inteligente podemos recomendarte los mejores socios y ponerte en contacto con ellos. Te lo explicamos en este video
Información proyecto PASS
Duración del proyecto: 72 meses
Fecha Inicio: 2018-12-17
Fecha Fin: 2024-12-31
Fecha límite de participación
Sin fecha límite de participación.
Descripción del proyecto
Constant evolution is an inherent property of modern software systems. Software evolves to implement new features, adapt to new hardware and platforms, fix bugs and security vulnerabilities, or improve non-functional properties such as performance and energy consumption.
While these changes have an overall positive impact, they are also responsible for a large number of critical bugs and security attacks. The reason is twofold: first, software changes are not vetted enough, due to the difficulty of reasoning about all possible new behaviours that they introduce. Second, even when critical errors in deployed changes are later discovered and fixed, users take a long time to update their software to the latest version, mostly because they are concerned about the potential negative impact of an update.
The PASS project aims to tackle both problems and help software evolve safely and securely. It takes a holistic approach to the challenges of safe and secure software evolution, by combining offline program analysis to verify or comprehensively test software changes, with runtime mechanisms for keeping the software updated and secure against potentially erroneous changes that make it into the deployed system.
This is an ambitious project, which requires fundamental advances at the intersection of program analysis, software engineering, and computer systems to develop practical cross-version specifications, scalable patch verification, in-production testing and analysis, and low-overhead reversible software updates.