An Empirical Study on Program Comprehension with Reactive Programming

by Guido Salvaneschi, Sven Amann, Sebastian Proksch, and Mira Mezini

Abstract: Starting from the first investigations with strictly functional languages, reactive programming has been proposed as THE programming paradigm for reactive applications. The advantages of designs based on this style over designs based on the Observer design pattern have been studied for a long time. Over the years, researchers have enriched reactive languages with more powerful abstractions, embedded these abstractions into mainstream languages – including object-oriented languages – and applied reactive programming to several domains, like GUIs, animations, Web applications, robotics, and sensor networks. However, an important assumption behind this line of research – that, beside other advantages, reactive programming makes a wide class of otherwise cumbersome applications more comprehensible – has never been evaluated. In this paper, we present the design and the results of the first empirical study that evaluates the effect of reactive programming on comprehensibility compared to the traditional object-oriented style with the Observer design pattern. Results confirm the conjecture that comprehensibility is enhanced by reactive programming. In the experiment, the reactive programming group significantly outperforms the other group.

Resources

BibTeX

@inproceedings {SAPM14,
  title = {{An Empirical Study on Program Comprehension with Reactive Programming}},
  author = {Salvaneschi, Guido and Amann, Sven and Proksch, Sebastian and Mezini, Mira},
  booktitle = {{Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering}},
  series = {FSE 2014},
  pages = {564--575},
  year = {2014},
  doi = {10.1145/2635868.2635895},
  url = {http://dx.doi.org/10.1145/2635868.2635895},
}