Parallelizing Sequential Programs using a Selection of Available Tools and Techniques