Debugging Data Flows in Reactive Programs

Herman Banken, Erik Meijer, Georgios Gousios

Research output: Chapter in Book/Conference proceedings/Edited volumeConference contributionScientificpeer-review

6 Citations (Scopus)
1021 Downloads (Pure)

Abstract

Reactive Programming is a style of programming that provides developers with a set of abstractions that facilitate event handling and stream processing. Traditional debug tools lack support for Reactive Programming, leading developers to fallback to the most rudimentary debug tool available: logging to the console. In this paper, we present the design and implementation of RxFiddle, a visualization and debugging tool targeted to Rx, the most popular form of Reactive Programming. RxFiddle visualizes the dependencies and structure of the data flow, as well as the data inside the flow. We evaluate RxFiddle with an experiment involving 111 developers. The results show that RxFiddle can help developers finish debugging tasks faster than with traditional debugging tools.
Original languageEnglish
Title of host publicationProceedings of the 40th International Conference on Software Engineering, ICSE 2018
Place of PublicationNew York, NY
PublisherAssociation for Computing Machinery (ACM)
ISBN (Print)978-1-4503-5638-1
DOIs
Publication statusPublished - 2018
EventICSE 2018: 40th International Conference on Software Engineering - Gothenburg, Sweden
Duration: 27 May 20183 Jun 2018
Conference number: 40
https://www.icse2018.org/

Conference

ConferenceICSE 2018
CountrySweden
CityGothenburg
Period27/05/183/06/18
Internet address

Keywords

  • reactive programming
  • debugging
  • visualization
  • program comprehension

Fingerprint Dive into the research topics of 'Debugging Data Flows in Reactive Programs'. Together they form a unique fingerprint.

  • Cite this

    Banken, H., Meijer, E., & Gousios, G. (2018). Debugging Data Flows in Reactive Programs. In Proceedings of the 40th International Conference on Software Engineering, ICSE 2018 Association for Computing Machinery (ACM). https://doi.org/10.1145/3180155.3180156