A copy of this work was available on the public web and has been preserved in the Wayback Machine. The capture dates from 2015; you can also visit the original URL.
The file type is application/pdf
.
Filters
Automatic refactoring of Erlang programs
2009
Proceedings of the 11th ACM SIGPLAN conference on Principles and practice of declarative programming - PPDP '09
In contrast to other refactoring tools, tidier is completely automatic and is not tied to any particular editor or IDE. ...
Last but not least, our paper describes in detail the automatic code cleanup methodology we advocate and a set of refactorings which are general enough to be applied, as is or with only small modifications ...
Acknowledgements Although by now there are relatively few remains of erl tidy's original code in the source code of tidier, the erl tidy module of the syntax tools library has served both as inspiration ...
doi:10.1145/1599410.1599414
dblp:conf/ppdp/SagonasA09
fatcat:xhnlptlz3jhz3bvoduh34timn4
Cleaning up Erlang code is a dirty job but somebody's gotta do it
2009
Proceedings of the 8th ACM SIGPLAN workshop on Erlang - Erlang '09
In addition, we present concrete examples of code improvements and our experiences from using a software tool with these capabilities, tidier, on Erlang code bases of significant size. ...
This paper describes opportunities for automatically modernizing Erlang applications, cleaning them up, eliminating certain bad smells from their code and occasionally also improving their performance. ...
Acknowledgements We thank Richard Carlsson, Björn Gustavsson, and Kenneth Lundin for supportive comments and suggestions for refactorings. ...
doi:10.1145/1596600.1596602
dblp:conf/erlang/AvgerinosS09
fatcat:lwpvncopn5chjfipe3qhumu4yq
Towards semi-automatic data-type translation for parallelism in Erlang
2016
Proceedings of the 15th International Workshop on Erlang - Erlang 2016
Acknowledgments This work has been partially supported by the EU H2020 grant "RePhrase: Refactoring Parallel Heterogeneous Resource-Aware Applications -a Software Engineering Approach" (ICT-644235), by ...
We have discussed a new type-translation refactoring that is designed to automatically translate Erlang list structures and operations to equivalent binary and ETS forms and applied our approach to the ...
Our recursive descent refactoring consists of a setup phase, converting the input list xs, and a recursive phase that inspects each statement in the program, refactoring those that are relevant to xs ...
doi:10.1145/2975969.2975978
dblp:conf/erlang/BarwellBCH16
fatcat:l4wlnfujfrcodoclv7ihcpciq4
Automated API migration in a user-extensible refactoring tool for Erlang programs
2012
Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering - ASE 2012
Wrangler is a refactoring and code inspection tool for Erlang programs. ...
This paper reports an extension to Wrangler's extension framework, supporting the automatic generation of API migration refactorings from a user-defined adapter module. ...
A layer of commonly-used components which handles static analyses of Erlang programs, parsing programs into ASTs, AST traversals, rendering of new source code after a refactoring, support of undo, preview ...
doi:10.1145/2351676.2351727
dblp:conf/kbse/LiT12
fatcat:h4rd3hhamfe55c3kj75xyl6y6q
Comparative Study of Refactoring Haskell and Erlang Programs
2006
2006 Sixth IEEE International Workshop on Source Code Analysis and Manipulation
Taking Haskell and Erlang as examples, we investigate the application of refactoring techniques to functional programs, and building tools for supporting interactive refactoring. ...
refactoring Haskell and Erlang programs. module Fact(fac) where fac :: Int -> Int fac 0 = 1 fac n | n>0 = n * fac(n-1) ...
This refactoring is lesswell suited for Erlang programs because Erlang does not allow the use of user-defined functions in guards. ...
doi:10.1109/scam.2006.8
dblp:conf/scam/LiT06
fatcat:4tfmrahgd5aw5kut5qe7kquo7y
Refactoring Support for Modularity Maintenance in Erlang
2010
2010 10th IEEE Working Conference on Source Code Analysis and Manipulation
We demonstrate how Wrangler, a general-purpose refactoring tool for Erlang, can be used to maintain and improve the modularity of programs written in Erlang without dramatically changing the existing module ...
We identify a set of "modularity smells" and show how they can be detected by Wrangler and removed by way of a variety of refactorings implemented in Wrangler. ...
Wrangler's support for automatic searching of sub-components proved to be very helpful.
Implementation Considerations Erlang is a general-purpose functional programming language. ...
doi:10.1109/scam.2010.17
dblp:conf/scam/LiT10
fatcat:3vf7cz2zafcnjowffocefoxjmi
Safe Concurrency Introduction through Slicing
2015
Proceedings of the 2015 Workshop on Partial Evaluation and Program Manipulation - PEPM '15
In this paper, we introduce three novel refactorings for retrofitting concurrency to Erlang applications, and demonstrate how the use of program slicing makes the automation of these refactorings possible ...
Traditional refactoring is about modifying the structure of existing code without changing its behaviour, but with the aim of making code easier to understand, modify, or reuse. ...
In Section 3, we give an overview of the existing refactoring and slicing support for Erlang programs. ...
doi:10.1145/2678015.2682533
dblp:conf/pepm/LiT15
fatcat:jswfb3temjc5bpddfgwcfgbhay
Towards Trustworthy Refactoring in Erlang
2016
Electronic Proceedings in Theoretical Computer Science
To demonstrate the applicability of our approach, we show how to define and verify a number of example refactorings in the system. ...
We propose a simple, high-level but rigorous, notation for defining refactoring transformations in Erlang, and show that this notation provides an extensible, verifiable and executable specification language ...
We are grateful to Andrei Arusoaie and Dorel Lucanu for providing us with the pre-release copy of the SCC extension of K used to perform some of the verifications reported here. ...
doi:10.4204/eptcs.216.5
fatcat:fycjcmuyzzhyxgwrz3qyd4ueri
Property-Based Testing - The ProTest Project
[chapter]
2010
Lecture Notes in Computer Science
Erlang. ...
In this paper we provide an overview of the project goals, as well as detailing initial progress in developing property based testing techniques and tools for the concurrent functional programming language ...
) to ease the task of constructing a verifiable model from an Erlang program. ...
doi:10.1007/978-3-642-17071-3_13
fatcat:lmmpqlf74ndqfljsqwfj3nrx6y
Paraphrasing: Generating Parallel Programs Using Refactoring
[chapter]
2013
Lecture Notes in Computer Science
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. ...
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. ...
Erlang Example We now show how to refactor an equivalent skeleton implementation of the same task farm in Erlang. Erlang [?] ...
doi:10.1007/978-3-642-35887-6_13
fatcat:zrptvlendnhjzpb2zxq3l6tisu
Improved Testing through Refactoring: Experience from the ProTest Project
[chapter]
2010
Lecture Notes in Computer Science
While some of the observations are Erlang-specific, others apply to test code in general. We argue that refactoring is particularly valuable within testing. ...
This has been achieved through the removal of code clones, the identification of properties for property-based testing and the definition of testing-aware refactorings and test-framework-specific refactorings ...
Conclusions We have shown the various ways that refactoring tools can improve testing for Erlang programs, and reflected on aspects of each of these. ...
doi:10.1007/978-3-642-15585-7_21
fatcat:ioyuh5jxbncrthgvvp4qlhtxo4
A language-independent parallel refactoring framework
2012
Proceedings of the Fifth Workshop on Refactoring Tools - WRT '12
While refactoring has so far mainly been applied to sequential programs, it is our contention that refactoring can play a key role in significantly improving the programmability of parallel systems, by ...
allowing the programmer to apply a set of well-defined transformations in order to parallelise their programs. ...
Moreover, with additional tools such as QuickCheck [1] for Erlang, it is possible to prove functional correctness of the refactored parallel programs automatically, as part of the refactoring process ...
doi:10.1145/2328876.2328884
dblp:conf/icse/BrownHDK12
fatcat:5ujoz52tkvax7cb7egshdoq4o4
Automating property-based testing of evolving web services
2014
Proceedings of the ACM SIGPLAN 2014 Workshop on Partial Evaluation and Program Manipulation - PEPM '14
and the automatic generation of refactoring scripts for evolving the test code. ...
added to Wrangler, the Erlang refactoring tool. ...
Wrangler, developed at the University of Kent by the some of the authors, is a user-extensible refactoring and code inspection tool for Erlang programs. ...
doi:10.1145/2543728.2543741
dblp:conf/pepm/LiTSF14
fatcat:xcsttv3pvrdibk63cun3gtrd5e
Parallelising An Erlang Multi-Agent System
2016
Zenodo
We present a series of generic Program Shaping rewrite rules, and their implementation as refactorings, and demonstrate their application to an Erlang Multi-Agent System (MAS). ...
Program Shaping is the process of transforming a sequential program in order to better enable the introduction of parallelism. ...
In this paper we demonstrate how such an evolutionary multiagent system built in Erlang by AGH might be semi-automatically restructured and parallelised using program shaping refactoring techniques. ...
doi:10.5281/zenodo.581147
fatcat:4okxpx7x7bhdjpptgpskqpq7zq
Extracting Properties from Test Cases by Refactoring
2011
2011 IEEE Fourth International Conference on Software Testing, Verification and Validation Workshops
We report on how similar test cases in a test suite written in Erlang can be identified and then refactored into properties, giving a generalisation of the specification implicit in the test suite. ...
A QuickCheck property is a logical statement of aspects of the behaviour of a system. ...
Wrangler [2] is an interactive tool for refactoring Erlang programs, which not only supports a collection of standard refactorings, but also has facilities to detect and eliminate code clones and to ...
doi:10.1109/icstw.2011.65
dblp:conf/icst/LiTA11
fatcat:ejvqs7adpvcs3pa7acogktbxvu
« Previous
Showing results 1 — 15 out of 299 results