Validating Software States Using Reverse Execution