Title :
A Refactoring Approach to Parallelism
Author_Institution :
Univ. of Illinois at Urbana-Champaign, Urbana, IL, USA
Abstract :
In the multicore era, a major programming task will be to make programs more parallel. This is tedious because it requires changing many lines of code; it´s also error-prone and nontrivial because programmers need to ensure noninterference of parallel operations. Fortunately, interactive refactoring tools can help reduce the analysis and transformation burden. The author describes how refactoring tools can improve programmer productivity, program performance, and program portability. The article also describes a toolset that supports several refactorings for making programs thread-safe, threading sequential programs for throughput, and improving scalability of parallel programs.
Keywords :
interactive systems; parallel programming; software engineering; software tools; interactive refactoring tools; major programming task; multicore era; parallel programs; program performance; program portability; refactoring approach; sequential programs threading; Arrays; Computer threading; Instruction sets; Parallel processing; concurrency; parallelism; refactoring;
Journal_Title :
Software, IEEE