| Nome: | Descrição: | Tamanho: | Formato: | |
|---|---|---|---|---|
| 2.89 MB | Adobe PDF |
Autores
Orientador(es)
Resumo(s)
High-quality requirements are critical to the success of software projects, yet ambiguity,
inconsistency, and incompleteness of software specifications continue to challenge requirements
engineering. Manual reviews are often costly and subjective, motivating the search
for automated approaches that can complement expert analysis. Recent advances in Generative
Artificial Intelligence (GAI) and Large Language Models (LLMs) offer promising
capabilities to evaluate natural language requirements and propose refinements.
This thesis investigates how LLMs can be systematically applied to assess the quality
of requirements specifications and user stories, namely Consistency, Unambiguosness,
Correctness, Feasability, and Completness. A multi-phase framework was developed that
combines structured prompts, ensemble reasoning, and advanced prompting techniques,
such as Retrieval-Augmented Generation (RAG) and Rephrase-and-Respond (RAR). The
framework integrates established quality criteria from the literature, linguistic patterns
indicative of poor requirements, and context-sensitive evaluation strategies. Its performance
was tested across several real-world datasets, including crisis management and
automotive crash systems, and validated through experiments with multiple LLMs (GPT,
Gemini, and Grok).
To further validate the framework, a survey was conducted with 18 professionals and
graduate students in computer science and related fields. Participants assessed the same
requirements and provided feedback on the clarity, accuracy, and trustworthiness of the
framework. Quantitative analysis revealed that LLMs tended to assign slightly higher
ratings than humans. The overall evaluation was strong, with a Mean Absolute Error of
0.82. Participants rated the framework positively in terms of clarity and relevance, though
they expressed more caution regarding its direct use in critical real-world decision-making.
Requisitos de alta qualidade são fundamentais para o sucesso de projetos de software, contudo a ambiguidade, a inconsistência e a incompletude continuam a representar desafios na engenharia de requisitos. As revisões manuais são frequentemente dispendiosas e subjetivas, o que motiva a procura por abordagens automatizadas que possam complementar a análise feita por especialistas. Os recentes avanços na Inteligência Artificial Generativa (GAI) e nos Modelos de Linguagem de Larga Escala (LLMs) oferecem capacidades promissoras para avaliar requisitos escritos em linguagem natural e propor melhorias. Esta dissertação investiga como os LLMs podem ser aplicados de forma sistemática na avaliação da qualidade de especificações de requisitos e user stories. Foi desenvolvida uma abordagem que combina prompts estruturados e técnicas de prompting avançadas, como Retrieval-Augmented Generation (RAG) e Rephrase-and-Respond (RAR). A abordagem integra critérios de qualidade estabelecidos, padrões linguísticos indicativos de maus requisitos e estratégias de avaliação sensíveis ao contexto. O seu desempenho foi testado em diversos conjuntos de dados reais, incluindo sistemas de gestão de crises e sistemas automotivos de deteção de acidentes, e validado através de experiências com múltiplos LLMs (GPT, Gemini e Grok). Para validar adicionalmente a abordagem, foi realizado um inquérito junto de 18 profissionais e estudantes de mestrado em informática e áreas relacionadas. Os participantes avaliaram os mesmos requisitos e forneceram feedback sobre a clareza, precisão e fiabilidade do quadro. A análise quantitativa revelou que, embora os LLMs tendessem a atribuir classificações ligeiramente superiores às dos humanos, o alinhamento global foi forte, com um Erro Absoluto Médio de 0.82. Os participantes avaliaram a abordagem de forma positiva em termos de clareza e relevância, embora tenham demonstrado maior cautela quanto à sua utilização direta em contextos críticos.
Requisitos de alta qualidade são fundamentais para o sucesso de projetos de software, contudo a ambiguidade, a inconsistência e a incompletude continuam a representar desafios na engenharia de requisitos. As revisões manuais são frequentemente dispendiosas e subjetivas, o que motiva a procura por abordagens automatizadas que possam complementar a análise feita por especialistas. Os recentes avanços na Inteligência Artificial Generativa (GAI) e nos Modelos de Linguagem de Larga Escala (LLMs) oferecem capacidades promissoras para avaliar requisitos escritos em linguagem natural e propor melhorias. Esta dissertação investiga como os LLMs podem ser aplicados de forma sistemática na avaliação da qualidade de especificações de requisitos e user stories. Foi desenvolvida uma abordagem que combina prompts estruturados e técnicas de prompting avançadas, como Retrieval-Augmented Generation (RAG) e Rephrase-and-Respond (RAR). A abordagem integra critérios de qualidade estabelecidos, padrões linguísticos indicativos de maus requisitos e estratégias de avaliação sensíveis ao contexto. O seu desempenho foi testado em diversos conjuntos de dados reais, incluindo sistemas de gestão de crises e sistemas automotivos de deteção de acidentes, e validado através de experiências com múltiplos LLMs (GPT, Gemini e Grok). Para validar adicionalmente a abordagem, foi realizado um inquérito junto de 18 profissionais e estudantes de mestrado em informática e áreas relacionadas. Os participantes avaliaram os mesmos requisitos e forneceram feedback sobre a clareza, precisão e fiabilidade do quadro. A análise quantitativa revelou que, embora os LLMs tendessem a atribuir classificações ligeiramente superiores às dos humanos, o alinhamento global foi forte, com um Erro Absoluto Médio de 0.82. Os participantes avaliaram a abordagem de forma positiva em termos de clareza e relevância, embora tenham demonstrado maior cautela quanto à sua utilização direta em contextos críticos.
Descrição
Palavras-chave
requirements engineering requirements quality generative artificial intelligence large language models prompt engineering
