Debugging Data Flows in Reactive Programs

Herman Banken, Erik Meijer, Georgios Gousios

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

22 Citations (Scopus)
1936 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
Country/TerritorySweden
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