Alessandra Gorla, Post-doctoral Researcher, Saarland University, Germany
Software is often redundant, in the sense that some operations are designed to behave like others but their executions differ. This redundancy can be introduced deliberately, as in the case of N-version programming, or it can be intrinsically present due to common design and development practices. I will present and discuss the notion of intrinsic redundancy and I will show that it exists and can be exploited to improve the reliability of software systems. I will first present a technique that uses such redundancy to automatically recover from runtime failures. I will then present another use of intrinsic redundancy to generate testing oracles.