Paraphrasing : generating parallel programs using refactoring
MetadataShow full item record
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.
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_13conference
Formal Methods for Components and Objects
© 2013, Springer-Verlag Berlin Heidelberg. This work has been made available online in accordance with the publisher's policies. This is the author created accepted version manuscript following peer review and as such may differ slightly from the final published version. The final published version of this work is available at https://doi.org/10.1007/978-3-642-35887-6_13
DescriptionFunding: 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 Algebra
Items in the St Andrews Research Repository are protected by copyright, with all rights reserved, unless otherwise indicated.