Software developers spend more time on reading than writingcode. Comprehensible code therefore has the potential tosignificantly improve software development andmaintenance by lowering the time needed for understandingexisting code. Previous research suggest that the choice ofProgramming paradigm may affect code comprehension. Thepresent study evaluates if a positive effect of ReactiveProgramming on comprehension can be attested incomparison to Procedural Programming. We let human testsubjects solve bugs in code-snippets of commonfunctionalities implemented either according to ReactiveProgramming or Procedural Programming in the Javalanguage and RxJava, its ReactiveX implementation. Thecomprehensibility of the code is measured by the test subjects’time consumption, with lower values indicating highercomprehensibility and higher values lowercomprehensibility.Within this study we also study the effect of prior knowledgeof reactive programming, and background in programming,on the results, by having test subjects from two groups: (1)software students with experience in Reactive Programming,and (2) experienced software developers and engineers withless experience in Reactive Programming.All tests took part in a tool of our design, the CodeComparator.Our results show that reactive puzzles are solved faster,suggesting higher comprehensibility, although highdispersion in solvability time, especially for the proceduralsolutions, make it difficult to assess the validity of this timedifference. The positive effect is notable in the student groupwhereas we cannot conclude if the other group solves reactiveor procedural puzzles faster
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:miun-43168 |
Date | January 2021 |
Creators | Lundberg, Mattis, Österdahl, Pontus |
Publisher | Mittuniversitetet, Institutionen för data- och systemvetenskap |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | English |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0157 seconds