An Empirical Study on the Impact of Deimplicitization on Comprehension in Programs Using Application Frameworks

© 2020 ACM. Background: Application frameworks, such as Ruby on Rails, introduce abstractions with the goal of simplifying development for particular application domains, such as web development. While experts enjoy increased productivity due to these abstractions, the flow of the programs is often...

Full description

Bibliographic Details
Main Authors: Cito, Jürgen (Author), Shen, Jiasi (Author), Rinard, Martin C (Author)
Other Authors: Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory (Contributor), Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science (Contributor)
Format: Article
Language:English
Published: ACM, 2021-11-22T19:49:37Z.
Subjects:
Online Access:Get fulltext
LEADER 02061 am a22002053u 4500
001 137591.2
042 |a dc 
100 1 0 |a Cito, Jürgen  |e author 
100 1 0 |a Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory  |e contributor 
100 1 0 |a Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science  |e contributor 
700 1 0 |a Shen, Jiasi  |e author 
700 1 0 |a Rinard, Martin C  |e author 
245 0 0 |a An Empirical Study on the Impact of Deimplicitization on Comprehension in Programs Using Application Frameworks 
260 |b ACM,   |c 2021-11-22T19:49:37Z. 
856 |z Get fulltext  |u https://hdl.handle.net/1721.1/137591.2 
520 |a © 2020 ACM. Background: Application frameworks, such as Ruby on Rails, introduce abstractions with the goal of simplifying development for particular application domains, such as web development. While experts enjoy increased productivity due to these abstractions, the flow of the programs is often hard to understand for non-experts and newcomers due to implicit flow and concealed lower level action that seems like "magic". Objective: We conjecture that converting these implicit flows into an explicit and unified form can help non-experts comprehend the programs using these frameworks. We call the process of unifying distributed, implicit flows into a single routine deimplicitization. Method: We want to conduct an experiment that studies the impact of deimplicitization on program comprehension. Particularly, we want to study how software developers with different expertise (novices/students, framework experts/professional developers) can answer comprehension questions differently with respect to time and correctness, under the treatments of either a deimplicitized version of the program in Python or the original version of the program in Ruby on Rails. 
546 |a en 
655 7 |a Article 
773 |t 10.1145/3379597.3387507 
773 |t Proceedings - 2020 IEEE/ACM 17th International Conference on Mining Software Repositories, MSR 2020