What Makes Code Hard to Understand?
This research addresses code readability for programmers, but it is incremental as it builds on prior work about expectation-congruent programs.
The study investigated how notational changes in Python programs affect code comprehensibility, finding that subtle differences significantly impact correctness and response times, with experience sometimes hurting performance when assumptions are violated.
What factors impact the comprehensibility of code? Previous research suggests that expectation-congruent programs should take less time to understand and be less prone to errors. We present an experiment in which participants with programming experience predict the exact output of ten small Python programs. We use subtle differences between program versions to demonstrate that seemingly insignificant notational changes can have profound effects on correctness and response times. Our results show that experience increases performance in most cases, but may hurt performance significantly when underlying assumptions about related code statements are violated.