| 15:45-16:25

: Rafael Durelli

Contextual Similarity Among Identifier Names - An Empirical Study
Remo Gresta, Elder Cirilo

DiffMutAnalyze: Uma Ferramenta para Auxiliar a Análise dos Mutantes Equivalentes no Ensino do Teste de Mutação
Juliana Botelho, Maurício Souza, Vinicius H. S. Durelli, Rafael S. Durelli

- : Program Understanding as a Learning Activity
| 16:25-17:05

Fernando Castor (Universidade Federal de Pernambuco)
: Rafael Durelli
speaker

Reading code is an essential activity in software maintenance and evolution. Several studies with developers have investigated how different factors, such as the employed code 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. This talk will examine these tasks and variables in studies aiming to compare programming constructs, coding idioms, naming conventions, and formatting guidelines, e.g., recursive code vs. iterative code. To that end, a systematic literature review was conducted where 54 relevant papers were found. It was found out that most of these studies evaluate code readability and legibility by measuring the correctness of the subjects’ results (83.3%) or simply asking their personal opinions (55.6%). Some studies (16.7%) rely exclusively on the latter response variable. Also, there are still relatively few studies that monitor developer's physical signs, such as brain activation regions (5%). The study shows that attributes such as time and correctness are multi-faceted. For example, correctness can be measured as the ability to predict the output of a program, answer questions about its general behavior, precisely recall specific parts, among other things. These results make it clear that different evaluation approaches require different competencies from study 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 comprehension of existing ones, program comprehension is modeled as a learning activity by adapting a preexisting learning taxonomy. This adaptation indicates that some competencies, e.g., tracing, are often exercised in these evaluations whereas others, e.g., relating similar code snippets, are rarely targeted.

-
| 17:05-17:15

: Rafael Durelli, Lincoln Rocha