Future Prediction

Future prediction is an approach for empowering software systems with the ability to predict the consequences of their own actions. These mechanisms are particularly appealing for software systems that interact with the environment or communicate over the network. The implementations of this approach present new points in the design space of static and dynamic analyses.

In CrystalBall, a joint project with the Networked Systems Laboratory, we have explored this approach in the context of distributed systems: