2009 · 52 citations · 1 references
EngineeringComputer ArchitectureSoftware EngineeringMulticore EraSoftware AnalysisParallel ToolParallel SoftwareEclipse-based Refactoring ToolParallel ComputingSequential ProgramsParallelizing CompilerComputer EngineeringComputer ScienceCode RefactoringSoftware DesignProgram AnalysisSoftware TestingParallel ProgrammingParallel Programming Model
In the multicore era, sequential programs need to be refactored for parallelism. The next version of Java provides ParallelArray, an array datastructure that supports parallel operations over the array elements. For example, one can apply a procedure to each element, or reduce all elements to a new element in parallel. Refactoring an array to a ParallelArray requires (i) analyzing whether the loop iterations are safe for parallel execution, and (ii) replacing loops with the equivalent parallel operations. When done manually, these tasks are non-trivial and time-consuming. This demo presents ReLooper, an Eclipse-based refactoring tool, that performs these tasks automatically. Preliminary experience with refactoring real programs shows that ReLooper is useful.
1
Demand-driven points-to analysis for Java
Manu Sridharan, Denis Gopan, Lexin Shan et al. · 2005 · 194 citations