Skip to content

Commit b470afc

Browse files
committed
Its about RxJS-base Applicaitons in general
1 parent c5941de commit b470afc

File tree

2 files changed

+7
-7
lines changed

2 files changed

+7
-7
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Workshop Paper "Debugging of RxJS-based Frontend Web Applications"
1+
# Workshop Paper "Debugging of RxJS-based Applications"
22

33
> Abstract tbd.
44

paper.tex

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
\Large{Workshop Paper}
1616
\par
17-
\Huge{Debugging of RxJS-based Frontend Web Applications}
17+
\Huge{Debugging of RxJS-based Applications}
1818
\par
1919
\vspace{2ex}
2020

@@ -48,24 +48,24 @@ \section{Introduction}
4848

4949
Debuggers available in IDEs and the developer tools of a web browser\footnote{\url{https://developer.mozilla.org/en-US/docs/Tools/Debugger}} today are specialized to work with imperative, control-flow oriented programs. E.g., when an engineer wants to know which part of the program called a particular function, the call stack gives a clear answer to this question. Assuming a dataflow oriented program implemented using RP, the question, which transformation was executed right before another cannot be answered using a call stack: A breakpoint within the transformation will not point to its logical predecessor; it will lead to the internals of the RP runtime instead.
5050

51-
This lack of specific knowledge about RP concepts in traditional debugging utilities does often end in time-consuming debugging sessions, as we can confirm from our own experience. Previous research has looked into this field \cite{10.1145/2577080.2577083} \cite{10.1145/2884781.2884815} \cite{10.1145/3180155.3180156} over the past years already. We will revisit their results in this paper and elaborate on the particular challenges of debugging RAs using RxJS for frontend web applications.
51+
This lack of specific knowledge about RP concepts in traditional debugging utilities does often end in time-consuming debugging sessions, as we can confirm from our own experience. Previous research has looked into this field \cite{10.1145/2577080.2577083} \cite{10.1145/2884781.2884815} \cite{10.1145/3180155.3180156} over the past years already. We will revisit their results in this paper and elaborate on the particular challenges of debugging RAs implemented using RxJS.
5252

5353
Transcripts of informal interviews and ``war stories'' collected from multiple practitioners will give insight into the challenges they face in their day-to-day jobs. We will validate their statements in an observational study and answer our first research question:
5454

5555
\begin{itemize}
56-
\item \emph{RQ1: What challenges do frontend engineers face when debugging RxJS-based code?}
56+
\item \emph{RQ1: What challenges do software engineers face when debugging RxJS-based code?}
5757
\end{itemize}
5858

5959
In response to this, we will present concepts on how to resolve previously identified problems and answer the second research question:
6060

6161
\begin{itemize}
62-
\item \emph{RQ2: How can the experience of frontend engineers during debugging of RxJS-based code be improved?}
62+
\item \emph{RQ2: How can the experience of software engineers during debugging of RxJS-based code be improved?}
6363
\end{itemize}
6464

6565
The future implementation and validation of these proposals lead to our third research question which will be part of future work, not part of this paper:
6666

6767
\begin{itemize}
68-
\item \emph{RQ3: What is the impact of a proposed solution on the debugging experience of a frontend engineer?}
68+
\item \emph{RQ3: What is the impact of a proposed solution on the debugging experience of a software engineer?}
6969
\end{itemize}
7070

7171
We will conclude this introductory section with the clarification of important terms. Section~\ref{sec:interviews} presents the interview results along with the collected war stories and formalizes two recurrent challenges. With Section~\ref{sec:discussion}, we will have a look at current and previous research regarding the debugging of RAs as well as specific tooling. We are going to validate presented challenges against currently available tools within Section~\ref{sec:study}, show threats to the validity of our work in Section~\ref{sec:threats} and finally end with an outlook on future iterations.
@@ -345,7 +345,7 @@ \section{Threats to Validity}
345345
\section{Conclusion}
346346
\label{sec:conclusion}
347347

348-
We have talked to multiple people in order to understand how software engineers, and in particular frontend engineers, apply RP using RxJS for building applications. We have looked into how they debug their applications and could identify several struggles they have to overcome in this process. We could prove that the engineers inevitably tend to modify their source code once they do not understand how the RP runtime propagates values through its internal data-flow graph by observing professionals in an observational study.
348+
We have talked to multiple people in order to understand how software engineers apply RP using RxJS for building applications. We have looked into how they debug their applications and could identify several struggles they have to overcome in this process. We could prove that the engineers inevitably tend to modify their source code once they do not understand how the RP runtime propagates values through its internal data-flow graph by observing professionals in an observational study.
349349

350350
On the way, we elaborated on previous, academic as well as non-academical efforts in the field of reactive debugging. We presented a selection of tools which leverage on their knowledge about the internal workings of RP runtime environments.
351351

0 commit comments

Comments
 (0)