[pt] EXPLORANDO AGENTES CONVERSACIONAIS PARA ORIENTAR DESENVOLVEDORES SOBRE QUESTÕES DE CONFIABILIDADE DE SOFTWARE

Detalhes bibliográficos
Ano de defesa: 2025
Autor(a) principal: JOAO LUCAS MARQUES CORREIA
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Tese
Tipo de acesso: Acesso aberto
Idioma: eng
Instituição de defesa: MAXWELL
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=74447&idi=1
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=74447&idi=2
http://doi.org/10.17771/PUCRio.acad.74447
Resumo: [pt] A confiabilidade de software é um requisito não funcional (RNF) crítico que abrange a capacidade de um sistema se manter disponível, confiável, manutenível e resiliente na presença de falhas. O tratamento de exceções desempenha um papel central na operacionalização desses atributos, sendo o ponto em que falhas são detectadas, relatadas e recuperadas. Apesar de sua importância, o tratamento de exceções é frequentemente negligenciado por ferramentas e pouco priorizado nas práticas dos desenvolvedores. Esta tese investiga como agentes conversacionais, especialmente aqueles baseados em grandes modelos de linguagem (LLMs), podem apoiar o desenvolvimento de software confiável, utilizando o tratamento de exceções como ponto de entrada prático. A pesquisa aborda três lacunas principais: (i) a falta de entendimento empírico sobre como contribuições relacionadas a exceções são feitas e revisadas em contextos colaborativos; (ii) a escassez de avaliações de agentes baseados em LLMs em cenários reais de suporte a desenvolvedores; e (iii) a necessidade de ir além de respostas passivas, explorando agentes capazes de gerar mudanças de código para revisão. Para isso, foram conduzidos quatro estudos complementares. Primeiramente, caracterizamos pull requests (PRs) relacionados a exceções em projetos Java da Apache, revelando que essas mudanças são proativas e multifacetadas. Em seguida, propomos o agente conversacional DevMentorAI, baseado em geração de recuperação aumentada (RAG), foi avaliado no projeto Mozilla PDF.js e demonstrou igualar ou superar respostas humanas para questões técnicas. Posteriormente, uma comparação no ecossistema do Mozilla Firefox mostrou que modelos RAG fornecem respostas mais úteis e completas do que LLMs genéricos e humanos, embora mais verbosas. Por fim, uma arquitetura multiagente foi proposta e validada em sistemas industriais, demonstrando que agentes baseados em LLMs podem detectar e corrigir problemas de confiabilidade de maneira eficaz e alinhada às expectativas dos desenvolvedores. Os resultados dão indícios que agentes conversacionais, quando fundamentados no contexto do projeto, podem apoiar significativamente os desenvolvedores na identificação e resolução de problemas de confiabilidade.
id PUC_RIO-1_313d3f1548b8815c82278bf4207e2891
oai_identifier_str oai:MAXWELL.puc-rio.br:74447
network_acronym_str PUC_RIO-1
network_name_str Repositório Institucional da PUC-RIO (Projeto Maxwell)
repository_id_str
spelling [pt] EXPLORANDO AGENTES CONVERSACIONAIS PARA ORIENTAR DESENVOLVEDORES SOBRE QUESTÕES DE CONFIABILIDADE DE SOFTWARE [en] EXPLORING CONVERSATIONAL AGENTS FOR DEVELOPER GUIDANCE ON SOFTWARE DEPENDABILITY ISSUES [pt] AGENTE CONVERSACIONAL[pt] ASSISTENCIA AO DESENVOLVEDOR[pt] CONFIABILIDADE DE SOFTWARE[pt] MODELO DE LINGUAGEM DE GRANDE ESCALA[en] CONVERSATIONAL AGENT[en] DEVELOPER ASSISTANCE[en] SOFTWARE DEPENDABILITY[en] LARGE LANGUAGE MODEL[pt] A confiabilidade de software é um requisito não funcional (RNF) crítico que abrange a capacidade de um sistema se manter disponível, confiável, manutenível e resiliente na presença de falhas. O tratamento de exceções desempenha um papel central na operacionalização desses atributos, sendo o ponto em que falhas são detectadas, relatadas e recuperadas. Apesar de sua importância, o tratamento de exceções é frequentemente negligenciado por ferramentas e pouco priorizado nas práticas dos desenvolvedores. Esta tese investiga como agentes conversacionais, especialmente aqueles baseados em grandes modelos de linguagem (LLMs), podem apoiar o desenvolvimento de software confiável, utilizando o tratamento de exceções como ponto de entrada prático. A pesquisa aborda três lacunas principais: (i) a falta de entendimento empírico sobre como contribuições relacionadas a exceções são feitas e revisadas em contextos colaborativos; (ii) a escassez de avaliações de agentes baseados em LLMs em cenários reais de suporte a desenvolvedores; e (iii) a necessidade de ir além de respostas passivas, explorando agentes capazes de gerar mudanças de código para revisão. Para isso, foram conduzidos quatro estudos complementares. Primeiramente, caracterizamos pull requests (PRs) relacionados a exceções em projetos Java da Apache, revelando que essas mudanças são proativas e multifacetadas. Em seguida, propomos o agente conversacional DevMentorAI, baseado em geração de recuperação aumentada (RAG), foi avaliado no projeto Mozilla PDF.js e demonstrou igualar ou superar respostas humanas para questões técnicas. Posteriormente, uma comparação no ecossistema do Mozilla Firefox mostrou que modelos RAG fornecem respostas mais úteis e completas do que LLMs genéricos e humanos, embora mais verbosas. Por fim, uma arquitetura multiagente foi proposta e validada em sistemas industriais, demonstrando que agentes baseados em LLMs podem detectar e corrigir problemas de confiabilidade de maneira eficaz e alinhada às expectativas dos desenvolvedores. Os resultados dão indícios que agentes conversacionais, quando fundamentados no contexto do projeto, podem apoiar significativamente os desenvolvedores na identificação e resolução de problemas de confiabilidade.[en] Software dependability is a critical non-functional requirement (NFR) that encompasses a system s ability to remain available, reliable, maintainable, and resilient in the presence of faults. Exception handling plays a central role in operationalizing these attributes, serving as the point where failures are detected, reported, and recovered. Despite its importance, exception handling is often under-supported by tools and under-emphasized in developer workflows. This thesis investigates how conversational agents, particularly those powered by Large Language Models (LLMs), can support dependable software development, using exception handling as a practical entry point. The thesis addresses three core research gaps: (i) the lack of empirical understanding of how exception-handling contributions are made and reviewed in collaborative settings; (ii) the limited evaluation of LLM based assistants in real-world developer support scenarios; and (iii) the need to move beyond passive question answering toward agents capable of generating actionable and reviewable code changes. To this end, four complementary studies were conducted across open-source and industrial systems. First, exception-related pull requests (PRs) were characterized in Apache Java projects, revealing that these changes are proactive, multifaceted, and socially integrated. Second, DevMentorAI, a retrieval-augmented conversational agent, was evaluated in the Mozilla PDF.js project and shown to match or surpass human answers in many cases. Third, a comparison in Mozilla Firefox demonstrated that RAG-based models provide more helpful and comprehensive answers than generic LLMs and humans, albeit at the cost of verbosity. Finally, a multi-agent pipeline was introduced and valida ted in closed-source systems, showing that LLM-driven agents can detect and repair dependability issues in a way that is effective, explainable, and aligned with developer expectations. These results demonstrate that con versational agents, when grounded in project-specific context and combined with human-in-the-loop workflows, can meaningfully assist developers in identifying and resolving software dependability issues.MAXWELLALESSANDRO FABRICIO GARCIAALESSANDRO FABRICIO GARCIAALESSANDRO FABRICIO GARCIAJOAO LUCAS MARQUES CORREIA2025-12-04info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesishttps://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=74447&idi=1https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=74447&idi=2http://doi.org/10.17771/PUCRio.acad.74447engreponame:Repositório Institucional da PUC-RIO (Projeto Maxwell)instname:Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)instacron:PUC_RIOinfo:eu-repo/semantics/openAccess2025-12-04T00:00:00Zoai:MAXWELL.puc-rio.br:74447Repositório InstitucionalPRIhttps://www.maxwell.vrac.puc-rio.br/ibict.phpopendoar:5342025-12-04T00:00Repositório Institucional da PUC-RIO (Projeto Maxwell) - Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)false
dc.title.none.fl_str_mv [pt] EXPLORANDO AGENTES CONVERSACIONAIS PARA ORIENTAR DESENVOLVEDORES SOBRE QUESTÕES DE CONFIABILIDADE DE SOFTWARE
[en] EXPLORING CONVERSATIONAL AGENTS FOR DEVELOPER GUIDANCE ON SOFTWARE DEPENDABILITY ISSUES
title [pt] EXPLORANDO AGENTES CONVERSACIONAIS PARA ORIENTAR DESENVOLVEDORES SOBRE QUESTÕES DE CONFIABILIDADE DE SOFTWARE
spellingShingle [pt] EXPLORANDO AGENTES CONVERSACIONAIS PARA ORIENTAR DESENVOLVEDORES SOBRE QUESTÕES DE CONFIABILIDADE DE SOFTWARE
JOAO LUCAS MARQUES CORREIA
[pt] AGENTE CONVERSACIONAL
[pt] ASSISTENCIA AO DESENVOLVEDOR
[pt] CONFIABILIDADE DE SOFTWARE
[pt] MODELO DE LINGUAGEM DE GRANDE ESCALA
[en] CONVERSATIONAL AGENT
[en] DEVELOPER ASSISTANCE
[en] SOFTWARE DEPENDABILITY
[en] LARGE LANGUAGE MODEL
title_short [pt] EXPLORANDO AGENTES CONVERSACIONAIS PARA ORIENTAR DESENVOLVEDORES SOBRE QUESTÕES DE CONFIABILIDADE DE SOFTWARE
title_full [pt] EXPLORANDO AGENTES CONVERSACIONAIS PARA ORIENTAR DESENVOLVEDORES SOBRE QUESTÕES DE CONFIABILIDADE DE SOFTWARE
title_fullStr [pt] EXPLORANDO AGENTES CONVERSACIONAIS PARA ORIENTAR DESENVOLVEDORES SOBRE QUESTÕES DE CONFIABILIDADE DE SOFTWARE
title_full_unstemmed [pt] EXPLORANDO AGENTES CONVERSACIONAIS PARA ORIENTAR DESENVOLVEDORES SOBRE QUESTÕES DE CONFIABILIDADE DE SOFTWARE
title_sort [pt] EXPLORANDO AGENTES CONVERSACIONAIS PARA ORIENTAR DESENVOLVEDORES SOBRE QUESTÕES DE CONFIABILIDADE DE SOFTWARE
author JOAO LUCAS MARQUES CORREIA
author_facet JOAO LUCAS MARQUES CORREIA
author_role author
dc.contributor.none.fl_str_mv ALESSANDRO FABRICIO GARCIA
ALESSANDRO FABRICIO GARCIA
ALESSANDRO FABRICIO GARCIA
dc.contributor.author.fl_str_mv JOAO LUCAS MARQUES CORREIA
dc.subject.por.fl_str_mv [pt] AGENTE CONVERSACIONAL
[pt] ASSISTENCIA AO DESENVOLVEDOR
[pt] CONFIABILIDADE DE SOFTWARE
[pt] MODELO DE LINGUAGEM DE GRANDE ESCALA
[en] CONVERSATIONAL AGENT
[en] DEVELOPER ASSISTANCE
[en] SOFTWARE DEPENDABILITY
[en] LARGE LANGUAGE MODEL
topic [pt] AGENTE CONVERSACIONAL
[pt] ASSISTENCIA AO DESENVOLVEDOR
[pt] CONFIABILIDADE DE SOFTWARE
[pt] MODELO DE LINGUAGEM DE GRANDE ESCALA
[en] CONVERSATIONAL AGENT
[en] DEVELOPER ASSISTANCE
[en] SOFTWARE DEPENDABILITY
[en] LARGE LANGUAGE MODEL
description [pt] A confiabilidade de software é um requisito não funcional (RNF) crítico que abrange a capacidade de um sistema se manter disponível, confiável, manutenível e resiliente na presença de falhas. O tratamento de exceções desempenha um papel central na operacionalização desses atributos, sendo o ponto em que falhas são detectadas, relatadas e recuperadas. Apesar de sua importância, o tratamento de exceções é frequentemente negligenciado por ferramentas e pouco priorizado nas práticas dos desenvolvedores. Esta tese investiga como agentes conversacionais, especialmente aqueles baseados em grandes modelos de linguagem (LLMs), podem apoiar o desenvolvimento de software confiável, utilizando o tratamento de exceções como ponto de entrada prático. A pesquisa aborda três lacunas principais: (i) a falta de entendimento empírico sobre como contribuições relacionadas a exceções são feitas e revisadas em contextos colaborativos; (ii) a escassez de avaliações de agentes baseados em LLMs em cenários reais de suporte a desenvolvedores; e (iii) a necessidade de ir além de respostas passivas, explorando agentes capazes de gerar mudanças de código para revisão. Para isso, foram conduzidos quatro estudos complementares. Primeiramente, caracterizamos pull requests (PRs) relacionados a exceções em projetos Java da Apache, revelando que essas mudanças são proativas e multifacetadas. Em seguida, propomos o agente conversacional DevMentorAI, baseado em geração de recuperação aumentada (RAG), foi avaliado no projeto Mozilla PDF.js e demonstrou igualar ou superar respostas humanas para questões técnicas. Posteriormente, uma comparação no ecossistema do Mozilla Firefox mostrou que modelos RAG fornecem respostas mais úteis e completas do que LLMs genéricos e humanos, embora mais verbosas. Por fim, uma arquitetura multiagente foi proposta e validada em sistemas industriais, demonstrando que agentes baseados em LLMs podem detectar e corrigir problemas de confiabilidade de maneira eficaz e alinhada às expectativas dos desenvolvedores. Os resultados dão indícios que agentes conversacionais, quando fundamentados no contexto do projeto, podem apoiar significativamente os desenvolvedores na identificação e resolução de problemas de confiabilidade.
publishDate 2025
dc.date.none.fl_str_mv 2025-12-04
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://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=74447&idi=1
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=74447&idi=2
http://doi.org/10.17771/PUCRio.acad.74447
url https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=74447&idi=1
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=74447&idi=2
http://doi.org/10.17771/PUCRio.acad.74447
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 MAXWELL
publisher.none.fl_str_mv MAXWELL
dc.source.none.fl_str_mv reponame:Repositório Institucional da PUC-RIO (Projeto Maxwell)
instname:Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)
instacron:PUC_RIO
instname_str Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)
instacron_str PUC_RIO
institution PUC_RIO
reponame_str Repositório Institucional da PUC-RIO (Projeto Maxwell)
collection Repositório Institucional da PUC-RIO (Projeto Maxwell)
repository.name.fl_str_mv Repositório Institucional da PUC-RIO (Projeto Maxwell) - Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)
repository.mail.fl_str_mv
_version_ 1856395974725861376