Measuring And Improving The Potential Parallelism Of Sequential Java Programs