1. A computer-implemented method for call path enforcement, the method comprising: tracking via a processor, during run-time, a first run-time call order for a series of function calls in a software program; maintaining an evolving value associated with the first run-time call order; transforming a subset of function parameters associated with a protected function based on the first run-time call order and the evolving value prior to calling the protected function; calling the protected function; generating a second run-time call order by re-calculating the series of function calls inside the protected function; un-transforming the subset of function parameters based on the second run-time call order and the evolving value when inside the protected function; and executing the protected function based on the un-transformed parameters, wherein execution of the protected function is proper only if the first run-time call order matches the second run-time call order.