Debugging Data Flows in Reactive Programs

by Banken, Herman and Gousios, Georgios and Meijer, Erik

You can get a pre-print version from here.

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.

Bibtex record

@inproceedings{BGM18,
  author = {Banken, Herman and Gousios, Georgios and Meijer, Erik},
  title = {Debugging Data Flows in Reactive Programs},
  booktitle = {Proceedings of the 40th International Conference on Software Engineering},
  year = {2018},
  month = may,
  location = {Gothenburg, Sweden},
  series = {ICSE '18},
  url = {/pub/debugging-dataflows-in-reactive-programs.pdf}
}

The paper