Maxwell Para Simples Indexação

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

Título
[en] EXPLORING CONVERSATIONAL AGENTS FOR DEVELOPER GUIDANCE ON SOFTWARE DEPENDABILITY ISSUES

Autor
[pt] JOAO LUCAS MARQUES CORREIA

Vocabulário
[pt] AGENTE CONVERSACIONAL

Vocabulário
[pt] ASSISTENCIA AO DESENVOLVEDOR

Vocabulário
[pt] CONFIABILIDADE DE SOFTWARE

Vocabulário
[pt] MODELO DE LINGUAGEM DE GRANDE ESCALA

Vocabulário
[en] CONVERSATIONAL AGENT

Vocabulário
[en] DEVELOPER ASSISTANCE

Vocabulário
[en] SOFTWARE DEPENDABILITY

Vocabulário
[en] LARGE LANGUAGE MODEL

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.

Resumo
[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.

Orientador(es)
ALESSANDRO FABRICIO GARCIA

Coorientador(es)
RAFAEL MAIANI DE MELLO

Banca
ALESSANDRO FABRICIO GARCIA

Banca
MARCO AURELIO GEROSA

Banca
BALDOINO FONSECA DOS SANTOS NETO

Banca
ANDERSON GONCALVES UCHOA

Banca
RAFAEL MAIANI DE MELLO

Banca
JULIANA ARRIEL

Catalogação
2025-12-04

Apresentação
2025-09-30

Tipo
[pt] TEXTO

Formato
application/pdf

Idioma(s)
INGLÊS

Referência [pt]
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=74447@1

Referência [en]
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=74447@2

Referência DOI
https://doi.org/10.17771/PUCRio.acad.74447


Arquivos do conteúdo
NA ÍNTEGRA PDF