Project description
Taking software engineering to a new, safer level
Software systems, which have experienced increased interest on a global scale, are constantly evolving. This continuous evolution stems from the introduction of new features, the fixing of bugs and security vulnerabilities, and the need to adapt to new hardware and platforms. However, despite the immense benefits that come with this constant improvement, software evolution is also prone to introduce bugs and security problems. The EU-funded PASS project will tackle this challenge. By taking a holistic approach, the project will assist software in evolving safely and securely by testing and verifying changes in a scalable way and designing techniques for in-production analysis of software updates.
Objective
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.
Fields of science
Programme(s)
Funding Scheme
ERC-COG - Consolidator GrantHost institution
SW7 2AZ LONDON
United Kingdom