skip to main content
10.1145/1022471.1022474acmconferencesArticle/Chapter ViewAbstractPublication PagesicfpConference Proceedingsconference-collections
Article

Troubleshooting a large erlang system

Published:22 September 2004Publication History

ABSTRACT

In this paper, we discuss some experiences from a large, industrial software project using a functional programming language. In particular, we will focus on programming errors.The software studied is the AXD 301 (a multi-service switch from Ericsson AB [1]) control system. It is implemented in a functional language Erlang [2 ]. We will discuss ho this affects programmer productivity.There are now well over 1,000 AXD 301's deployed. Even though a properly handled AXD 301 is quite reliable, there exists a great deal of knowledge about problems that do occur in production code. We will analyze what kinds of programming errors cause these problems, and suggest some methods for preventing and, when that fails, finding the errors. We will also describe some tools that has been specifically developed to aid in debugging.One (perceived) problem with using a interpreted, functional language is execution speed. In practice, we have found that the overhead of running in an emulator is not dramatic, and that it is often more than compensated for by the advantages. The expressiveness of the language and the absence of low-level bugs means that programmers have more time to spend on tuning the code. And since the emulator has good support for tracing, one can perform very advanced profiling, thus making the code intrinsically more effective. We will discuss a profiling tool developed for that purpose.

References

  1. Ericsson. www.ericsson.comGoogle ScholarGoogle Scholar
  2. Armstrong, J., Virding, R., Wikstrom, C., and Williams, M. Concurrent Programming in ERLANG. Prentice-Hall Europe, Hemel Hempstead, U.K., 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Open Source Erlang. www.erlang.orgGoogle ScholarGoogle Scholar
  4. OTP Test Server. www.erlang.org/project/test_serverGoogle ScholarGoogle Scholar
  5. jungerl. jungerl.sourceforge.netGoogle ScholarGoogle Scholar
  6. Tony Rogvall et al. Erlang + GTK. erlgtk.sourceforge.netGoogle ScholarGoogle Scholar
  7. The GIMP Toolkit. www.gtk.orgGoogle ScholarGoogle Scholar
  8. Eric S. Raymond, Why Python? www.linuxjournal.com/article.php?sid=3882Google ScholarGoogle Scholar

Index Terms

  1. Troubleshooting a large erlang system

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          ERLANG '04: Proceedings of the 2004 ACM SIGPLAN workshop on Erlang
          September 2004
          78 pages
          ISBN:1581139187
          DOI:10.1145/1022471

          Copyright © 2004 ACM

          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]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 22 September 2004

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Author Tags

          Qualifiers

          • Article

          Acceptance Rates

          Overall Acceptance Rate51of68submissions,75%

          Upcoming Conference

          ICFP '24

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader