Atoms of confusion do really cause confusion? A controlled experiment using eye tracking

Detalhes bibliográficos
Autor(a) principal: Oliveira, Benedito Fernando Albuquerque de
Data de Publicação: 2020
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Institucional da Universidade Federal de Alagoas (UFAL)
Texto Completo: http://www.repositorio.ufal.br/handle/riufal/7798
Resumo: Code comprehension is crucial in software maintenance activities, though it can be hindered by misunderstandings and confusion patterns, namely, atoms of confusion. They are small pieces of code using specific programming language constructs, such as Conditional Opera-tors and Comma Operators. A previous study showed that these atoms of confusion impact developers’ performance, i.e., time and accuracy, and increase code misunderstandings. However, empirical knowledge of the impact of such atoms on code comprehension is still scarce, especially when it comes to analyzing that impact on developers’ visual attention. The present study evaluates whether developers misunderstand the code in the presence of atoms of confusion with an eye tracker. For this purpose, we measure time, accuracy, and analyze the distribution of visual attention. We conduct a controlled experiment with 30 students and software practitioners. We ask the subjects to specify the output of three tasks with atoms and three without atoms randomly assigned using a Latin Square design. We use an eye-tracking camera to detect the visual attention of the participants while solving the tasks. From an aggregated perspective, we observed an increase by 43.02% in time and 36.8% in gaze transitions in code snippets with atoms. Also, we observed na increase of 163.06% in the number of regressions when the atom is present. For accuracy, no statistically significant difference was observed. We also confirm that the regions that receive most of the eye attention were the regions with atoms. Our findings reinforce that atoms hinder developers’ performance and comprehension. So, developers should avoid writing code with them.
id UFAL_e2eaa0309aa1d0a68df4fa060341d533
oai_identifier_str oai:www.repositorio.ufal.br:riufal/7798
network_acronym_str UFAL
network_name_str Repositório Institucional da Universidade Federal de Alagoas (UFAL)
repository_id_str
spelling Atoms of confusion do really cause confusion? A controlled experiment using eye trackingÁtomos de confusão realmente causam confusão? Um experimento controlado usando rastreamento visualCompreensão de códigoÁtomos de confusão (Códigos)Rastreamento visualRastreamento visualAtoms of confusionEye-trackingCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::ENGENHARIA DE SOFTWARECode comprehension is crucial in software maintenance activities, though it can be hindered by misunderstandings and confusion patterns, namely, atoms of confusion. They are small pieces of code using specific programming language constructs, such as Conditional Opera-tors and Comma Operators. A previous study showed that these atoms of confusion impact developers’ performance, i.e., time and accuracy, and increase code misunderstandings. However, empirical knowledge of the impact of such atoms on code comprehension is still scarce, especially when it comes to analyzing that impact on developers’ visual attention. The present study evaluates whether developers misunderstand the code in the presence of atoms of confusion with an eye tracker. For this purpose, we measure time, accuracy, and analyze the distribution of visual attention. We conduct a controlled experiment with 30 students and software practitioners. We ask the subjects to specify the output of three tasks with atoms and three without atoms randomly assigned using a Latin Square design. We use an eye-tracking camera to detect the visual attention of the participants while solving the tasks. From an aggregated perspective, we observed an increase by 43.02% in time and 36.8% in gaze transitions in code snippets with atoms. Also, we observed na increase of 163.06% in the number of regressions when the atom is present. For accuracy, no statistically significant difference was observed. We also confirm that the regions that receive most of the eye attention were the regions with atoms. Our findings reinforce that atoms hinder developers’ performance and comprehension. So, developers should avoid writing code with them.Compreensão de código é crucial nas atividades de manutenção de software, entretanto ela pode ser prejudicada por mal-entendidos e padrões código confusos, ou seja, átomos de confusão. Eles são pequenos trechos de código usando construções específicas de uma linguagem de programação, como Operadores Condicionais e Operadores Vírgula. Um estudo anterior mostrou que os átomos de confusão afetam o desempenho dos desenvolvedores, ou seja, o tempo e a precisão, e aumentam os mal-entendidos com relação ao código. No entanto, o conhecimento empírico do impacto de tais átomos na compreensão do código ainda é escasso, especialmente quando se trata de analisar esse impacto na atenção visual dos desenvolvedores. O presente estudo avalia se os desenvolvedores interpretam mal o código na presença de átomos de confusão com um rastreador ocular. Para isso, medimos o tempo, a precisão e analisamos a distribuição da atenção visual. Conduzimos um experimento controlado com 30 alunos e profissionais de software. Pedimos aos sujeitos que especifiquem a saída de três tarefas com átomos e três sem átomos designados aleatoriamente usando um Quadrado Latino. Usamos uma câmera de rastreamento ocular para detectar a atenção visual dos participantes enquanto resolvemos as tarefas. De uma perspectiva agregada, observamos um aumento de 43,02% no tempo e 36,8% nas transições de olhar em trechos de código com átomos. Além disso, observamos um aumento de 163,06% no número de regressões quando o átomo está presente. Para precisão, nenhuma diferença estatisticamente significativa foi observada. Também confirmamos que as regiões que recebem mais atenção foram as regiões com átomos. Nossas descobertas reforçam que os átomos atrapalham o desempenho e a compreensão dos desenvolvedores. Portanto, os desenvolvedores devem evitar escrever código com eles.Universidade Federal de AlagoasBrasilPrograma de Pós-Graduação em InformáticaUFALRibeiro, Márcio de Medeiroshttp://lattes.cnpq.br/9300936571715992Silva, Alan Pedro dahttp://lattes.cnpq.br/2752203627912781Texeira, Leopoldo Mottahttp://lattes.cnpq.br/2117651910340729Oliveira, Benedito Fernando Albuquerque de2021-04-27T02:41:04Z2021-04-262021-04-27T02:41:04Z2020-11-26info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfOLIVEIRA, Benedito Fernando Albuquerque de. Atoms of confusion do really cause confusion? A controlled experiment using eye tracking. 2020. 57 f. Dissertação (Mestrado em Informática) – Instituto de Computação, Programa de Pós-Graduação em Informática, Universidade Federal de Alagoas, Maceió, 2021.http://www.repositorio.ufal.br/handle/riufal/7798porinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da Universidade Federal de Alagoas (UFAL)instname:Universidade Federal de Alagoas (UFAL)instacron:UFAL2021-04-27T02:43:07Zoai:www.repositorio.ufal.br:riufal/7798Repositório InstitucionalPUBhttp://www.repositorio.ufal.br/oai/requestri@sibi.ufal.bropendoar:2021-04-27T02:43:07Repositório Institucional da Universidade Federal de Alagoas (UFAL) - Universidade Federal de Alagoas (UFAL)false
dc.title.none.fl_str_mv Atoms of confusion do really cause confusion? A controlled experiment using eye tracking
Átomos de confusão realmente causam confusão? Um experimento controlado usando rastreamento visual
title Atoms of confusion do really cause confusion? A controlled experiment using eye tracking
spellingShingle Atoms of confusion do really cause confusion? A controlled experiment using eye tracking
Oliveira, Benedito Fernando Albuquerque de
Compreensão de código
Átomos de confusão (Códigos)
Rastreamento visual
Rastreamento visual
Atoms of confusion
Eye-tracking
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::ENGENHARIA DE SOFTWARE
title_short Atoms of confusion do really cause confusion? A controlled experiment using eye tracking
title_full Atoms of confusion do really cause confusion? A controlled experiment using eye tracking
title_fullStr Atoms of confusion do really cause confusion? A controlled experiment using eye tracking
title_full_unstemmed Atoms of confusion do really cause confusion? A controlled experiment using eye tracking
title_sort Atoms of confusion do really cause confusion? A controlled experiment using eye tracking
author Oliveira, Benedito Fernando Albuquerque de
author_facet Oliveira, Benedito Fernando Albuquerque de
author_role author
dc.contributor.none.fl_str_mv Ribeiro, Márcio de Medeiros
http://lattes.cnpq.br/9300936571715992
Silva, Alan Pedro da
http://lattes.cnpq.br/2752203627912781
Texeira, Leopoldo Motta
http://lattes.cnpq.br/2117651910340729
dc.contributor.author.fl_str_mv Oliveira, Benedito Fernando Albuquerque de
dc.subject.por.fl_str_mv Compreensão de código
Átomos de confusão (Códigos)
Rastreamento visual
Rastreamento visual
Atoms of confusion
Eye-tracking
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::ENGENHARIA DE SOFTWARE
topic Compreensão de código
Átomos de confusão (Códigos)
Rastreamento visual
Rastreamento visual
Atoms of confusion
Eye-tracking
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::ENGENHARIA DE SOFTWARE
description Code comprehension is crucial in software maintenance activities, though it can be hindered by misunderstandings and confusion patterns, namely, atoms of confusion. They are small pieces of code using specific programming language constructs, such as Conditional Opera-tors and Comma Operators. A previous study showed that these atoms of confusion impact developers’ performance, i.e., time and accuracy, and increase code misunderstandings. However, empirical knowledge of the impact of such atoms on code comprehension is still scarce, especially when it comes to analyzing that impact on developers’ visual attention. The present study evaluates whether developers misunderstand the code in the presence of atoms of confusion with an eye tracker. For this purpose, we measure time, accuracy, and analyze the distribution of visual attention. We conduct a controlled experiment with 30 students and software practitioners. We ask the subjects to specify the output of three tasks with atoms and three without atoms randomly assigned using a Latin Square design. We use an eye-tracking camera to detect the visual attention of the participants while solving the tasks. From an aggregated perspective, we observed an increase by 43.02% in time and 36.8% in gaze transitions in code snippets with atoms. Also, we observed na increase of 163.06% in the number of regressions when the atom is present. For accuracy, no statistically significant difference was observed. We also confirm that the regions that receive most of the eye attention were the regions with atoms. Our findings reinforce that atoms hinder developers’ performance and comprehension. So, developers should avoid writing code with them.
publishDate 2020
dc.date.none.fl_str_mv 2020-11-26
2021-04-27T02:41:04Z
2021-04-26
2021-04-27T02:41:04Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv OLIVEIRA, Benedito Fernando Albuquerque de. Atoms of confusion do really cause confusion? A controlled experiment using eye tracking. 2020. 57 f. Dissertação (Mestrado em Informática) – Instituto de Computação, Programa de Pós-Graduação em Informática, Universidade Federal de Alagoas, Maceió, 2021.
http://www.repositorio.ufal.br/handle/riufal/7798
identifier_str_mv OLIVEIRA, Benedito Fernando Albuquerque de. Atoms of confusion do really cause confusion? A controlled experiment using eye tracking. 2020. 57 f. Dissertação (Mestrado em Informática) – Instituto de Computação, Programa de Pós-Graduação em Informática, Universidade Federal de Alagoas, Maceió, 2021.
url http://www.repositorio.ufal.br/handle/riufal/7798
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidade Federal de Alagoas
Brasil
Programa de Pós-Graduação em Informática
UFAL
publisher.none.fl_str_mv Universidade Federal de Alagoas
Brasil
Programa de Pós-Graduação em Informática
UFAL
dc.source.none.fl_str_mv reponame:Repositório Institucional da Universidade Federal de Alagoas (UFAL)
instname:Universidade Federal de Alagoas (UFAL)
instacron:UFAL
instname_str Universidade Federal de Alagoas (UFAL)
instacron_str UFAL
institution UFAL
reponame_str Repositório Institucional da Universidade Federal de Alagoas (UFAL)
collection Repositório Institucional da Universidade Federal de Alagoas (UFAL)
repository.name.fl_str_mv Repositório Institucional da Universidade Federal de Alagoas (UFAL) - Universidade Federal de Alagoas (UFAL)
repository.mail.fl_str_mv ri@sibi.ufal.br
_version_ 1748233747122094080