ARNI: an EEG-Based Model to Measure Program Comprehension

Submitted by JOSIANE SANTOS DE OLIVEIRA (josianeso) on 2018-04-24T13:44:05Z No. of bitstreams: 1 Matheus Segalotto_.pdf: 8717126 bytes, checksum: 94fda4721d448e49b82be91aaa8057c7 (MD5) === Made available in DSpace on 2018-04-24T13:44:05Z (GMT). No. of bitstreams: 1 Matheus Segalotto_.pdf: 8717126...

Full description

Bibliographic Details
Main Author: Segalotto, Matheus
Other Authors: http://lattes.cnpq.br/2582456631204400
Language:Portuguese
Published: Universidade do Vale do Rio dos Sinos 2018
Subjects:
Online Access:http://www.repositorio.jesuita.org.br/handle/UNISINOS/7019
id ndltd-IBICT-oai-www.repositorio.jesuita.org.br-UNISINOS-7019
record_format oai_dc
collection NDLTD
language Portuguese
sources NDLTD
topic ACCNPQ::Ciências Exatas e da Terra::Ciência da Computação
Eletroencefalograma
Estilo cognitivo
Software - Desenvolvimento
Compreensão de programa
Electroencephalogram
Cognitive indicators
Experimental studies
Program comprehension
spellingShingle ACCNPQ::Ciências Exatas e da Terra::Ciência da Computação
Eletroencefalograma
Estilo cognitivo
Software - Desenvolvimento
Compreensão de programa
Electroencephalogram
Cognitive indicators
Experimental studies
Program comprehension
Segalotto, Matheus
ARNI: an EEG-Based Model to Measure Program Comprehension
description Submitted by JOSIANE SANTOS DE OLIVEIRA (josianeso) on 2018-04-24T13:44:05Z No. of bitstreams: 1 Matheus Segalotto_.pdf: 8717126 bytes, checksum: 94fda4721d448e49b82be91aaa8057c7 (MD5) === Made available in DSpace on 2018-04-24T13:44:05Z (GMT). No. of bitstreams: 1 Matheus Segalotto_.pdf: 8717126 bytes, checksum: 94fda4721d448e49b82be91aaa8057c7 (MD5) Previous issue date: 2018-01-18 === CAPES - Coordenação de Aperfeiçoamento de Pessoal de Nível Superior === PROSUP - Programa de Suporte à Pós-Gradução de Instituições de Ensino Particulares === A compreensão de programa é um processo cognitivo realizado no cérebro dos desenvolvedores para entender o código-fonte. Este processo cognitivo pode ser influenciado por vários fatores, incluindo o nível de modularização do código-fonte e o nível de experiência dos desenvolvedores de software. A compreensão de programa é amplamente reconhecida como uma tarefa com problemas de erro e esforço. No entanto, pouco foi feito para medir o esforço cognitivo dos desenvolvedores para compreender o programa. Além disso, esses fatores influentes não são explorados no nível de esforço cognitivo na perspectiva dos desenvolvedores de software. Além disso, alguns modelos de cognição foram criados para detectar indicadores de atividade cerebral, bem como dispositivos de eletroencefalografia (EEG) para suportar essas detecções. Infelizmente, eles não são capazes de medir o esforço cognitivo. Este trabalho, portanto, propõe o ARNI, um modelo computacional baseado em EEG para medir a compreensão do programa. O modelo ARNI foi produzido com base em lacunas encontradas na literatura após um estudo de mapeamento sistemático (SMS), que analisou 1706 estudos, 12 dos quais foram escolhidos como estudos primários. Um experimento controlado com 35 desenvolvedores de software foi realizado para avaliar o modelo ARNI através de 350 cenários de compreensão de programa. Além disso, esse experimento também avaliou os efeitos da modularização e a experiência dos desenvolvedores no esforço cognitivo dos desenvolvedores. Os resultados obtidos sugerem que o modelo ARNI foi útil para medir o esforço cognitivo. O experimento controlado revelou que a compreensão do código fonte não modular exigia menos esforço temporal (34,11%) e produziu uma taxa de compreensão mais alta (33,65%) do que o código fonte modular. As principais contribuições são: (1) a execução de SMS no contexto estudado; (2) um modelo computacional para medir a compreensão do programa para medir o código-fonte; (3) conhecimento empírico sobre os efeitos da modularização no esforço cognitivo dos desenvolvedores. Finalmente, este trabalho pode ser visto como um primeiro passo para uma agenda ambiciosa na área de compreensão de programa. === Program comprehension is a cognitive process performed in the developers’ brain to understand source code. This cognitive process may be influenced by several factors, including the modularization level of source code and the experience level of software developers. The program comprehension is widely recognized as an error-prone and effort-consuming task. However, little has been done to measure developers’ cognitive effort to comprehend program. In addition, such influential factors are not explored at the cognitive effort level from the perspective of software developers. Additionally, some cognition models have been created to detect brain-activity indicators as well as wearable Electroencephalography (EEG) devices to support these detections. Unfortunately, they are not able to measure the cognitive effort. This work, therefore, proposes the ARNI, an EEG-Based computational model to measure program comprehension. The ARNI model was produced based on gaps found in the literature after a systematic mapping study (SMS), which reviewed 1706 studies, 12 of which were chosen as primary studies. A controlled experiment with 35 software developers was performed to evaluate the ARNI model through 350 scenarios of program comprehension. Moreover, this experiment also evaluated the effects of modularization and developers’ experience on the developers’ cognitive effort. The obtained results suggest that the ARNI model was useful to measure cognitive effort. The controlled experiment revealed that the comprehension of non-modular source code required less temporal effort (34.11%) and produced a higher correct comprehension rate (33.65%) than modular source code. The main contributions are: (1) the execution of SMS in the context studied; (2) a computational model to measure program comprehension to measure source code; (3) empirical knowledge about the effects of modularization on the developers’ cognitive effort. Finally, this work can be seen as a first step for an ambitious agenda in the area of program comprehension.
author2 http://lattes.cnpq.br/2582456631204400
author_facet http://lattes.cnpq.br/2582456631204400
Segalotto, Matheus
author Segalotto, Matheus
author_sort Segalotto, Matheus
title ARNI: an EEG-Based Model to Measure Program Comprehension
title_short ARNI: an EEG-Based Model to Measure Program Comprehension
title_full ARNI: an EEG-Based Model to Measure Program Comprehension
title_fullStr ARNI: an EEG-Based Model to Measure Program Comprehension
title_full_unstemmed ARNI: an EEG-Based Model to Measure Program Comprehension
title_sort arni: an eeg-based model to measure program comprehension
publisher Universidade do Vale do Rio dos Sinos
publishDate 2018
url http://www.repositorio.jesuita.org.br/handle/UNISINOS/7019
work_keys_str_mv AT segalottomatheus arnianeegbasedmodeltomeasureprogramcomprehension
_version_ 1719011599309602816
spelling ndltd-IBICT-oai-www.repositorio.jesuita.org.br-UNISINOS-70192019-04-02T07:49:48Z ARNI: an EEG-Based Model to Measure Program Comprehension Segalotto, Matheus http://lattes.cnpq.br/2582456631204400 Oliveira, Kleinner Silva Farias de ACCNPQ::Ciências Exatas e da Terra::Ciência da Computação Eletroencefalograma Estilo cognitivo Software - Desenvolvimento Compreensão de programa Electroencephalogram Cognitive indicators Experimental studies Program comprehension Submitted by JOSIANE SANTOS DE OLIVEIRA (josianeso) on 2018-04-24T13:44:05Z No. of bitstreams: 1 Matheus Segalotto_.pdf: 8717126 bytes, checksum: 94fda4721d448e49b82be91aaa8057c7 (MD5) Made available in DSpace on 2018-04-24T13:44:05Z (GMT). No. of bitstreams: 1 Matheus Segalotto_.pdf: 8717126 bytes, checksum: 94fda4721d448e49b82be91aaa8057c7 (MD5) Previous issue date: 2018-01-18 CAPES - Coordenação de Aperfeiçoamento de Pessoal de Nível Superior PROSUP - Programa de Suporte à Pós-Gradução de Instituições de Ensino Particulares A compreensão de programa é um processo cognitivo realizado no cérebro dos desenvolvedores para entender o código-fonte. Este processo cognitivo pode ser influenciado por vários fatores, incluindo o nível de modularização do código-fonte e o nível de experiência dos desenvolvedores de software. A compreensão de programa é amplamente reconhecida como uma tarefa com problemas de erro e esforço. No entanto, pouco foi feito para medir o esforço cognitivo dos desenvolvedores para compreender o programa. Além disso, esses fatores influentes não são explorados no nível de esforço cognitivo na perspectiva dos desenvolvedores de software. Além disso, alguns modelos de cognição foram criados para detectar indicadores de atividade cerebral, bem como dispositivos de eletroencefalografia (EEG) para suportar essas detecções. Infelizmente, eles não são capazes de medir o esforço cognitivo. Este trabalho, portanto, propõe o ARNI, um modelo computacional baseado em EEG para medir a compreensão do programa. O modelo ARNI foi produzido com base em lacunas encontradas na literatura após um estudo de mapeamento sistemático (SMS), que analisou 1706 estudos, 12 dos quais foram escolhidos como estudos primários. Um experimento controlado com 35 desenvolvedores de software foi realizado para avaliar o modelo ARNI através de 350 cenários de compreensão de programa. Além disso, esse experimento também avaliou os efeitos da modularização e a experiência dos desenvolvedores no esforço cognitivo dos desenvolvedores. Os resultados obtidos sugerem que o modelo ARNI foi útil para medir o esforço cognitivo. O experimento controlado revelou que a compreensão do código fonte não modular exigia menos esforço temporal (34,11%) e produziu uma taxa de compreensão mais alta (33,65%) do que o código fonte modular. As principais contribuições são: (1) a execução de SMS no contexto estudado; (2) um modelo computacional para medir a compreensão do programa para medir o código-fonte; (3) conhecimento empírico sobre os efeitos da modularização no esforço cognitivo dos desenvolvedores. Finalmente, este trabalho pode ser visto como um primeiro passo para uma agenda ambiciosa na área de compreensão de programa. Program comprehension is a cognitive process performed in the developers’ brain to understand source code. This cognitive process may be influenced by several factors, including the modularization level of source code and the experience level of software developers. The program comprehension is widely recognized as an error-prone and effort-consuming task. However, little has been done to measure developers’ cognitive effort to comprehend program. In addition, such influential factors are not explored at the cognitive effort level from the perspective of software developers. Additionally, some cognition models have been created to detect brain-activity indicators as well as wearable Electroencephalography (EEG) devices to support these detections. Unfortunately, they are not able to measure the cognitive effort. This work, therefore, proposes the ARNI, an EEG-Based computational model to measure program comprehension. The ARNI model was produced based on gaps found in the literature after a systematic mapping study (SMS), which reviewed 1706 studies, 12 of which were chosen as primary studies. A controlled experiment with 35 software developers was performed to evaluate the ARNI model through 350 scenarios of program comprehension. Moreover, this experiment also evaluated the effects of modularization and developers’ experience on the developers’ cognitive effort. The obtained results suggest that the ARNI model was useful to measure cognitive effort. The controlled experiment revealed that the comprehension of non-modular source code required less temporal effort (34.11%) and produced a higher correct comprehension rate (33.65%) than modular source code. The main contributions are: (1) the execution of SMS in the context studied; (2) a computational model to measure program comprehension to measure source code; (3) empirical knowledge about the effects of modularization on the developers’ cognitive effort. Finally, this work can be seen as a first step for an ambitious agenda in the area of program comprehension. 2018-04-24T13:44:05Z 2018-04-24T13:44:05Z 2018-01-18 info:eu-repo/semantics/publishedVersion info:eu-repo/semantics/masterThesis http://www.repositorio.jesuita.org.br/handle/UNISINOS/7019 por info:eu-repo/semantics/openAccess Universidade do Vale do Rio dos Sinos Programa de Pós-Graduação em Computação Aplicada Unisinos Brasil Escola Politécnica reponame:Repositório Institucional da UNISINOS instname:Universidade do Vale do Rio dos Sinos instacron:UNISINOS