You are here
Quick, Simple, and Easy Solutions to Hard Software Problems
We present quick, simple, and easy solutions to hard software problems such as security vulnerabilities, memory leaks, addressing errors, infinite loops, program optimization, and automatic parallelization. Each solution is implemented as an automated program transformation that takes as input a program that may have one or more of these problems and produces as output a program without the problem. The key to these solutions is transcending the traditional requirement that program transformations preserve the semantics of the original program. We show how transcending this requirement to focus on more relevant requirements such as acceptability and accuracy can open up new and productive directions across the entire software lifecycle.