[pt] EXPLORANDO AGENTES CONVERSACIONAIS PARA ORIENTAR DESENVOLVEDORES SOBRE QUESTÕES DE CONFIABILIDADE DE SOFTWARE
| Ano de defesa: | 2025 |
|---|---|
| Autor(a) principal: | |
| Orientador(a): | |
| Banca de defesa: | |
| 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 |