Abstract
The call tree reversal is an algorithmic solution to reverse the data flow of program execution with limited available memory using argument checkpointing. Call tree reversal is proven to be NP-complete and, hence, finding a good solution in a reasonable time is unlikely. Established heuristics exist for this problem, but they lack the potential for customization. In addition, they do not consider the possibility of result checkpointing which is an extension to the standard call tree reversal problem. This thesis introduces an IP formulation solving call tree reversal to challenge those issues. Furthermore, this formulation is extended to support result checkpointing and serves as a foundation for further analysis comparing solutions for call tree reversal with and without result checkpointing.