Evaluating Code Readability and Legibility: An Examination of Human-centric Studies

10/02/2021
by   Delano Oliveira, et al.
0

Reading code is an essential activity in software maintenance and evolution. Several studies with human subjects have investigated how different factors, such as the employed programming constructs and naming conventions, can impact code readability, i.e., what makes a program easier or harder to read and apprehend by developers, and code legibility, i.e., what influences the ease of identifying elements of a program. These studies evaluate readability and legibility by means of different comprehension tasks and response variables. In this paper, we examine these tasks and variables in studies that compare programming constructs, coding idioms, naming conventions, and formatting guidelines, e.g., recursive vs. iterative code. To that end, we have conducted a systematic literature review where we found 54 relevant papers. Most of these studies evaluate code readability and legibility by measuring the correctness of the subjects' results (83.3 studies (16.7 studies that monitor subjects' physical signs, such as brain activation regions (5 instance, correctness can be measured as the ability to predict the output of a program, answer questions about its behavior, or recall parts of it. These results make it clear that different evaluation approaches require different competencies from subjects, e.g., tracing the program vs. summarizing its goal vs. memorizing its text. To assist researchers in the design of new studies and improve our comprehension of existing ones, we model program comprehension as a learning activity by adapting a preexisting learning taxonomy. This adaptation indicates that some competencies are often exercised in these evaluations whereas others are rarely targeted.

READ FULL TEXT

page 1

page 10

research
03/15/2021

Considerations and Pitfalls in Controlled Experiments on Code Comprehension

Understanding program code is a complicated endeavor. As such, myriad di...
research
09/28/2021

Code Comprehension Confounders: A Study of Intelligence and Personal

Literature and intuition suggest that a developer's intelligence and per...
research
08/25/2022

A Systematic Literature Review on the Impact of Formatting Elements on Code Legibility

Context: Software programs can be written in different but functionally ...
research
09/10/2019

Automatic Code Summarization: A Systematic Literature Review

Background: During software maintenance and development, the comprehensi...
research
06/25/2021

On Preserving the Behavior in Software Refactoring: A Systematic Mapping Study

Context: Refactoring is the art of modifying the design of a system with...
research
12/21/2021

CADV: A software visualization approach for code annotations distribution

Code annotations is a widely used feature in Java systems to configure c...
research
02/24/2021

Relating Reading, Visualization, and Coding for New Programmers: A Neuroimaging Study

Understanding how novices reason about coding at a neurological level ha...

Please sign up or login with your details

Forgot password? Click here to reset