On the Positive Effect of Reactive Programming on Software Comprehension: An Empirical Study

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 main...

Full description

Saved in:
Bibliographic Details
Published in:IEEE transactions on software engineering Vol. 43; no. 12; pp. 1125 - 1143
Main Authors: Salvaneschi, Guido, Proksch, Sebastian, Amann, Sven, Nadi, Sarah, Mezini, Mira
Format: Journal Article
Language:English
Published: New York IEEE 01.12.2017
IEEE Computer Society
Subjects:
ISSN:0098-5589, 1939-3520
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
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.
AbstractList 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.
Author Proksch, Sebastian
Nadi, Sarah
Salvaneschi, Guido
Amann, Sven
Mezini, Mira
Author_xml – sequence: 1
  givenname: Guido
  surname: Salvaneschi
  fullname: Salvaneschi, Guido
  email: salvaneschi@cs.tu-darmstadt.de
  organization: Dept. of Comput. Sci., Tech. Univ. Darmstadt, Darmstadt, Germany
– sequence: 2
  givenname: Sebastian
  surname: Proksch
  fullname: Proksch, Sebastian
  email: proksch@cs.tu-darmstadt.de
  organization: Dept. of Comput. Sci., Tech. Univ. Darmstadt, Darmstadt, Germany
– sequence: 3
  givenname: Sven
  surname: Amann
  fullname: Amann, Sven
  email: amann@cs.tu-darmstadt.de
  organization: Dept. of Comput. Sci., Tech. Univ. Darmstadt, Darmstadt, Germany
– sequence: 4
  givenname: Sarah
  surname: Nadi
  fullname: Nadi, Sarah
  email: nadi@ualberta.ca
  organization: Dept. of Comput. Sci., Univ. of Alberta, Edmonton, AB, Canada
– sequence: 5
  givenname: Mira
  surname: Mezini
  fullname: Mezini, Mira
  email: mezini@cs.tu-darmstadt.de
  organization: Dept. of Comput. Sci., Tech. Univ. Darmstadt, Darmstadt, Germany
BookMark eNp9kEtLAzEURoNUsFb3gpuA66l5ThJ3pdQHFBRbd8KQpkmb0klqJlX6753a4sKFqwuX79yPe85BJ8RgAbjCqI8xUrfTyahPEBZ9UnLOCTsBXayoKignqAO6CClZcC7VGThvmhVCiAvBu-D9OcC8tPAlNj77TwtHzlmTYXTw1Wrzs3pJcZF0XfuwgDHASXT5SycLh7HeJLu0ofEx3MFBgKN645M3eg0neTvfXYBTp9eNvTzOHni7H02Hj8X4-eFpOBgXhhCci5lgUmLJjZoTWzIqLdGKGSU5naOZlGwmKaWCEuOYVPPS4JI7QYVjhjCmKe2Bm8PdTYofW9vkahW3KbSVFcGCMYYVkm0KHVImxaZJ1lWb5GuddhVG1d5h1Tqs9g6ro8MWKf8gxmed23dz0n79H3h9AL219rdHSCKQkPQbZaV_GA
CODEN IESEDJ
CitedBy_id crossref_primary_10_1145_3360570
crossref_primary_10_1109_TSE_2018_2833109
crossref_primary_10_1007_s10664_024_10568_z
crossref_primary_10_1145_3633769
crossref_primary_10_35784_jcsi_6291
crossref_primary_10_1109_ACCESS_2021_3058450
crossref_primary_10_37745_ejcsit_2013_vol13n3093103
crossref_primary_10_35784_jcsi_2999
crossref_primary_10_1002_spe_3435
crossref_primary_10_1007_s10664_021_09938_8
Cites_doi 10.1145/1869459.1869462
10.1145/1806799.1806829
10.1145/2632320.2632344
10.1002/spe.941
10.1145/1823854.1823929
10.1007/978-1-4302-3748-8
10.1006/ijhc.1998.0236
10.1007/978-3-642-38493-6_16
10.1109/ICPC.2008.15
10.1145/1453101.1453117
10.1145/266399.266411
10.1145/2384616.2384666
10.1109/ICSE.2015.82
10.1016/0010-0285(87)90007-7
10.1145/2103656.2103665
10.1145/2611286.2611290
10.1109/ICSE.2007.85
10.1109/TSE.2010.47
10.1007/978-3-662-44202-9_17
10.1109/32.601073
10.1145/2884781.2884815
10.1145/2814270.2814311
10.1145/258948.258973
10.1145/1368088.1368195
10.1145/2501654.2501666
10.1145/2089155.2089161
10.1145/2414721.2414723
10.1007/978-3-540-44833-4_6
10.1007/11693024_20
10.1145/1134285.1134355
10.1109/TE.2015.2487341
10.1109/ICSE.2012.6227200
10.1145/1985793.1985868
10.1109/ICSE.1994.296764
10.1109/ICSE.2007.92
10.1145/97945.97957
10.1145/2577080.2577083
10.1109/ICPC.2011.46
10.1007/978-3-642-55099-7_7
10.1145/2786805.2786864
10.1109/ICPC.2007.17
10.1007/978-1-4471-0111-6
10.1145/2635868.2635895
10.1109/ICPC.2015.35
10.1007/978-3-642-39038-8_29
10.1007/BFb0056621
10.1145/2578153.2578218
10.1109/ICSE.2005.1553555
10.1145/75722.75734
10.1145/1640089.1640091
10.1145/2509136.2509528
10.1109/2.876288
10.1145/3001878.3001884
10.1007/s11219-006-9216-4
10.1109/MS.2014.101
10.1109/ICSE.2012.6227188
10.1145/1287624.1287675
ContentType Journal Article
Copyright Copyright IEEE Computer Society 2017
Copyright_xml – notice: Copyright IEEE Computer Society 2017
DBID 97E
RIA
RIE
AAYXX
CITATION
JQ2
K9.
DOI 10.1109/TSE.2017.2655524
DatabaseName IEEE All-Society Periodicals Package (ASPP) 2005–Present
IEEE All-Society Periodicals Package (ASPP) 1998–Present
IEEE Xplore
CrossRef
ProQuest Computer Science Collection
ProQuest Health & Medical Complete (Alumni)
DatabaseTitle CrossRef
ProQuest Health & Medical Complete (Alumni)
ProQuest Computer Science Collection
DatabaseTitleList ProQuest Health & Medical Complete (Alumni)

Database_xml – sequence: 1
  dbid: RIE
  name: IEEE Xplore
  url: https://ieeexplore.ieee.org/
  sourceTypes: Publisher
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISSN 1939-3520
EndPage 1143
ExternalDocumentID 10_1109_TSE_2017_2655524
7827078
Genre orig-research
GrantInformation_xml – fundername: German Federal Ministry of Education and Research
  grantid: 01IS12054
– fundername: European Research Council
  grantid: 321217
  funderid: 10.13039/501100000781
GroupedDBID --Z
-DZ
-~X
.DC
0R~
29I
4.4
5GY
6IK
85S
8R4
8R5
97E
AAJGR
AARMG
AASAJ
AAWTH
ABAZT
ABPPZ
ABQJQ
ABVLG
ACGFO
ACGOD
ACIWK
ACNCT
AENEX
AGQYO
AHBIQ
AKJIK
AKQYR
ALMA_UNASSIGNED_HOLDINGS
ASUFR
ATWAV
BEFXN
BFFAM
BGNUA
BKEBE
BKOMP
BPEOZ
CS3
DU5
EBS
EDO
EJD
HZ~
I-F
IEDLZ
IFIPE
IPLJI
JAVBF
LAI
M43
MS~
O9-
OCL
P2P
Q2X
RIA
RIE
RNS
RXW
S10
TAE
TN5
TWZ
UHB
UPT
WH7
YZZ
AAYXX
CITATION
JQ2
K9.
ID FETCH-LOGICAL-c221t-b7488185c9d2e6438e2a94c9853d0b884b8333732cf489d6c165f737f4c244a33
IEDL.DBID RIE
ISICitedReferencesCount 17
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000418134800003&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
ISSN 0098-5589
IngestDate Mon Oct 06 16:57:42 EDT 2025
Sat Nov 29 03:10:24 EST 2025
Tue Nov 18 22:21:57 EST 2025
Wed Aug 27 02:47:42 EDT 2025
IsPeerReviewed true
IsScholarly true
Issue 12
Language English
License https://ieeexplore.ieee.org/Xplorehelp/downloads/license-information/IEEE.html
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-c221t-b7488185c9d2e6438e2a94c9853d0b884b8333732cf489d6c165f737f4c244a33
Notes ObjectType-Article-1
SourceType-Scholarly Journals-1
ObjectType-Feature-2
content type line 14
ORCID 0000-0002-9324-8894
0000-0003-1856-9361
PQID 2174441908
PQPubID 21418
PageCount 19
ParticipantIDs crossref_primary_10_1109_TSE_2017_2655524
proquest_journals_2174441908
crossref_citationtrail_10_1109_TSE_2017_2655524
ieee_primary_7827078
PublicationCentury 2000
PublicationDate 2017-12-01
PublicationDateYYYYMMDD 2017-12-01
PublicationDate_xml – month: 12
  year: 2017
  text: 2017-12-01
  day: 01
PublicationDecade 2010
PublicationPlace New York
PublicationPlace_xml – name: New York
PublicationTitle IEEE transactions on software engineering
PublicationTitleAbbrev TSE
PublicationYear 2017
Publisher IEEE
IEEE Computer Society
Publisher_xml – name: IEEE
– name: IEEE Computer Society
References ref57
ref56
ref12
ref59
ref58
ref52
ref55
ref11
ref54
ref17
ref16
ref19
(ref31) 0
ref51
ref50
abelson (ref14) 1996
ref46
letovsky (ref40) 1986
ref48
ref47
ref42
ref41
(ref13) 0
(ref45) 2014
ref49
maier (ref10) 2012
creswell (ref15) 2012
ref7
ref9
ref4
soloway (ref39) 1989
ref3
ref6
ref5
(ref27) 0
(ref44) 0
ref35
(ref18) 0
(ref43) 0
ref34
ref37
ref36
ref30
ref33
ref32
ref2
ref1
ref38
juristo (ref23) 2010
ref71
ref70
ref72
ref68
ref24
ref67
gamma (ref8) 2000
ref26
ref69
ref25
ref64
ref20
ref63
ref66
ref22
ref65
ref21
ref28
ref29
newton (ref53) 2007
ref60
ref62
ref61
References_xml – year: 2010
  ident: ref23
  publication-title: Basics of Software Engineering Experimentation
– ident: ref17
  doi: 10.1145/1869459.1869462
– ident: ref30
  doi: 10.1145/1806799.1806829
– ident: ref36
  doi: 10.1145/2632320.2632344
– ident: ref47
  doi: 10.1002/spe.941
– ident: ref46
  doi: 10.1145/1823854.1823929
– ident: ref7
  doi: 10.1007/978-1-4302-3748-8
– year: 0
  ident: ref13
– year: 1996
  ident: ref14
  publication-title: Structure and Interpretation of Computer Programs
– ident: ref64
  doi: 10.1006/ijhc.1998.0236
– ident: ref58
  doi: 10.1007/978-3-642-38493-6_16
– ident: ref22
  doi: 10.1109/ICPC.2008.15
– ident: ref71
  doi: 10.1145/1453101.1453117
– ident: ref63
  doi: 10.1145/266399.266411
– ident: ref25
  doi: 10.1145/2384616.2384666
– ident: ref51
  doi: 10.1109/ICSE.2015.82
– ident: ref29
  doi: 10.1016/0010-0285(87)90007-7
– ident: ref61
  doi: 10.1145/2103656.2103665
– ident: ref59
  doi: 10.1145/2611286.2611290
– year: 2000
  ident: ref8
  publication-title: Design Patterns Elements of Reusable Object-Oriented Software
– ident: ref72
  doi: 10.1109/ICSE.2007.85
– year: 0
  ident: ref31
– ident: ref66
  doi: 10.1109/TSE.2010.47
– ident: ref56
  doi: 10.1007/978-3-662-44202-9_17
– ident: ref54
  doi: 10.1109/32.601073
– ident: ref32
  doi: 10.1145/2884781.2884815
– ident: ref57
  doi: 10.1145/2814270.2814311
– ident: ref2
  doi: 10.1145/258948.258973
– ident: ref19
  doi: 10.1145/1368088.1368195
– ident: ref24
  doi: 10.1145/1869459.1869462
– ident: ref11
  doi: 10.1145/2501654.2501666
– year: 2012
  ident: ref10
  article-title: Deprecating the Observer Pattern with Scala.React
– ident: ref26
  doi: 10.1145/2089155.2089161
– ident: ref16
  doi: 10.1145/2414721.2414723
– ident: ref52
  doi: 10.1007/978-3-540-44833-4_6
– ident: ref3
  doi: 10.1007/11693024_20
– start-page: 489
  year: 2007
  ident: ref53
  article-title: The regiment macroprogramming system
  publication-title: Proc Int Conf Inf Process Sensor Netw
– ident: ref33
  doi: 10.1145/1134285.1134355
– ident: ref35
  doi: 10.1109/TE.2015.2487341
– ident: ref67
  doi: 10.1109/ICSE.2012.6227200
– ident: ref65
  doi: 10.1145/1985793.1985868
– ident: ref41
  doi: 10.1109/ICSE.1994.296764
– ident: ref70
  doi: 10.1109/ICSE.2007.92
– ident: ref55
  doi: 10.1145/97945.97957
– ident: ref5
  doi: 10.1145/2577080.2577083
– ident: ref48
  doi: 10.1109/ICPC.2011.46
– year: 0
  ident: ref44
– ident: ref60
  doi: 10.1007/978-3-642-55099-7_7
– ident: ref38
  doi: 10.1145/2786805.2786864
– ident: ref50
  doi: 10.1109/ICPC.2007.17
– ident: ref28
  doi: 10.1007/978-1-4471-0111-6
– ident: ref12
  doi: 10.1145/2635868.2635895
– ident: ref37
  doi: 10.1109/ICPC.2015.35
– ident: ref6
  doi: 10.1007/978-3-642-39038-8_29
– year: 0
  ident: ref43
– year: 2014
  ident: ref45
– year: 1986
  ident: ref40
  article-title: Cognitive processes in program comprehension
– ident: ref1
  doi: 10.1007/BFb0056621
– ident: ref34
  doi: 10.1145/2578153.2578218
– ident: ref42
  doi: 10.1109/ICSE.2005.1553555
– year: 1989
  ident: ref39
  article-title: Empirical studies of programming knowledge
  publication-title: Software Reusability
  doi: 10.1145/75722.75734
– ident: ref4
  doi: 10.1145/1640089.1640091
– ident: ref49
  doi: 10.1145/2509136.2509528
– ident: ref68
  doi: 10.1109/2.876288
– ident: ref69
  doi: 10.1145/3001878.3001884
– ident: ref62
  doi: 10.1007/s11219-006-9216-4
– ident: ref9
  doi: 10.1109/MS.2014.101
– year: 0
  ident: ref18
– ident: ref21
  doi: 10.1109/ICSE.2012.6227188
– year: 0
  ident: ref27
– year: 2012
  ident: ref15
  publication-title: Qualitative Inquiry and Research Design Choosing among Five Approaches
– ident: ref20
  doi: 10.1145/1287624.1287675
SSID ssj0005775
ssib053395008
Score 2.3228302
Snippet Starting from the first investigations with strictly functional languages, reactive programming has been proposed as the programming paradigm for reactive...
SourceID proquest
crossref
ieee
SourceType Aggregation Database
Enrichment Source
Index Database
Publisher
StartPage 1125
SubjectTerms Applications programs
controlled experiment
Domains
empirical study
Languages
Object oriented programming
Programming
Reactive programming
Robot sensing systems
Robotics
Runtime
software comprehension
Software development
Title On the Positive Effect of Reactive Programming on Software Comprehension: An Empirical Study
URI https://ieeexplore.ieee.org/document/7827078
https://www.proquest.com/docview/2174441908
Volume 43
WOSCitedRecordID wos000418134800003&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
journalDatabaseRights – providerCode: PRVIEE
  databaseName: IEEE Xplore
  customDbUrl:
  eissn: 1939-3520
  dateEnd: 99991231
  omitProxy: false
  ssIdentifier: ssj0005775
  issn: 0098-5589
  databaseCode: RIE
  dateStart: 19750101
  isFulltext: true
  titleUrlDefault: https://ieeexplore.ieee.org/
  providerName: IEEE
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1NS8QwEB1UPHjxW1y_yMGLYN02aZrEm8iKJ13cFTwIpUmnKLjtsrsq_nuTtF0RRfDWwySUvM68SfMyA3AsdK6RR0kQ6ZwGMSoWZLrIg0TlLrsVmhbGN5sQNzfy4UH1F-B0fhcGEb34DM_coz_Lzyvz6n6VdS2bueI0i7AoRFLf1fqScwjB2_qYnEvVHkmGqjsc9JyGS5zRhHNO428U5Huq_AjEnl2u1v73Xuuw2mSR5KKGfQMWsNyEtbZDA2kcdgseb0tiMzzS99KsNyR1sWJSFeQOMx_qSL9WaI0sh5GqJAMbl9-zCRI32wSfnMC9Ks_JRUl6o_GzryhCnPrwYxvur3rDy-ug6acQGEqjWaCF9VbLz0blFG0mIpFmKjbKMnYeailjLRljglFTxFLliYkSXggmitjYJCBjbAeWyqrEXSCYaGsYSUFpGBeJyayN5sYgo4Ul_LAD3XaJU9MUG3c9L15Sv-kIVWpBSR0oaQNKB07mI8Z1oY0_bLccCHO7Zv07cNCimDaeOE3dlsumfCqUe7-P2ocVN3ctUTmApdnkFQ9h2bzNnqeTI_-RfQKCm85T
linkProvider IEEE
linkToHtml http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1BT9swFH4ChgQXGANEGQwfdpm00MSOY3s3hFoxUbpq7aQekKLYeRFIkKBSQPx7bCfphECTdsvh2Yn8-fl7jj-_B_BV6Fwjj5Ig0jkNYlQsyHSRB4nKXXQrNC2MLzYhhkM5narREnxf3IVBRC8-w2P36M_y88o8uF9lXctmLjnNMnxwlbOa21p_BR1C8DZDJudStYeSoepOxj2n4hLHNOGc0_gVCfmqKm-WYs8v_c3_-7KPsNHEkeSkBn4LlrD8BJttjQbSuOw2XP4qiY3xyMiLsx6R1OmKSVWQ35j5xY6Mao3WrWUxUpVkbFfmp2yGxPU2wysnca_KH-SkJL3bu2ufU4Q4_eHzDvzp9yanZ0FTUSEwlEbzQAvrr5ahjcop2lhEIs1UbJTl7DzUUsZaMsYEo6aIpcoTEyW8EEwUsbFhQMbYLqyUVYl7QDDR1jCSgtIwLhKTWRvNjUFGC0v5YQe67RCnpkk37qpe3KR-2xGq1IKSOlDSBpQOfFu0uKtTbfzDdtuBsLBrxr8DBy2KaeOL96nbdNnpokK5_36rI1g7m1wM0sHP4flnWHfvqQUrB7Aynz3gIayax_n1_eyLn3AvbjzRnA
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=On+the+Positive+Effect+of+Reactive+Programming+on+Software+Comprehension%3A+An+Empirical+Study&rft.jtitle=IEEE+transactions+on+software+engineering&rft.au=Salvaneschi%2C+Guido&rft.au=Proksch%2C+Sebastian&rft.au=Amann%2C+Sven&rft.au=Nadi%2C+Sarah&rft.date=2017-12-01&rft.pub=IEEE&rft.issn=0098-5589&rft.volume=43&rft.issue=12&rft.spage=1125&rft.epage=1143&rft_id=info:doi/10.1109%2FTSE.2017.2655524&rft.externalDocID=7827078
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=0098-5589&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=0098-5589&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=0098-5589&client=summon