1. A computer implemented method comprising the steps of: maintaining, in a software system, a program's calling context correct even when a monitoring of the program goes out of a scope of a program analysis by validating function call transitions and recovering partial paths before and after the violation of the program's control flow, the maintaining comprising: i) detecting a violation of control flow invariants in the software system including validating a source and destination of a function call in the software system; ii) interpreting a pre-violation partial path responsive to a failure of the validating; and iii) interpreting a post violation path after a violation of program flow.