Paraphrasing : generating parallel programs using refactoring
Abstract
Refactoring is the process of changing the structure of a program without changing its behaviour. Refactoring has so far only really been deployed effectively for sequential programs. However, with the increased availability of multicore (and, soon, manycore) systems, refactoring can play an important role in helping both expert and non-expert parallel programmers structure and implement their parallel programs. This paper describes the design of a new refactoring tool that is aimed at increasing the programmability of parallel systems. To motivate our design, we refactor a number of examples in C, C++ and Erlang into good parallel implementations, using a set of formal pattern rewrite rules.
Citation
Brown , C M , Hammond , K , Danelutto , M , Kilpatrick , P , Schöner , H & Breddin , T 2013 , Paraphrasing : generating parallel programs using refactoring . in B Beckert , F Damiani , F S de Boer & M M Bonsangue (eds) , Formal Methods for Components and Objects : 10th International Symposium, FMCO 2011, Turin, Italy, October 3-5, 2011, Revised Selected Papers . Lecture Notes in Computer Science (Programming and Software Engineering) , vol. 7542 , Springer , Berlin, Heidelberg , pp. 237-256 , 10th Symposium on Formal Methods for Components and Objects , Turin , Italy , 3/10/11 . https://doi.org/10.1007/978-3-642-35887-6_13 conference
Publication
Formal Methods for Components and Objects
ISSN
0302-9743Type
Conference item
Description
Funding: This work has been supported by the European Union grants RII3-CT-2005- 026133 SCIEnce: Symbolic Computing Infrastructure in Europe, IST-2010- 248828 ADVANCE: Asynchronous and Dynamic Virtualisation through performance ANalysis to support Concurrency Engineering, and IST-2011-288570 ParaPhrase: Parallel Patterns for Adaptive Heterogeneous Multicore Systems, and by the UK’s Engineering and Physical Sciences Research Council grant EP/G055181/1 HPC-GAP: High Performance Computational AlgebraCollections
Items in the St Andrews Research Repository are protected by copyright, with all rights reserved, unless otherwise indicated.