Evaluating the impact of refactorings on the code comprehension of novices with eye tracking.
| Ano de defesa: | 2022 |
|---|---|
| Autor(a) principal: | |
| Orientador(a): | |
| Banca de defesa: | , , , |
| Tipo de documento: | Tese |
| Tipo de acesso: | Acesso aberto |
| Idioma: | eng |
| Instituição de defesa: |
Universidade Federal de Campina Grande
|
| Programa de Pós-Graduação: |
PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
|
| Departamento: |
Centro de Engenharia Elétrica e Informática - CEEI
|
| País: |
Brasil
|
| Palavras-chave em Português: | |
| Área do conhecimento CNPq: | |
| Link de acesso: | https://dspace.sti.ufcg.edu.br/handle/riufcg/29470 |
Resumo: | A compreensao do código é fundamental para a manutenção e evolução do software, por em, pode ser prejudicada por problemas estruturais no código. Para resolver os problemas es- truturais no código e torna-lo mais fácil de ler e entender, os desenvolvedores costumam usar refatoramentos. Um refatoramento e uma técnica disciplinada de reestruturação do código que visa melhorar sua estrutura interna preservando seu comportamento. No entanto, o estado-da-arte sobre o entendimento do impacto de refatoramentos na compreensao do ̃ código necessita de resultados conclusivos e detalhes quantitativos/qualitativos sobre como ́ e o porque de possıveis correlações. Enquanto alguns estudos encontraram um impacto di- ̃ vergente de refatoramentos na compreensão do código, outro descobriu que certos refatora- ́ mentos levaram a introdução de mais problemas estruturais. Com o objetivo de investigar o impacto das refatoramentos na compreensão do código, realizamos três estudos controlados com rastreio ocular: o primeiro sobre o impacto de atomos de confusão clarificados com 32 novatos em Python, o segundo sobre o impacto do refatoramento Extrair Metodo com 32 no- vatos em Java, e o terceiro sobre o impacto das anotac ̧oes ̃ #ifdef com 64 majoritariamente novatos na linguagem C. Alem de usar varios criterios como tempo, numero de tentativas ́ e opiniões, medimos o esforço visual dos sujeitos com rastreamento ocular por meio da ̃ duração da fixação, contagem de fixações e contagem de regressões. Em nossos resultados, ̃ a versão de código clarificada de um dos átomos reduziu o tempo em 38,6% e o número ́ de tentativas de resposta em 28%. Alem disso, observamos 47,3% menos regressões hori- zontais na região do átomo facilitando sua leitura. O uso do refatoramento Extrair Método apresentou uma redução significativa no tempo de duas tarefas, que variou de 70% a 78,8%. Observamos um aumento na acuracia de três tarefas, que variou de 20% a 34,4%. Os su- jeitos resolveram essas tarefas com o Extrair Método voltando visualmente no código com ́ 74,4% a 84,6 % menos frequência comparado ao Inline Método. No contexto das anotações #ifdef, um dos refatoramentos adiciona uma variável extra e duas linhas extras de código, o que e apenas um pequeno impacto na métrica Linhas de Código (LOC), mas apresentou reduções na região modificada em 46,9% no tempo, 44,7% na duração da fixação, 48,4% na contagem de fixação e 60,5% na contagem de regressões. Esses resultados contribuem para conscientizar educadores sobre certos refatoramentos e seu potencial para facilitar ou difi- cultar a compreensão de código de novatos em Python, Java e C. Praticantes e designers de linguagem de programação devem ser mais cuidadosos ao usar ou propor refatoramentos que possam prejudicar a capacidade dos novatos de entender o código. Para os pesquisadores, esses resultados mostram o potencial das métricas visuais para revelar um impacto de refa- toramentos que não podem ser capturados por métricas estáticas de código. linguagem de programação devem ser mais cuidadosos ao usar ou propor refatoramentos que possam perjudicar a capacidade dos novatos de entender o código. Para los pesquisadores, esses resultados mostram o potencial das métricas visuais para revelar um impacto de refa- toramentos que não podem ser capturados por métricas estáticas de código. |
| id |
UFCG_c0cacfcba86cc8165d6d25c54f12b9da |
|---|---|
| oai_identifier_str |
oai:dspace.sti.ufcg.edu.br:riufcg/29470 |
| network_acronym_str |
UFCG |
| network_name_str |
Biblioteca Digital de Teses e Dissertações da UFCG |
| repository_id_str |
|
| spelling |
GHEYI, Rohit.GHEYI, R.Gheyi, Rohit.http://lattes.cnpq.br/2931270888717344MASSONI, Tiago Lima.MASSONI, T. L.Massoni, Tiago.MASSONI, TIAGO LIMA.http://lattes.cnpq.br/3563923906851611ALMEIDA, Hyggo Oliveira de.ALMEIDA, Hyggo Oliveira de.Almeida, Hyggo.Almeida, Hyggo O.http://lattes.cnpq.br/4993914550234923ALVES, Vander Ramos.ALVES, Vander.Alves, Vander.ALVES, V.http://lattes.cnpq.br/7500979195469357LIMA FILHO, Fernando José Castor de.CASTOR FILHO, Fernando.CASTOR, Fernando.CASTORFILHO, F.http://lattes.cnpq.br/7310046838140771COSTA, J. A. S.DA COSTA, JOSÉ ALDO SILVA.DA COSTA, JOSÉ ALDO.http://lattes.cnpq.br/3845232602852992COSTA, José Aldo Silva da.A compreensao do código é fundamental para a manutenção e evolução do software, por em, pode ser prejudicada por problemas estruturais no código. Para resolver os problemas es- truturais no código e torna-lo mais fácil de ler e entender, os desenvolvedores costumam usar refatoramentos. Um refatoramento e uma técnica disciplinada de reestruturação do código que visa melhorar sua estrutura interna preservando seu comportamento. No entanto, o estado-da-arte sobre o entendimento do impacto de refatoramentos na compreensao do ̃ código necessita de resultados conclusivos e detalhes quantitativos/qualitativos sobre como ́ e o porque de possıveis correlações. Enquanto alguns estudos encontraram um impacto di- ̃ vergente de refatoramentos na compreensão do código, outro descobriu que certos refatora- ́ mentos levaram a introdução de mais problemas estruturais. Com o objetivo de investigar o impacto das refatoramentos na compreensão do código, realizamos três estudos controlados com rastreio ocular: o primeiro sobre o impacto de atomos de confusão clarificados com 32 novatos em Python, o segundo sobre o impacto do refatoramento Extrair Metodo com 32 no- vatos em Java, e o terceiro sobre o impacto das anotac ̧oes ̃ #ifdef com 64 majoritariamente novatos na linguagem C. Alem de usar varios criterios como tempo, numero de tentativas ́ e opiniões, medimos o esforço visual dos sujeitos com rastreamento ocular por meio da ̃ duração da fixação, contagem de fixações e contagem de regressões. Em nossos resultados, ̃ a versão de código clarificada de um dos átomos reduziu o tempo em 38,6% e o número ́ de tentativas de resposta em 28%. Alem disso, observamos 47,3% menos regressões hori- zontais na região do átomo facilitando sua leitura. O uso do refatoramento Extrair Método apresentou uma redução significativa no tempo de duas tarefas, que variou de 70% a 78,8%. Observamos um aumento na acuracia de três tarefas, que variou de 20% a 34,4%. Os su- jeitos resolveram essas tarefas com o Extrair Método voltando visualmente no código com ́ 74,4% a 84,6 % menos frequência comparado ao Inline Método. No contexto das anotações #ifdef, um dos refatoramentos adiciona uma variável extra e duas linhas extras de código, o que e apenas um pequeno impacto na métrica Linhas de Código (LOC), mas apresentou reduções na região modificada em 46,9% no tempo, 44,7% na duração da fixação, 48,4% na contagem de fixação e 60,5% na contagem de regressões. Esses resultados contribuem para conscientizar educadores sobre certos refatoramentos e seu potencial para facilitar ou difi- cultar a compreensão de código de novatos em Python, Java e C. Praticantes e designers de linguagem de programação devem ser mais cuidadosos ao usar ou propor refatoramentos que possam prejudicar a capacidade dos novatos de entender o código. Para os pesquisadores, esses resultados mostram o potencial das métricas visuais para revelar um impacto de refa- toramentos que não podem ser capturados por métricas estáticas de código. linguagem de programação devem ser mais cuidadosos ao usar ou propor refatoramentos que possam perjudicar a capacidade dos novatos de entender o código. Para los pesquisadores, esses resultados mostram o potencial das métricas visuais para revelar um impacto de refa- toramentos que não podem ser capturados por métricas estáticas de código.Code comprehension is crucial for software maintenance and evolution, however, it can be hindered by structural problems in the code. To address the structural problems in the code and make it easier to read and understand, developers often use refactorings. Refactoring is a disciplined technique for restructuring the code that aims to improve its internal structure preserving its behavior. However, the state-of-the-art on understanding the impact of refac- torings on code comprehension lacks conclusive results and quantitative/qualitative details on how and why of possible correlations. While some studies found a divergent impact of refactorings on code comprehension, another found that certain refactorings led to the intro- duction of more structural problems. Aiming to further investigate the impact of refactorings on code comprehension, we conduct three controlled studies with eye tracking: the first one on the impact of clarified atoms of confusion with 32 novices in Python, the second one on the impact of Extract Method refactoring with 32 novices in Java, and the third one on the impact of #ifdef annotations with 64 majoritarily novices in the C language. Besides using multiple criteria such as time, the number of attempts, and opinions, we measured the visual effort of the subjects with eye tracking through fixation duration, fixations count, and regressions count. In our results, the clarified version of the code with an atom reduced the time to the extent of 38.6% and the number of answer attempts by 28%. In addition, we observed 47.3% fewer horizontal regressions count in the atom region, making its reading easier. The use of the Extract Method refactoring presented a significant reduction in the time of two tasks, which varied from 70% to 78.8%. We observed an increase in the accu- racy of three tasks, which varied from 20% to 34.4%. The subjects solved these tasks with the Extract Method going back visually in the code 74.4% to 84.6% less often compared to the Inline Method. In the context of #ifdef annotations, one of the refactorings adds one extra variable and two extra lines of code, which is only a small impact on the metric Lines of Code (LOC), but it presented reductions in the modified region by 46.9% in the time, 44.7% in the fixation duration, 48.4% in the fixation count, and 60.5% in the regressions count. These results raise educators’ awareness about certain refactorings and their potential to ease or hinder the code comprehension for novices in Python, Java, and C. Practitioners and language designers should be more careful when using or proposing refactorings that could possibly impair the novices’ abilities to understand the code. For researchers, these results show the potential of visual metrics to reveal an impact of refactorings that cannot be captured by static code metrics.Submitted by Mirna Edkarla Cabral Santos (edkarlamirna@gmail.com) on 2023-04-25T14:29:51Z No. of bitstreams: 1 JOSÉ ALDO SILVA DA COSTA - TESE (PPGCC) 2022.pdf: 3609337 bytes, checksum: a80edf3e4e424cd1fca61ffc3dd4689b (MD5)Made available in DSpace on 2023-04-25T14:29:51Z (GMT). No. of bitstreams: 1 JOSÉ ALDO SILVA DA COSTA - TESE (PPGCC) 2022.pdf: 3609337 bytes, checksum: a80edf3e4e424cd1fca61ffc3dd4689b (MD5) Previous issue date: 2022-12-13La comprensión del código es fundamental para la manutención y la evolución del software, por ejemplo, pode ser perjudicado por problemas estruturais no código. Para resolver os problemas es- truturais no código e torna-lo mais fácil de ler e entender, os desenvolvedores costumam usar refatoramentos. Um refatoramento e uma técnica disciplinada de reestruturação do código que visa melhorar sua estrutura interna preservando seu comportamento. No entanto, o estado-da-arte sobre o entendimento do impacto de refatoramentos na compreensao do ̃ código necessita de resultados conclusivos e detalhes quantitativos/qualitativos sobre como ́ e o porque de possıveis correlações. Enquanto alguns estudos encontraram um impacto di- ̃ vergente de refatoramentos na comprensão do código, outro descobriu que certos refatora- ́ mentos levaram a introducção de mais problemas estruturais. Como objetivo de investigar impacto das refatoramentos na comprensão do código, realizamos três estudos controlados com rastreio ocular: o primeiro sobre o impact of atomos de confusão clarificados com 32 novatos em Python, o segundo sobre o impacto do refatoramento Extrair Metodo com 32 no- vatos em Java, e o tercero sobre el impacto das anotac ̧oes ̃ #ifdef com 64 mayoritariamente novatos na linguagem C. Alem de usar varios criterios como tempo, numero de tentativas ́ e opiniões, medimos o esforço visual dos sujeitos com rastreamento ocular por meio da ̃ duração da fixação, contagem de fixações y contagem de regressões. Em nossos resultados, ̃ a versão de código clarificada de um dos ́ atomos reduziu o tempo em 38,6% e o número ́ de tentativas de respuesta em 28%. Alem disso, observamos 47,3% menos regressões hori- zontais na região do atomo facilitando sua leitura. O uso do refatoramento Extrair Método apresentou uma redução significativa no tempo de duas tarefas, que variou de 70% a 78,8%. Observamos um aumento na acuracia de três tarefas, que variou de 20% a 34,4%. Os su- jeitos resolveram essas tarefas com o Extrair Método voltando visualmente no código com ́ 74,4% a 84,6 % menos frecuencia comparada con Inline Método. No contexto das anotações #ifdef, um dos refatoramentos adiciona uma variável extra e duas linhas extras de código, o que apenas tiene un pequeño impacto en las líneas de código métricas (LOC), más presente reducciones en la región modificada en 46,9% sin tempo, 44,7% sobre la duración de la fijación, 48,4% sobre Contagem de fixação y 60,5% na contagem de regressões. Esses resultados contribuyen para conscientizar educadores sobre certos refatoramentos y seu potencial para facilitar ou difi- cultar una comprensión de código de novatos en Python, Java y C. Praticantes y diseñadores de linguagem de programação devem ser mais cuidadosos ao usar ou propor refatoramentos que possam perjudicar a capacidade dos novatos de entender o código. Para los pesquisadores, esses resultados mostram o potencial das métricas visuais para revelar um impacto de refa- toramentos que não podem ser capturados por métricas estáticas de código.Universidade Federal de Campina GrandePÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃOUFCGBrasilCentro de Engenharia Elétrica e Informática - CEEICiência da ComputaçãoRefatoramentosCompreensão de códigoEye trackingComprensión de códigoSeguimiento ocularRefatoraçõesRastreamento ocularEvaluating the impact of refactorings on the code comprehension of novices with eye tracking.Avaliando o impacto de refatorações na compreensão de código de novatos com eye tracking.Evaluación del impacto de las refactorizaciones en la comprensión de código de los novatos con seguimiento ocular.2022-12-132023-04-25T14:29:51Z2023-04-252023-04-25T14:29:51Zhttps://dspace.sti.ufcg.edu.br/handle/riufcg/29470COSTA, José Aldo Silva da. Evaluating the impact of refactorings on the code comprehension of novices with eye tracking. 2023. 222 fl. Tese (Doutorado em Ciência da Computação), Programa de Pós-Graduação em Ciência da Computação, Centro de Engenharia Elétrica e Informática, Campina Grande, Paraíba, Brasil, 2023. Disponível em: https://dspace.sti.ufcg.edu.br/handle/riufcg/29470info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisinfo:eu-repo/semantics/openAccessengreponame:Biblioteca Digital de Teses e Dissertações da UFCGinstname:Universidade Federal de Campina Grande (UFCG)instacron:UFCGTEXTJOSÉ ALDO SILVA DA COSTA - TESE PPGCC 2022.pdf.txtJOSÉ ALDO SILVA DA COSTA - TESE PPGCC 2022.pdf.txttext/plain458253https://dspace.sti.ufcg.edu.br/bitstream/riufcg/29470/3/JOS%C3%89+ALDO+SILVA+DA+COSTA++-+TESE+PPGCC+2022.pdf.txt98e4c1d33dd922d8ea4aad0e9ff7c67bMD53LICENSElicense.txtlicense.txttext/plain; charset=utf-81748https://dspace.sti.ufcg.edu.br/bitstream/riufcg/29470/2/license.txt8a4605be74aa9ea9d79846c1fba20a33MD52ORIGINALJOSÉ ALDO SILVA DA COSTA - TESE PPGCC 2022.pdfJOSÉ ALDO SILVA DA COSTA - TESE PPGCC 2022.pdfapplication/pdf3609337https://dspace.sti.ufcg.edu.br/bitstream/riufcg/29470/1/JOS%C3%89+ALDO+SILVA+DA+COSTA++-+TESE+PPGCC+2022.pdfa80edf3e4e424cd1fca61ffc3dd4689bMD51riufcg/294702025-11-18 03:11:26.839oai:dspace.sti.ufcg.edu.br:riufcg/29470Tk9URTogUExBQ0UgWU9VUiBPV04gTElDRU5TRSBIRVJFClRoaXMgc2FtcGxlIGxpY2Vuc2UgaXMgcHJvdmlkZWQgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seS4KCk5PTi1FWENMVVNJVkUgRElTVFJJQlVUSU9OIExJQ0VOU0UKCkJ5IHNpZ25pbmcgYW5kIHN1Ym1pdHRpbmcgdGhpcyBsaWNlbnNlLCB5b3UgKHRoZSBhdXRob3Iocykgb3IgY29weXJpZ2h0Cm93bmVyKSBncmFudHMgdG8gRFNwYWNlIFVuaXZlcnNpdHkgKERTVSkgdGhlIG5vbi1leGNsdXNpdmUgcmlnaHQgdG8gcmVwcm9kdWNlLAp0cmFuc2xhdGUgKGFzIGRlZmluZWQgYmVsb3cpLCBhbmQvb3IgZGlzdHJpYnV0ZSB5b3VyIHN1Ym1pc3Npb24gKGluY2x1ZGluZwp0aGUgYWJzdHJhY3QpIHdvcmxkd2lkZSBpbiBwcmludCBhbmQgZWxlY3Ryb25pYyBmb3JtYXQgYW5kIGluIGFueSBtZWRpdW0sCmluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gYXVkaW8gb3IgdmlkZW8uCgpZb3UgYWdyZWUgdGhhdCBEU1UgbWF5LCB3aXRob3V0IGNoYW5naW5nIHRoZSBjb250ZW50LCB0cmFuc2xhdGUgdGhlCnN1Ym1pc3Npb24gdG8gYW55IG1lZGl1bSBvciBmb3JtYXQgZm9yIHRoZSBwdXJwb3NlIG9mIHByZXNlcnZhdGlvbi4KCllvdSBhbHNvIGFncmVlIHRoYXQgRFNVIG1heSBrZWVwIG1vcmUgdGhhbiBvbmUgY29weSBvZiB0aGlzIHN1Ym1pc3Npb24gZm9yCnB1cnBvc2VzIG9mIHNlY3VyaXR5LCBiYWNrLXVwIGFuZCBwcmVzZXJ2YXRpb24uCgpZb3UgcmVwcmVzZW50IHRoYXQgdGhlIHN1Ym1pc3Npb24gaXMgeW91ciBvcmlnaW5hbCB3b3JrLCBhbmQgdGhhdCB5b3UgaGF2ZQp0aGUgcmlnaHQgdG8gZ3JhbnQgdGhlIHJpZ2h0cyBjb250YWluZWQgaW4gdGhpcyBsaWNlbnNlLiBZb3UgYWxzbyByZXByZXNlbnQKdGhhdCB5b3VyIHN1Ym1pc3Npb24gZG9lcyBub3QsIHRvIHRoZSBiZXN0IG9mIHlvdXIga25vd2xlZGdlLCBpbmZyaW5nZSB1cG9uCmFueW9uZSdzIGNvcHlyaWdodC4KCklmIHRoZSBzdWJtaXNzaW9uIGNvbnRhaW5zIG1hdGVyaWFsIGZvciB3aGljaCB5b3UgZG8gbm90IGhvbGQgY29weXJpZ2h0LAp5b3UgcmVwcmVzZW50IHRoYXQgeW91IGhhdmUgb2J0YWluZWQgdGhlIHVucmVzdHJpY3RlZCBwZXJtaXNzaW9uIG9mIHRoZQpjb3B5cmlnaHQgb3duZXIgdG8gZ3JhbnQgRFNVIHRoZSByaWdodHMgcmVxdWlyZWQgYnkgdGhpcyBsaWNlbnNlLCBhbmQgdGhhdApzdWNoIHRoaXJkLXBhcnR5IG93bmVkIG1hdGVyaWFsIGlzIGNsZWFybHkgaWRlbnRpZmllZCBhbmQgYWNrbm93bGVkZ2VkCndpdGhpbiB0aGUgdGV4dCBvciBjb250ZW50IG9mIHRoZSBzdWJtaXNzaW9uLgoKSUYgVEhFIFNVQk1JU1NJT04gSVMgQkFTRUQgVVBPTiBXT1JLIFRIQVQgSEFTIEJFRU4gU1BPTlNPUkVEIE9SIFNVUFBPUlRFRApCWSBBTiBBR0VOQ1kgT1IgT1JHQU5JWkFUSU9OIE9USEVSIFRIQU4gRFNVLCBZT1UgUkVQUkVTRU5UIFRIQVQgWU9VIEhBVkUKRlVMRklMTEVEIEFOWSBSSUdIVCBPRiBSRVZJRVcgT1IgT1RIRVIgT0JMSUdBVElPTlMgUkVRVUlSRUQgQlkgU1VDSApDT05UUkFDVCBPUiBBR1JFRU1FTlQuCgpEU1Ugd2lsbCBjbGVhcmx5IGlkZW50aWZ5IHlvdXIgbmFtZShzKSBhcyB0aGUgYXV0aG9yKHMpIG9yIG93bmVyKHMpIG9mIHRoZQpzdWJtaXNzaW9uLCBhbmQgd2lsbCBub3QgbWFrZSBhbnkgYWx0ZXJhdGlvbiwgb3RoZXIgdGhhbiBhcyBhbGxvd2VkIGJ5IHRoaXMKbGljZW5zZSwgdG8geW91ciBzdWJtaXNzaW9uLgo=Biblioteca Digital de Teses e Dissertaçõeshttp://bdtd.ufcg.edu.br/PUBhttp://dspace.sti.ufcg.edu.br:8080/oai/requestbdtd@setor.ufcg.edu.br || bdtd@setor.ufcg.edu.bropendoar:48512025-11-18T06:11:26Biblioteca Digital de Teses e Dissertações da UFCG - Universidade Federal de Campina Grande (UFCG)false |
| dc.title.pt_BR.fl_str_mv |
Evaluating the impact of refactorings on the code comprehension of novices with eye tracking. |
| dc.title.alternative.pt_BR.fl_str_mv |
Avaliando o impacto de refatorações na compreensão de código de novatos com eye tracking. Evaluación del impacto de las refactorizaciones en la comprensión de código de los novatos con seguimiento ocular. |
| title |
Evaluating the impact of refactorings on the code comprehension of novices with eye tracking. |
| spellingShingle |
Evaluating the impact of refactorings on the code comprehension of novices with eye tracking. COSTA, José Aldo Silva da. Ciência da Computação Refatoramentos Compreensão de código Eye tracking Comprensión de código Seguimiento ocular Refatorações Rastreamento ocular |
| title_short |
Evaluating the impact of refactorings on the code comprehension of novices with eye tracking. |
| title_full |
Evaluating the impact of refactorings on the code comprehension of novices with eye tracking. |
| title_fullStr |
Evaluating the impact of refactorings on the code comprehension of novices with eye tracking. |
| title_full_unstemmed |
Evaluating the impact of refactorings on the code comprehension of novices with eye tracking. |
| title_sort |
Evaluating the impact of refactorings on the code comprehension of novices with eye tracking. |
| author |
COSTA, José Aldo Silva da. |
| author_facet |
COSTA, José Aldo Silva da. |
| author_role |
author |
| dc.contributor.advisor1.fl_str_mv |
GHEYI, Rohit. |
| dc.contributor.advisor1ID.fl_str_mv |
GHEYI, R. Gheyi, Rohit. |
| dc.contributor.advisor1Lattes.fl_str_mv |
http://lattes.cnpq.br/2931270888717344 |
| dc.contributor.referee1.fl_str_mv |
MASSONI, Tiago Lima. |
| dc.contributor.referee1ID.fl_str_mv |
MASSONI, T. L. Massoni, Tiago. MASSONI, TIAGO LIMA. |
| dc.contributor.referee1Lattes.fl_str_mv |
http://lattes.cnpq.br/3563923906851611 |
| dc.contributor.referee2.fl_str_mv |
ALMEIDA, Hyggo Oliveira de. |
| dc.contributor.referee2ID.fl_str_mv |
ALMEIDA, Hyggo Oliveira de. Almeida, Hyggo. Almeida, Hyggo O. |
| dc.contributor.referee2Lattes.fl_str_mv |
http://lattes.cnpq.br/4993914550234923 |
| dc.contributor.referee3.fl_str_mv |
ALVES, Vander Ramos. |
| dc.contributor.referee3ID.fl_str_mv |
ALVES, Vander. Alves, Vander. ALVES, V. |
| dc.contributor.referee3Lattes.fl_str_mv |
http://lattes.cnpq.br/7500979195469357 |
| dc.contributor.referee4.fl_str_mv |
LIMA FILHO, Fernando José Castor de. |
| dc.contributor.referee4ID.fl_str_mv |
CASTOR FILHO, Fernando. CASTOR, Fernando. CASTORFILHO, F. |
| dc.contributor.referee4Lattes.fl_str_mv |
http://lattes.cnpq.br/7310046838140771 |
| dc.contributor.authorID.fl_str_mv |
COSTA, J. A. S. DA COSTA, JOSÉ ALDO SILVA. DA COSTA, JOSÉ ALDO. |
| dc.contributor.authorLattes.fl_str_mv |
http://lattes.cnpq.br/3845232602852992 |
| dc.contributor.author.fl_str_mv |
COSTA, José Aldo Silva da. |
| contributor_str_mv |
GHEYI, Rohit. MASSONI, Tiago Lima. ALMEIDA, Hyggo Oliveira de. ALVES, Vander Ramos. LIMA FILHO, Fernando José Castor de. |
| dc.subject.cnpq.fl_str_mv |
Ciência da Computação |
| topic |
Ciência da Computação Refatoramentos Compreensão de código Eye tracking Comprensión de código Seguimiento ocular Refatorações Rastreamento ocular |
| dc.subject.por.fl_str_mv |
Refatoramentos Compreensão de código Eye tracking Comprensión de código Seguimiento ocular Refatorações Rastreamento ocular |
| description |
A compreensao do código é fundamental para a manutenção e evolução do software, por em, pode ser prejudicada por problemas estruturais no código. Para resolver os problemas es- truturais no código e torna-lo mais fácil de ler e entender, os desenvolvedores costumam usar refatoramentos. Um refatoramento e uma técnica disciplinada de reestruturação do código que visa melhorar sua estrutura interna preservando seu comportamento. No entanto, o estado-da-arte sobre o entendimento do impacto de refatoramentos na compreensao do ̃ código necessita de resultados conclusivos e detalhes quantitativos/qualitativos sobre como ́ e o porque de possıveis correlações. Enquanto alguns estudos encontraram um impacto di- ̃ vergente de refatoramentos na compreensão do código, outro descobriu que certos refatora- ́ mentos levaram a introdução de mais problemas estruturais. Com o objetivo de investigar o impacto das refatoramentos na compreensão do código, realizamos três estudos controlados com rastreio ocular: o primeiro sobre o impacto de atomos de confusão clarificados com 32 novatos em Python, o segundo sobre o impacto do refatoramento Extrair Metodo com 32 no- vatos em Java, e o terceiro sobre o impacto das anotac ̧oes ̃ #ifdef com 64 majoritariamente novatos na linguagem C. Alem de usar varios criterios como tempo, numero de tentativas ́ e opiniões, medimos o esforço visual dos sujeitos com rastreamento ocular por meio da ̃ duração da fixação, contagem de fixações e contagem de regressões. Em nossos resultados, ̃ a versão de código clarificada de um dos átomos reduziu o tempo em 38,6% e o número ́ de tentativas de resposta em 28%. Alem disso, observamos 47,3% menos regressões hori- zontais na região do átomo facilitando sua leitura. O uso do refatoramento Extrair Método apresentou uma redução significativa no tempo de duas tarefas, que variou de 70% a 78,8%. Observamos um aumento na acuracia de três tarefas, que variou de 20% a 34,4%. Os su- jeitos resolveram essas tarefas com o Extrair Método voltando visualmente no código com ́ 74,4% a 84,6 % menos frequência comparado ao Inline Método. No contexto das anotações #ifdef, um dos refatoramentos adiciona uma variável extra e duas linhas extras de código, o que e apenas um pequeno impacto na métrica Linhas de Código (LOC), mas apresentou reduções na região modificada em 46,9% no tempo, 44,7% na duração da fixação, 48,4% na contagem de fixação e 60,5% na contagem de regressões. Esses resultados contribuem para conscientizar educadores sobre certos refatoramentos e seu potencial para facilitar ou difi- cultar a compreensão de código de novatos em Python, Java e C. Praticantes e designers de linguagem de programação devem ser mais cuidadosos ao usar ou propor refatoramentos que possam prejudicar a capacidade dos novatos de entender o código. Para os pesquisadores, esses resultados mostram o potencial das métricas visuais para revelar um impacto de refa- toramentos que não podem ser capturados por métricas estáticas de código. linguagem de programação devem ser mais cuidadosos ao usar ou propor refatoramentos que possam perjudicar a capacidade dos novatos de entender o código. Para los pesquisadores, esses resultados mostram o potencial das métricas visuais para revelar um impacto de refa- toramentos que não podem ser capturados por métricas estáticas de código. |
| publishDate |
2022 |
| dc.date.issued.fl_str_mv |
2022-12-13 |
| dc.date.accessioned.fl_str_mv |
2023-04-25T14:29:51Z |
| dc.date.available.fl_str_mv |
2023-04-25 2023-04-25T14:29:51Z |
| dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
| dc.type.driver.fl_str_mv |
info:eu-repo/semantics/doctoralThesis |
| format |
doctoralThesis |
| status_str |
publishedVersion |
| dc.identifier.uri.fl_str_mv |
https://dspace.sti.ufcg.edu.br/handle/riufcg/29470 |
| dc.identifier.citation.fl_str_mv |
COSTA, José Aldo Silva da. Evaluating the impact of refactorings on the code comprehension of novices with eye tracking. 2023. 222 fl. Tese (Doutorado em Ciência da Computação), Programa de Pós-Graduação em Ciência da Computação, Centro de Engenharia Elétrica e Informática, Campina Grande, Paraíba, Brasil, 2023. Disponível em: https://dspace.sti.ufcg.edu.br/handle/riufcg/29470 |
| url |
https://dspace.sti.ufcg.edu.br/handle/riufcg/29470 |
| identifier_str_mv |
COSTA, José Aldo Silva da. Evaluating the impact of refactorings on the code comprehension of novices with eye tracking. 2023. 222 fl. Tese (Doutorado em Ciência da Computação), Programa de Pós-Graduação em Ciência da Computação, Centro de Engenharia Elétrica e Informática, Campina Grande, Paraíba, Brasil, 2023. Disponível em: https://dspace.sti.ufcg.edu.br/handle/riufcg/29470 |
| dc.language.iso.fl_str_mv |
eng |
| language |
eng |
| dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
| eu_rights_str_mv |
openAccess |
| dc.publisher.none.fl_str_mv |
Universidade Federal de Campina Grande |
| dc.publisher.program.fl_str_mv |
PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO |
| dc.publisher.initials.fl_str_mv |
UFCG |
| dc.publisher.country.fl_str_mv |
Brasil |
| dc.publisher.department.fl_str_mv |
Centro de Engenharia Elétrica e Informática - CEEI |
| publisher.none.fl_str_mv |
Universidade Federal de Campina Grande |
| dc.source.none.fl_str_mv |
reponame:Biblioteca Digital de Teses e Dissertações da UFCG instname:Universidade Federal de Campina Grande (UFCG) instacron:UFCG |
| instname_str |
Universidade Federal de Campina Grande (UFCG) |
| instacron_str |
UFCG |
| institution |
UFCG |
| reponame_str |
Biblioteca Digital de Teses e Dissertações da UFCG |
| collection |
Biblioteca Digital de Teses e Dissertações da UFCG |
| bitstream.url.fl_str_mv |
https://dspace.sti.ufcg.edu.br/bitstream/riufcg/29470/3/JOS%C3%89+ALDO+SILVA+DA+COSTA++-+TESE+PPGCC+2022.pdf.txt https://dspace.sti.ufcg.edu.br/bitstream/riufcg/29470/2/license.txt https://dspace.sti.ufcg.edu.br/bitstream/riufcg/29470/1/JOS%C3%89+ALDO+SILVA+DA+COSTA++-+TESE+PPGCC+2022.pdf |
| bitstream.checksum.fl_str_mv |
98e4c1d33dd922d8ea4aad0e9ff7c67b 8a4605be74aa9ea9d79846c1fba20a33 a80edf3e4e424cd1fca61ffc3dd4689b |
| bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 |
| repository.name.fl_str_mv |
Biblioteca Digital de Teses e Dissertações da UFCG - Universidade Federal de Campina Grande (UFCG) |
| repository.mail.fl_str_mv |
bdtd@setor.ufcg.edu.br || bdtd@setor.ufcg.edu.br |
| _version_ |
1863363533824065536 |