[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/1596600.1596602acmconferencesArticle/Chapter ViewAbstractPublication PagesicfpConference Proceedingsconference-collections
research-article

Cleaning up Erlang code is a dirty job but somebody's gotta do it

Published: 05 September 2009 Publication History

Abstract

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. 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.

Supplementary Material

JPG File (cleaninguperlangcodeisadirtyjob.jpg)
MP4 File (cleaninguperlangcodeisadirtyjob.mp4)

References

[1]
The CouchDB project, 2009. http://couchdb.apache.org/.
[2]
Disco: Massive data, minimal code (version 0.2), Apr. 2009. http://discoproject.org/.
[3]
Ejabberd community site: The Erlang Jabber/XMPP daemon, 2009. http://www.ejabberd.im/.
[4]
Erlang Web, May 2009. http://www.erlang-web.org/.
[5]
M. Fowler, K. Beck, J. Brant, W. Opdyke, and D. Roberts. Refactoring: Improving the Design of Existing Code. Addison--Wesley, Reading, Massachusetts, 2001.
[6]
H. Li and S. Thompson. Clone detection and removal for Erlang/OTP within a refactoring environment. In Proceedings of the ACM SIGPLAN Symposium on Partial Evaluation and Semantics--Based Program Manipulation, pages 169--177, New York, NY, USA, Jan. 2009. ACM.
[7]
H. Li, S. Thompson, G. Orösz, and M. Tóth. Refactoring with Wrangler, updated: Data and process refactorings, and integration with Eclipse. In Proceedings of the 7th ACM SIGPLAN Workshop on Erlang, pages 61--72, New York, NY, USA, Sept. 2008. ACM.
[8]
T. Lindahl and K. Sagonas. Detecting software defects in telecom applications through lightweight static analysis: A war story. In C. Wei-Ngan, editor, Programming Languages and Systems: Proceedings of the Second Asian Symposium (APLAS'04), volume 3302 of LNCS, pages 91--106. Springer, Nov. 2004.
[9]
L. Lövei, Cs. Hoch, H. Köllo, T. Nagy, A. Nagyné-V'ıg, D. Horpácsi, R. Kitlei, and R. Király. Refactoring module structure. In Proceedings of the 7th ACM SIGPLAN Workshop on Erlang, pages 83--89, New York, NY, USA, Sept. 2008. ACM.
[10]
R. A. O'Keefe. Erlang Enhancement Proposal: is_between/3, July 2008. http://www.erlang.org/eeps/eep-0016.html.
[11]
K. Sagonas and T. Avgerinos. Automatic refactoring of Erlang programs. In Proceedings of the Eleventh International ACM SIGPLAN Symposium on Principles and Practice of Declarative Programming, New York, NY, USA, Sept. 2009. ACM.
[12]
T. Schütt, F. Schintke, and A. Reinefeld. Scalaris: Reliable transactional P2P key/value store. In Proceedings of the 7th ACM SIGPLAN Workshop on Erlang, pages 41--48, New York, NY, USA, Sept. 2008. ACM.
[13]
P. Wadler. Deforestation: Transforming programs to eliminate trees. Theoretical Comput. Sci., 73(2):231--248, 1990.
[14]
Wings 3D, 2009. http://www.wings3d.com/.
[15]
Yaws: Yet another web server, 2009. http://yaws.hyber.org/.

Cited By

View all
  • (2023)Towards a Catalog of Refactorings for Elixir2023 IEEE International Conference on Software Maintenance and Evolution (ICSME)10.1109/ICSME58846.2023.00045(358-362)Online publication date: 1-Oct-2023
  • (2022)Troubleshooting the performance of a large Erlang systemProceedings of the 21st ACM SIGPLAN International Workshop on Erlang10.1145/3546186.3549926(2-8)Online publication date: 6-Sep-2022
  • (2020)Transformations towards clean functional codeProceedings of the 19th ACM SIGPLAN International Workshop on Erlang10.1145/3406085.3409010(24-30)Online publication date: 23-Aug-2020
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ERLANG '09: Proceedings of the 8th ACM SIGPLAN workshop on ERLANG
September 2009
108 pages
ISBN:9781605585079
DOI:10.1145/1596600
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 05 September 2009

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. code cleanup
  2. code simplification
  3. erlang
  4. program transformation
  5. refactoring

Qualifiers

  • Research-article

Conference

ICFP '09
Sponsor:

Acceptance Rates

Overall Acceptance Rate 51 of 68 submissions, 75%

Upcoming Conference

ICFP '25
ACM SIGPLAN International Conference on Functional Programming
October 12 - 18, 2025
Singapore , Singapore

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 13 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Towards a Catalog of Refactorings for Elixir2023 IEEE International Conference on Software Maintenance and Evolution (ICSME)10.1109/ICSME58846.2023.00045(358-362)Online publication date: 1-Oct-2023
  • (2022)Troubleshooting the performance of a large Erlang systemProceedings of the 21st ACM SIGPLAN International Workshop on Erlang10.1145/3546186.3549926(2-8)Online publication date: 6-Sep-2022
  • (2020)Transformations towards clean functional codeProceedings of the 19th ACM SIGPLAN International Workshop on Erlang10.1145/3406085.3409010(24-30)Online publication date: 23-Aug-2020
  • (2010)Quickchecking refactoring toolsProceedings of the 9th ACM SIGPLAN workshop on Erlang10.1145/1863509.1863521(75-80)Online publication date: 30-Sep-2010
  • (2009)Automatic refactoring of Erlang programsProceedings of the 11th ACM SIGPLAN conference on Principles and practice of declarative programming10.1145/1599410.1599414(13-24)Online publication date: 7-Sep-2009

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media