RecovSlicing: Recovering Execution to Computing Dynamic Data Dependency