Please use this identifier to cite or link to this item: https://repositorio.ufu.br/handle/123456789/44072
Full metadata record
DC FieldValueLanguage
dc.creatorSá, Antonio Marcos Barbosa de-
dc.date.accessioned2024-11-29T17:31:40Z-
dc.date.available2024-11-29T17:31:40Z-
dc.date.issued2024-11-19-
dc.identifier.citationSA, Antonio Marcos Barbosa de. Uso de Large Language Models (LLMs) para Auxílio na Correção de Bugs. 2024. 34 f. Trabalho de Conclusão de Curso (Graduação em Sistemas de Informação) – Universidade Federal de Uberlândia, Uberlândia, 2024.pt_BR
dc.identifier.urihttps://repositorio.ufu.br/handle/123456789/44072-
dc.languageporpt_BR
dc.publisherUniversidade Federal de Uberlândiapt_BR
dc.rightsAcesso Abertopt_BR
dc.subjectLLMs, bugs, identiĄcação de bugs, desenvolvimento de software, código fonte.pt_BR
dc.titleUso de Large Language Models (LLMs) para Auxílio na Correção de Bugspt_BR
dc.title.alternativeUse of Large Language Models (LLMs) for Bug Fixing Assistancept_BR
dc.typeTrabalho de Conclusão de Cursopt_BR
dc.contributor.advisor1Rocha, Adriano Mendonça-
dc.contributor.advisor1Latteshttps://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4359721Z3&tokenCaptchar=03AFcWeA5HfNC5k8buGfamYd_jtrr460zlbYD3T0DB53yyYBkx4ir1Lz5gNoGl3txT5x_OztMevUpqUroOF5T1h-fPAnUz6F_4Wmh6XlrgNTLjhQSDUMp2wHI-lSaNFIgn6lHjq4d3C7Y6n43v_D8EQOeDDDU4K9FEwuoJmupqB3mAPb0Tx-jwPSX-TpVYIMWz7Evu2lMP8cws0F4Zjs1csg-n-fMnwjLyZk6Kku4HT60Hh984_uphEumvbTbbd2NmWtYQS0Rm1UktzlK-ZezT3V2JO3HUlBHPaLiUMtdonyOiJjIzVeN2DOHL240mBh-yXguWCyzSSaDCfziqaZTq8AYfDTBIXoGcV_eAOm9fMwV_pv_n_TQ0MB8qYkd8dcrkoGzpCEb4W9edaWH7G67f2g3iycynULk26862nQu1fjw5ZX9gA5hzbEhvN56japOmASgWh67BqXcO_Bwp2CXAdEKU9T5CBbjoL8xG2rYuxNm8U-5eXyeZ3ytU1ZS2q0iZ0ZsLDpGiUwXlhBt3xJ_3j-gTL6oKr1FQM2nMTHmOQk_XLX2GMEBaiI3-X39bImZvB-mOfpDH7EtJ5IGIVByr1gH7iwslyBBOTIg4kzUUl81EiSfMa0ZhnG8IRfHlNotj-qeTW3EusH-cboHS8JENh1qEczfhHIwVS8uhrjPJ5-sbCo6KTYIJ7g5fVM3U1PdmobnhUTA22ibgBsU_44IivsgTNrNVmXm2MzPauzDkE0xV9jqpz3Jz6CPcwGPkoT1SAJoJMd8dYd5yOljQ9X9f5TT8WYu5xh2rWjWfwp7vklDPtrjoKm3gdnESmgI3QcaXyQVz04LBPD7chuJcc-jC1XVtLCAd1WIZ4MEcrEMJgXqaypk_BX2GcH4W2tezvJ9ztqG_WqcaWx7jVwehhVoXtyDd5dhiznb1kvBdhhUNpYKgYgI5Sb0WPbApt_BR
dc.contributor.referee1Pereira, Fabíola Souza Fernandes-
dc.contributor.referee1Latteshttps://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4576631D0&tokenCaptchar=03AFcWeA6kuU_Ngg-Eyu6yopx4S7_jPZIb7LeS_5KxTF-sqmiqDGFpFDkLpKZUS2MYWmhB0td8C_AZ0vUyTTCNb_IkUkyJSo6eOQeRqdJqHXTmoyyfregnsg_iSR2fWvUBIK1x_RIXRN8bpUvkTOdO5Ja0zLNhV7JkUBOc2ahuGWUxgtWauvfO9wTsNaNgQunVptBbmA4ECjGu69WUjDtRyI5ng1mS-Zc8zoTITosibZh8F1AnC6BCb0xRozc8X40i0FIrWWOn6QDBxPJZvVeCrxdoHv5IdBRDXqhxhbY6VLWj-TKQ4AoBOlVJmpbwuiJWJ35mQcNOJzkXWxoerppa3cBBYg49hYhMahVgCYcXaDI4FyGNElruzLCTncZBqlitIZQWr-a7FZ3xdsxGp2GbThEL42ohrTFZ_bx_miyYAxOGxrm0FudgQ6R6YS4tz62GuhVcXjCcYgB1UFn4tpjAL0XNzNQtrq_4X17LC5Iu_zQ77MOYQGstFktJ6pSdmm-M2rTOhggwge95dIbD-Tzko4iSVCgYEdTuMI46sjt8kwbdgFcojoOIbw65ItHACw07KmZu9yzZ13DhuvbF465cq6shQrim9I_uTXlUXMAoK1JO8Fw3XWNrq4h02dknorXQ3A6RSAY72eRzzMqA1E3BC3HLF-0tLFJOszR0nVV7d5ffB4ZNU8UJ1e-BZPvHFyE6Bd3mzLf4b9Bf0Ik1uC6HEbnXA9pbHb3tPsEgIqPnLqJTAuf9AeuST0kiL9Nvnhv7duI16jqkulwyFptJh1DY6sbOJTNVb1_UsZVUrdvziVFIG0VE5H8lpeTO6G61HJHLO8XkS_-Cqovp1RAM82LB-h_blk4hcw5IMK6TQ3lukuDquWRcEuuin6uNoXTRC7svWQ1zOWkg1EOxLEl4tgEBsh3BVFFURBljWgN2IHOAWbpzLc0_6NJ_avwpt_BR
dc.contributor.referee2Tuma, Carlos Cesar Mansur-
dc.contributor.referee2Latteshttps://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4216215E8&tokenCaptchar=03AFcWeA7GjUl_bv8Deo5ObE-8kDhRs_R8gkUdqL2UoOqQP3kVNMZ2OyZNKPte5YKPMUsD7mpcv2BBUU4b69hnQdhyBzBbB61oOxKln2UWVnFZak3ywx9mzKdTtIepT_6z0kFQRG6OQBbLrTl9B5BGjvEk631QIbiwn0ABF1IKHsi3bLF8v0MbUzaXPozvh7vI_dHuk652sPHOl7oolf_54kQIvUwixthAjJ5xwYFLs-pxH5LVW72JAFuahutjat16Yc5tSSvigRaXycwAlZwZl9j4iNHqt6a3Rv_CVQqnihHWuzUiHueUvP9dW_1qGJoWUgD-TSpAK4Krg0BcOmMIATZNUaZwmRgPc72mH0_29wIjpHH6oMXVsGjeNXzA6DdgMf5gYTxxP-xF0rZpdyFb05VECqOZY2aZjgqDxsyZiTQlPQpGo7NiNUSSR-NU3iQqJ3S298iX8qtoY8aU3HNpiBbONlTzkCgXGFwamvTC3wAgCuUYBSKbgP28zVQVU-jCTlF4GEuXzxvTOXgctwtm_5WywHzIF1CmlUja_l0a5BNuIAuxEBKfY2wY88LjEa8yQCuq6RIoC_6ppPWIGVKaFMfet_UdFxU1Tnj0LNc8ZqB-EB3-DwfSVdqeK-9119LrVI9cS9oySoX0wgZokDgU8sCkpaokmma61vN5C0HbMw5qFl8faNxuCq2QDzBxhjYIgwf0kxG8LeH67dabERTD6jYHtTDYzQ7m9ikYsQpsqKsw6w_NHiqgkQzcGG08_PP-0y78-TBl3zc04P0EAQL2OJfO4-ZdOlk4zRDaiiSp8DVhqKoSXCt0lU_fsuJyiLo6inDR04U3sm0DnaPv5zdbdz26kOMxgVkbMo8KRn7f_gI1neIwfse9F3bX0y-kI5DIvYQ-6jG2uf_SBtS2_yAFdHmF3FfshrNOu5Rd05AzuCJHMoUOOIAKPX8pt_BR
dc.description.degreenameTrabalho de Conclusão de Curso (Graduação)pt_BR
dc.description.resumoBugs são um problema frequente enfrentado por desenvolvedores, tornando a identiĄcação e compreensão deles uma tarefa árdua, especialmente para aqueles que estão aprendendo uma nova tecnologia de programação. A complexidade de localizar e corrigir bugs aumenta conforme a linguagem, e o nível de experiência do desenvolvedor. Nesse cenário, os LLMs (Modelos de Linguagem de Grande Escala) surgem como uma nova tecnologia, que pode ser aplicadas em diversas tarefas do desenvolvimento de software, incluindo a detecção e explicação de bugs. O presente estudo visa avaliar e analisar a capacidade dos LLMs, especialmente o Gemini e o GPT (Generative Pre-trained Transform) na identiĄcação e explicação de bugs de programação. Além de desenvolver e avaliar uma ferramenta para auxiliar desenvolvedores na identiĄcação e correção de bugs em seus códigos-fonte. Além disso, esse estudo tem como objetivo realizar uma análise crítica da qualidade das explicações geradas pelos LLMs. Para realizar essa análise, foram utilizados 40 exemplos de códigos contendo bugs, obtidos do StackOverĆow, sendo 10 exemplos para cada uma das seguintes linguagens: Java, Python, C e Kotlin. Esses códigos foram processados pelos LLMs, e avaliou-se se os bugs foram identiĄcados, e se as explicações fornecidas sobre os bugs foram satisfatórias. No processo de avaliação das explicações, foram considerados critérios como clareza, e coerência lógica no esclarecimento das causas dos bugs. Além disso, foi desenvolvida uma ferramenta web em Flask, que visa identiĄcar e explicar os bugs presentes no código fonte fornecido pelo usuário, que a partir da intenção do usuário e o código fornecido, a correção é feita por meio de uma chamada à API do Gemini. Essa tecnologia foi escolhida por ser gratuita e também pela eĄciência da mesma, conforme os resultados deste estudo. Também foi elaborado um questionário no qual foi aplicado a usuários que utilizaram a ferramenta para avaliarem a eĄciência da mesma. Com isso, chegaram-se aos seguintes resultados: todos os LLMs obtiveram 100% de acertos na identiĄcação dos bugs. No entanto, quanto à satisfação com as explicações dos bugs, observou-se que o GPT foi satisfatório em todos os problemas nas linguagens Java, C e Kotlin; já em Python, 8 dos 10 exemplos de códigos apresentaram explicações satisfatórias. Com o Gemini, as explicações foram satisfatórias em 8 exemplos de códigos nas linguagens Java e Python, enquanto em Kotlin e C, todas as explicações foram satisfatórias. Com relação ao questionário aplicado, a ferramenta foi bem avaliada pelos usuários.pt_BR
dc.publisher.countryBrasilpt_BR
dc.publisher.courseSistemas de Informaçãopt_BR
dc.sizeorduration34pt_BR
dc.subject.cnpqCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOpt_BR
Appears in Collections:TCC - Sistemas de Informação (Uberlândia)

Files in This Item:
File Description SizeFormat 
UsoLargeLanguage.pdfTCC485.76 kBAdobe PDFThumbnail
View/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.