Understanding Code with Execution Traces