Completed Computing & AI Education & Skills

Program Analysis for Safe and Secure Software Evolution

Summary

Original abstract (not yet simplified)

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...

View original technical description
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.

Related Research

Grants with similar aims, by meaning.

Multi-version Execution Techniques for Increasing the Reliability and Security of Evolving Software
Automated Patch Impact Analysis (PATCH)
Fostering Collaboration between White-hats and Academia
Automatically Detecting and Surviving Exploitable Compiler Bugs
Program Verification Techniques for Understanding Security Properties of Software

Original classification

H2020

Plain English summaries and category classifications on this site are generated by AI and may not perfectly reflect the original research.