Program Analysis and Graph Pattern Matching to Reveal Modularity and Potential for Parallelism