From Sequential Programs to Concurrent Threads | doi.page