Reverse Engineering of Dynamic Parallel Program Behavior from Execution Traces
Identifying Hierarchical Structure in Sequences: A linear-time algorithm