Authors
Danny Dig, John Marrero, Michael D Ernst
Publication date
2009/5/16
Conference
2009 IEEE 31st International Conference on Software Engineering
Pages
397-407
Publisher
IEEE
Description
Parallelizing existing sequential programs to run efficiently on multicores is hard. The Java 5 package java.util.concurrent (j.u.c.) supports writing concurrent programs: much of the complexity of writing thread-safe and scalable programs is hidden in the library. To use this package, programmers still need to reengineer existing code. This is tedious because it requires changing many lines of code, is error-prone because programmers can use the wrong APIs, and is omission-prone because programmers can miss opportunities to use the enhanced APIs. This paper presents our tool, Concurrencer, that enables programmers to refactor sequential code into parallel code that uses three j.u.c. concurrent utilities. Concurrencer does not require any program annotations. Its transformations span multiple, non-adjacent, program statements. A find-and-replace tool can not perform such transformations, which require …
Total citations
20082009201020112012201320142015201620172018201920202021202220232024281922121820269959911573
Scholar articles
D Dig, J Marrero, MD Ernst - 2009 IEEE 31st International Conference on Software …, 2009