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"". 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 \emph{deimplicitization}.
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.
Tomoki Nakamaru Graduate School of Information Science and Technology, The University of Tokyo, Tomomasa Matsunaga, Tetsuro Yamazaki Graduate School of Information Science and Technology, The University of Tokyo, Soramichi Akiyama Department of Creative Informatics, The University of Tokyo, Shigeru Chiba The University of Tokyo