ABSTRACT
Wrangler is a refactoring tool for Erlang, implemented in Erlang. This paper reports the latest developments in Wrangler, which include improved user experience, the introduction of a number of data- and process-related refactorings, and also the implementation of an Eclipse plug-in which, together with Erlide, provides refactoring support for Erlang in Eclipse.
Supplemental Material
Available for Download
Slides from the presentation
- Eclipse - an open development platform. http://www.eclipse.org/.Google Scholar
- Erlide - the Erlang IDE. http://erlide.sourceforge.net/.Google Scholar
- The Emacs Editor. http://www.gnu.org/software/emacs/.Google Scholar
- The Vim Editor. http://www.vim.org/.Google Scholar
- J. Armstrong. Programming Erlang. Pragmatic Bookshelf, 2007.Google Scholar
- J. Armstrong, R.Virding, C. Wikström, and M. Williams. Concurrent Programming in Erlang. Prentice-Hall, second edition, 1996. Google ScholarDigital Library
- D. Byrne. Integrating Java and Erlang. http://www.theserverside.com/tt/articles/article.tss?l=IntegratingJavaandErlang.Google Scholar
- R. Carlsson. Erlang Syntax Tools. http://www.erlang.org/doc/doc-5.4.12/lib/syntax_tools-1.4.3, 2004.Google Scholar
- E. Clayberg and D. Rubel. Eclipse: Building Commercial-Quality Plug-ins. Addison Wesley, 2006. Google ScholarDigital Library
- M. Fowler, K. Beck, J. Brant, W. Opdyke, and D. Roberts. Refactoring: Improving the Design of Existing Code. Addison-Wesley, 1999. Google ScholarDigital Library
- L. Frenzel. The Language Toolkit: An API for Automated Refactorings in Eclipse-based IDEs. 2006.Google Scholar
- L. Gorrie. Distel: Distributed Emacs Lisp (for Erlang). In The Proceedings of Eighth International Erlang/OTP User conference, Stockholm, Sweden, November 2002.Google Scholar
- S. Holzner. Eclipse Cookbook. O'Reilly, 2004. Google ScholarDigital Library
- H. Li. Refactoring Haskell Programs. PhD thesis, Computing Laboratory, University of Kent, Kent, UK, September 2006.Google Scholar
- H. Li, C. Reinke, and S. Thompson. Tool Support for Refactoring Functional Programs. In Johan Jeuring, editor, ACM SIGPLAN Haskell Workshop, Uppsala, Sweden, August 2003. Google ScholarDigital Library
- H. Li and S. Thompson. A Comparative Study of Refactoring Haskell and Erlang Programs. In M. Di Penta and L. Moonen, editors, SCAM2006, 2006. Google ScholarDigital Library
- H. Li and S. Thompson. Testing Erlang Refactorings with QuickCheck. In Draft Proceedings of the 19th International Symposium on Implementation and Application of Functional Languages, IFL 2007, Freiburg, Germany, September 2007. Google ScholarDigital Library
- H. Li and S. Thompson. Clone Detection and Removal for Erlang/OTP within a Refactoring Environment. In P. Achten, P. Koopman, and M. T. Morazn, editors, Draft Proceedings of the Ninth Symposium on Trends in Functional Programming(TFP), The Netherlands, May 2008.Google Scholar
- H. Li and S. Thompson. Tool Support for Refactoring Functional Programs. In Partial Evaluation and Program Manipulation, San Francisco, California, USA, January 2008. Google ScholarDigital Library
- H. Li, S. Thompson, and C. Reinke. The Haskell Refactorer, HaRe, and its API. Electr. Notes Theor. Comput. Sci., 141(4):29--34, 2005. Google ScholarDigital Library
- Huiqing Li, Simon Thompson, László Lövei, Zoltán Horváth, Tamás Kozsik, Anikó Víg, and Tamás Nagy. Refactoring Erlang Programs. In The Proceedings of 12th International Erlang/OTP User Conference, Stockholm, Sweden, November 2006.Google Scholar
- László Lövei, Zoltán Horváth, Tamás Kozsik, and Roland Király. Introducing Records by Refactoring. In Erlang '07: Proceedings of the 2007 SIGPLAN workshop on Erlang Workshop, pages 18--28, New York, NY, USA, 2007. ACM. Google ScholarDigital Library
- László Lövei, Zoltán Horváth, Tamás Kozsik, Anikó Víg, and Tamás Nagy. Refactoring Erlang Programs. Periodica Polytechnica - Electrical Engineering (to appear), 2007.Google Scholar
- T. Mens and T. Tourwé. A Survey of Software Refactoring. IEEE Trans. Software Eng., 30(2):126-139, 2004. Google ScholarDigital Library
- Tamás Nagy and Anikó Víg. Erlang Refactor Tool. Master's thesis, ELTE, Budapest, Hungary, 2007.Google Scholar
- G. Orosz. The Eclipse Integration of the Wrangler Erlang Refactor Tool. Technical report, Computing Laboratory, University of Kent, UK, 2008.Google Scholar
- B. C. Pierce and D. N. Turner. Pict: A Programming Language Based on the Pi-Calculus. In G. Plotkin, C. Stirling, and M. Tofte, editors, Proof, Language and Interaction: Essays in Honour of Robin Milner. MIT Press, 2000. Google ScholarDigital Library
- P. Diviánszky R. Szabó-Nacsa and Z. Horváth. Prototype Environment for Refactoring Clean Programs. In The Fourth Conference of PhD Students in Computer Science, Szeged, Hungary, 2004.Google Scholar
- L. Felber T. Corbat and M. Stocker. Refactoring Support for the Eclipse Ruby Development tools. Master's thesis, University of Applied Sciences, Rapperswil, Switzerland, 2006.Google Scholar
- M. Weiser. Program Slicing. In ICSE '81: Proceedings of the 5th International Conference on Software engineering, pages 439--449, Piscataway, NJ, USA, 1981. IEEE Press. Google ScholarDigital Library
Index Terms
- Refactoring with wrangler, updated: data and process refactorings, and integration with eclipse
Recommendations
A domain-specific language for scripting refactorings in erlang
FASE'12: Proceedings of the 15th international conference on Fundamental Approaches to Software EngineeringRefactoring is the process of changing the design of a program without changing its behaviour. Many refactoring tools have been developed for various programming languages; however, their support for composite refactorings --- refactorings that are ...
Automated API migration in a user-extensible refactoring tool for Erlang programs
ASE '12: Proceedings of the 27th IEEE/ACM International Conference on Automated Software EngineeringWrangler is a refactoring and code inspection tool for Erlang programs. Apart from providing a set of built-in refactorings and code inspection functionalities, Wrangler allows users to define refactorings, code inspections, and general program ...
Refactoring-aware versioning in Eclipse
To fully support refactorings in a team development environment we have implemented a refactoring-aware repository provider as an extension plug-in to the Java Development Tools in Eclipse. The versioning system treats refactorings as first-class ...
Comments