TitleHow do programs become more concurrent? A story of program transformations
Publication TypeConference Paper
Year of Publication2011
AuthorsDig D, Marrero J, Ernst MD
Conference NameProceedings of the 4th International Workshop on Multicore Software Engineering
Pagination43–50
Date or Month PublishedMay
Conference LocationWaikiki, Hawaii, USA
AbstractIn the multi-core era, programmers need to resort to parallelism if they want to improve program performance. Thus, a major maintenance task will be to make sequential programs more concurrent. Must concurrency be designed into a program, or can it be retrofitted later? What are the most common transformations to retrofit concurrency into sequential programs? Are these transformations random, or do they belong to certain categories? How can we automate these transformations? \par To answer these questions we analyzed the source code of five open-source Java projects and looked at a total of 14 versions. We analyzed qualitatively and quantitatively the concurrency-related transformations. We found that these transformations belong to four categories: transformations that improve the responsiveness, the of these transformations, concurrency was retrofitted on existing program new program elements. Our findings educate software developers on how to parallelize sequential programs, and provide hints for tool vendors about what transformations are worth automating.
Downloadshttps://homes.cs.washington.edu/~mernst/pubs/concurrent-history-iwmse201... PDF
Citation KeyDigME2011