Debugging Support for Reactive Programming with RxJS

Alabor, Manuel (2022) Debugging Support for Reactive Programming with RxJS. Masters thesis, OST Ostschweizer Fachhochschule.

[thumbnail of alabor-debugging-support-for-reactive-programming-with-rxjs-master-thesis-v1.0.1.pdf] Text
alabor-debugging-support-for-reactive-programming-with-rxjs-master-thesis-v1.0.1.pdf - Supplemental Material

Download (14MB)

Abstract

Software engineers use numerous software tools in their daily working routine. These tools help them to streamline complex and repetitive tasks. Integrated development environments bundle such utilities ready-to-hand. This way, engineers benefit from a seamless developer experience where every tool feels and looks like a part of its host application and is only a keypress away. Of course, debuggers are a vital component of this toolset.

Debuggers built into contemporary development environments are tailored to work best with programs following an imperative programming style. However, when used with different programming paradigms, such as reactive programming, these tools do not adequately assist the engineers. This is why software engineers resort to more simple debugging techniques like manual print statements instead.

This summative thesis documents the debugging techniques engineers employ to debug programs implemented using RxJS, a popular library providing reactive programming functionality for JavaScript. First, it reveals why engineers abstain from using specialized reactive debugging tools by identifying a critical success factor for such utilities: A reactive debugger must be ready-to-hand, integrating with the engineers’ overall developer experience. Subsequently, the thesis illustrates the iterative research and development process of a ready-to-hand reactive debugger for Microsoft Visual Studio Code. “RxJS Debugging for Visual Studio Code” provides with Operator Log Points a novel reactive debugging utility. To my knowledge, this is the first reactive debugger that allows engineers to inspect RxJS applications’ runtime behavior without leaving their development environment or adding manual print statements.

Item Type: Thesis (Masters)
Subjects: Area of Application > Development Tools
Technologies > Frameworks and Libraries > React
Metatags > IFS (Institute for Software)
Divisions: Master of Advanced Studies in Software Engineering
Depositing User: Stud. I
Contributors:
Contribution
Name
Email
Thesis advisor
Stolze, Markus
UNSPECIFIED
Date Deposited: 27 Apr 2022 18:07
Last Modified: 27 Apr 2022 18:11
URI: https://eprints.ost.ch/id/eprint/1031

Actions (login required)

View Item
View Item