Abstract: In this paper we present a framework for what-if analysis of programs based on Lewis' theory of counterfactuals. The framework can be used to statically perform change impact analysis for source code. It enables us to verify assertions about a changed version of the program without actually incorporating the changes. We present a logical calculus that precisely characterizes structural modifications to source code and their impact on the behavior of the program.
Loading