Back to Search
Start Over
On the Positive Effect of Reactive Programming on Software Comprehension: An Empirical Study
- Source :
- IEEE Transactions on Software Engineering. 43:1125-1143
- Publication Year :
- 2017
- Publisher :
- Institute of Electrical and Electronics Engineers (IEEE), 2017.
-
Abstract
- Starting from the first investigations with strictly functional languages, reactive programming has been proposed as the programming paradigm for reactive applications. 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, such as GUIs, animations, Web applications, robotics, and sensor networks. However, an important assumption behind this line of research is that, beside other claimed advantages, reactive programming makes a wide class of otherwise cumbersome applications more comprehensible. This claim has never been evaluated. In this paper, we present the first empirical study that evaluates the effect of reactive programming on comprehension. The study involves 127 subjects and compares reactive programming to the traditional object-oriented style with the Observer design pattern. Our findings show that program comprehension is significantly enhanced by the reactive-programming paradigm—a result that suggests to further develop research in this field.
- Subjects :
- Computer science
Functional logic programming
Comparison of multi-paradigm programming languages
Computer programming
02 engineering and technology
computer.software_genre
Extensible programming
Third-generation programming language
Control flow analysis
020204 information systems
0202 electrical engineering, electronic engineering, information engineering
Reactive programming
Programming domain
Fifth-generation programming language
Declarative programming
Event-driven programming
Functional programming
Symbolic programming
business.industry
Programming language
Program comprehension
020207 software engineering
Second-generation programming language
Observer pattern
Inductive programming
Concurrent object-oriented programming
Procedural programming
Programming paradigm
Fourth-generation programming language
business
Software engineering
computer
Software
Functional reactive programming
Programming language theory
Subjects
Details
- ISSN :
- 19393520 and 00985589
- Volume :
- 43
- Database :
- OpenAIRE
- Journal :
- IEEE Transactions on Software Engineering
- Accession number :
- edsair.doi...........255cb8ce805382a4b85bf1a36eb9e993
- Full Text :
- https://doi.org/10.1109/tse.2017.2655524