Atoms of confusion do really cause confusion? A controlled experiment using eye tracking
Autor(a) principal: | |
---|---|
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 |