Debugging Data-Flows in Reactive Programs
H.J. Banken (TU Delft - Electrical Engineering, Mathematics and Computer Science)
Erik Meijer – Mentor
Gousios Gousios – Mentor
A. Van Deursen – Graduation committee member
Joost de Vries – Mentor
More Info
expand_more
Project source code
https://github.com/hermanbanken/RxFiddle/Project page
https://rxfiddle.netOther than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.
Abstract
Reactive Programming is a way of programming designed to provide developers with the right abstractions for creating systems that use streams of data. Traditional debug tools lack support for the abstractions provided, causing developers to fallback to the most rudimentary debug tool available: printf-debugging. In this work, we design a visualization and debugging tool for Reactive Programming, that aids comprehension and debugging of reactive systems, by visualizing the dependencies and structure of the data flow, and the data inside the flow. We present RxFiddle, a platform for the visualization as well as the required instrumentation for RxJS in the ReactiveX-family of Reactive Programming libraries. Evaluation based on an experiment with 111 subjects, shows that RxFiddle can outperform traditional debugging in terms of debug time required.