Skip to main content

2018 | OriginalPaper | Buchkapitel

Elmsvuur: A Multi-tier Version of Elm and its Time-Traveling Debugger

verfasst von : Jeff Horemans, Bob Reynders, Dominique Devriese, Frank Piessens

Erschienen in: Trends in Functional Programming

Verlag: Springer International Publishing

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

Debugging dynamic web applications is challenging in many ways. Applications intrinsically consist of (at least) a server and a client program, each deployed on different nodes. Because of that, web applications behave like distributed systems and debugging them faces much of the same problems like managing state and heterogeneity of nodes. For web applications the latter problem also applies for the distinction between client and server code. These sections are typically written in different languages which further complicates the debugging of a web application.
The most common solution is dealing with each program layer individually using language-specific debugging tools, but this does not give an overview of the entire application flow.
Multi-tier languages allow programming a web application in a single language as a single application. They are primarily designed to offer advantages with regards to developing web applications, but this opens up new possibilities for debugging as well. We propose Elmsvuur, a multi-tier version of Elm, and a time-travel debugger for it. The debugger operates as a single tool for the whole client/server application. We discuss how advanced timeline debugging features, such as resuming from different points in the history, allows programmers to find bugs across tiers.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Fußnoten
1
Elmsvuur is the dutch name for St. Elmo’s fire: a weather phenomenon that produces electric discharges from sharp objects (like ship masts) in certain atmospheric conditions. The discharges remind us of messages escaping a single tier’s boundary.
 
Literatur
2.
Zurück zum Zitat Serrano, M., Gallesio, E., Loitsch, F.: Hop: a language for programming the web 2.0. In: DLS, pp. 975–985 (2006) Serrano, M., Gallesio, E., Loitsch, F.: Hop: a language for programming the web 2.0. In: DLS, pp. 975–985 (2006)
4.
Zurück zum Zitat Serrano, M., Prunet, V.: A glimpse of Hopjs. In: ICFP (2016) Serrano, M., Prunet, V.: A glimpse of Hopjs. In: ICFP (2016)
6.
Zurück zum Zitat Serrano, M.: A multitier debugger for web applications. In: WEBIST, pp. 5–16 (2014) Serrano, M.: A multitier debugger for web applications. In: WEBIST, pp. 5–16 (2014)
7.
Zurück zum Zitat Tolmach, A., Appel, A.W.: A debugger for standard ML. J. Funct. Program. 5(2), 155–200 (1995)CrossRef Tolmach, A., Appel, A.W.: A debugger for standard ML. J. Funct. Program. 5(2), 155–200 (1995)CrossRef
8.
Zurück zum Zitat Lewis, B.: Debugging backwards in time. In: AADEBUG (2003) Lewis, B.: Debugging backwards in time. In: AADEBUG (2003)
9.
Zurück zum Zitat Czaplicki, E., Chong, S.: Asynchronous functional reactive programming for GUIs. In: PLDI, pp. 411–422 (2013) Czaplicki, E., Chong, S.: Asynchronous functional reactive programming for GUIs. In: PLDI, pp. 411–422 (2013)
10.
Zurück zum Zitat Grishman, R.: The debugging system AIDS. In: Proceedings of the 5–7 May 1970, Spring Joint Computer Conference, AFIPS 1970 (Spring), pp. 59–64. ACM (1970) Grishman, R.: The debugging system AIDS. In: Proceedings of the 5–7 May 1970, Spring Joint Computer Conference, AFIPS 1970 (Spring), pp. 59–64. ACM (1970)
11.
Zurück zum Zitat Geels, D., Altekar, G., Shenker, S., Stoica, I.: Replay debugging for distributed applications. In: USENIX, pp. 289–300 (2006) Geels, D., Altekar, G., Shenker, S., Stoica, I.: Replay debugging for distributed applications. In: USENIX, pp. 289–300 (2006)
12.
Zurück zum Zitat Burg, B., Bailey, R., Ko, A.J., Ernst, M.D.: Interactive record/replay for web application debugging. In: UIST, pp. 473–484. ACM (2013) Burg, B., Bailey, R., Ko, A.J., Ernst, M.D.: Interactive record/replay for web application debugging. In: UIST, pp. 473–484. ACM (2013)
13.
Zurück zum Zitat Stanley, T., Close, T., Miller, M.S.: Causeway: a message-oriented distributed debugger (2009) Stanley, T., Close, T., Miller, M.S.: Causeway: a message-oriented distributed debugger (2009)
Metadaten
Titel
Elmsvuur: A Multi-tier Version of Elm and its Time-Traveling Debugger
verfasst von
Jeff Horemans
Bob Reynders
Dominique Devriese
Frank Piessens
Copyright-Jahr
2018
DOI
https://doi.org/10.1007/978-3-319-89719-6_5