Using NLP to generate user stories from software specification in natural language

Detalhes bibliográficos
Ano de defesa: 2018
Autor(a) principal: Pereira, Angela Cristina
Orientador(a): Pimentel, Andrey Ricardo, 1965-
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: eng
Instituição de defesa: Não Informado pela instituição
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://hdl.handle.net/1884/58882
Resumo: Orientador: Andrey Ricardo Pimentel
id UFPR_d7bfcbbc221f1a556c5ec0c0081f4587
oai_identifier_str oai:acervodigital.ufpr.br:1884/58882
network_acronym_str UFPR
network_name_str Repositório Institucional da UFPR
repository_id_str
spelling Pereira, Angela CristinaUniversidade Federal do Paraná. Setor de Ciências Exatas. Programa de Pós-Graduação em InformáticaPimentel, Andrey Ricardo, 1965-2019-03-28T16:36:22Z2019-03-28T16:36:22Z2018https://hdl.handle.net/1884/58882Orientador: Andrey Ricardo PimentelDissertação (mestrado) - Universidade Federal do Paraná, Setor de Ciências Exatas, Programa de Pós-Graduação em Informática. Defesa : Curitiba, 27/08/2018Inclui referências: p. 80-82Resumo: O processo de elicitar as Histórias de Usuário requeridas para o desenvolvimento de software exige tempo e dedicação, e pode apresentar muito retrabalho se as conversas com partes interessadas não fornecerem informações coesas. O principal problema enfrentado é que o cliente muitas vezes não tem clareza sobre o que ele realmente quer, e no estado da arte não havia uma abordagem ou ferramenta que auxiliasse a transpor o que cliente deseja em histórias de usuário. Pensando nisso, propusemos a abordagem e ferramenta UserStoryGen para simplificar todo esse trabalho extenso, resolvendo esse problema através do uso de técnicas de Linguagem Natural (NLP) com estruturas adequadas para esse propósito e usando o modelo padrão de descrição de história para gerar automaticamente histórias de usuários. A abordagem UserStoryGen consiste em extrair informações como: título, descrição, verbo principal, usuários e entidades sistêmicas de histórias de usuários, a partir do texto não estruturado. O UserStoryGen usa o texto big picture como entrada para processamento de texto e geração automática de histórias do usuário. As histórias do usuário são geradas por meio de uma Restful A P I no formato JSON e podem ser exibidas tanto nesse formato, se apenas a chamada da Restful API for usada, como usando uma interface gráfica que mostrará o resultado em uma tabela. A implementação da UserStoryGen teve como objetivo automatizar este processo trabalhoso de extração de histórias de usuários do texto e obteve resultados significativos, principalmente nos testes com dados da indústria. Entre os três grupos de estudos de caso realizados, o terceiro, que utilizou dados da indústria, obteve os melhores resultados com textos que tiveram uma acurácia média de 76%, precisão de 88,23%, recall de 78,95% e medida F1 de 83,33%. O segundo grupo de estudos de casos com textos fornecidos por especialistas em Engenharia de Software obteve uma acurácia média de 73,68%, precisão de 85,71% e F1 de 82,76%. O primeiro grupo, utilizando textos de umwhite paper e de um livro teve o pior resultado, com uma acurácia média de 60% e uma medida F1 de 60,87%. Com base nos resultados obtidos com a UserStoryGen, concluímos que é completamente possível atingir o objetivo se pré-identificar e extrair as possíveis histórias de usuário para um determinado texto, e a implementação da abordagem proposta também pode ser melhorada em trabalhos futuros. A UserStoryGen representa um ganho para o Processo de Desenvolvimento Ágil, eliminando o tempo gasto na identificação de Estórias de Usuário, quando a equipe possui um texto com a big picture ou um documento textual das funcionalidades para usar como entrada. Palavras-chave: Processamento de Linguagem Natural, Extração Automática, Histórias de Usuário, Stanford CoreNLP.Abstract: The process of eliciting User Stories required for software development requires both time and dedication, and can present a lot of rework if conversations with stakeholders do not provide cohesive information. The main problem faced is that the client often lacks clarity about what he really wants, and in the state of the art there was no approach or tool that helps transpose what the customer wants into user stories. Thinking on it, we proposed the UserStoryGen approach and tool to simplify all this extensive work, resolving the issue through the use of Natural Language Processing (NLP) techniques with structures and the standard user story description template to automatically generate user stories. UserStoryGen's approach consists of extracting information such as: title, description, main verb, users and systemic entities of user stories from the unstructured text. The UserStoryGen uses big picture text as input for text processing and automated generation of the user stories. The user stories are generated through a Restful API in the JSON format and can be viewed either in this format, if only the Restful API call is used, as well as using a graphic interface that shows the results through a table. The implementation of UserStoryGen is aimed to automate the laborious process of extracting user stories from text and it obtained significant results, mainly with industry data. Among the three groups of case studies, the third one, that used industry data, obtained the best results with texts that had an average accuracy of 76%, precision of 88.23%, recall of 78.95% and F1 measure of 83.33%. The second group, using texts provided by software engineering specialists obtained an average accuracy of 73.68%, precision of 85.71% and F1 measure of 82.76%. The first group, using texts from a white paper and a book had the worst results with an average accuracy of 60% and a F1 measure of 60.87%. Based in the results obtained with the UserStoryGen, we concluded that it's completely possible to achieve the goal if pre-identifying and extracting the possible user stories for a given text, and the implementation of the proposed approach also can be improved in the future works. The UserStoryGen is a gain for Agile Development Process by eliminating time spent in User Stories identification when the team has a big picture text or a Features textual document to use as input. Keywords: Natural Language Processing, Automatic Extraction, User Stories, Stanford CoreNLP.82 p. : il. (algumas color.).application/pdfSoftware - DesenvolvimentoCiência da ComputaçãoProcessamento da linguagem natural (Computação)Using NLP to generate user stories from software specification in natural languageinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisengreponame:Repositório Institucional da UFPRinstname:Universidade Federal do Paraná (UFPR)instacron:UFPRinfo:eu-repo/semantics/openAccessORIGINALR - D - ANGELA CRISTINA PEREIRA.pdfapplication/pdf2106140https://acervodigital.ufpr.br/bitstream/1884/58882/1/R%20-%20D%20-%20ANGELA%20CRISTINA%20PEREIRA.pdfce8dd708e948fe07536be870afeb7c7fMD51open access1884/588822019-03-28 13:36:22.406open accessoai:acervodigital.ufpr.br:1884/58882Repositório InstitucionalPUBhttp://acervodigital.ufpr.br/oai/requestinformacaodigital@ufpr.bropendoar:3082019-03-28T16:36:22Repositório Institucional da UFPR - Universidade Federal do Paraná (UFPR)false
dc.title.pt_BR.fl_str_mv Using NLP to generate user stories from software specification in natural language
title Using NLP to generate user stories from software specification in natural language
spellingShingle Using NLP to generate user stories from software specification in natural language
Pereira, Angela Cristina
Software - Desenvolvimento
Ciência da Computação
Processamento da linguagem natural (Computação)
title_short Using NLP to generate user stories from software specification in natural language
title_full Using NLP to generate user stories from software specification in natural language
title_fullStr Using NLP to generate user stories from software specification in natural language
title_full_unstemmed Using NLP to generate user stories from software specification in natural language
title_sort Using NLP to generate user stories from software specification in natural language
author Pereira, Angela Cristina
author_facet Pereira, Angela Cristina
author_role author
dc.contributor.other.pt_BR.fl_str_mv Universidade Federal do Paraná. Setor de Ciências Exatas. Programa de Pós-Graduação em Informática
dc.contributor.author.fl_str_mv Pereira, Angela Cristina
dc.contributor.advisor1.fl_str_mv Pimentel, Andrey Ricardo, 1965-
contributor_str_mv Pimentel, Andrey Ricardo, 1965-
dc.subject.por.fl_str_mv Software - Desenvolvimento
Ciência da Computação
Processamento da linguagem natural (Computação)
topic Software - Desenvolvimento
Ciência da Computação
Processamento da linguagem natural (Computação)
description Orientador: Andrey Ricardo Pimentel
publishDate 2018
dc.date.issued.fl_str_mv 2018
dc.date.accessioned.fl_str_mv 2019-03-28T16:36:22Z
dc.date.available.fl_str_mv 2019-03-28T16:36:22Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://hdl.handle.net/1884/58882
url https://hdl.handle.net/1884/58882
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.format.none.fl_str_mv 82 p. : il. (algumas color.).
application/pdf
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFPR
instname:Universidade Federal do Paraná (UFPR)
instacron:UFPR
instname_str Universidade Federal do Paraná (UFPR)
instacron_str UFPR
institution UFPR
reponame_str Repositório Institucional da UFPR
collection Repositório Institucional da UFPR
bitstream.url.fl_str_mv https://acervodigital.ufpr.br/bitstream/1884/58882/1/R%20-%20D%20-%20ANGELA%20CRISTINA%20PEREIRA.pdf
bitstream.checksum.fl_str_mv ce8dd708e948fe07536be870afeb7c7f
bitstream.checksumAlgorithm.fl_str_mv MD5
repository.name.fl_str_mv Repositório Institucional da UFPR - Universidade Federal do Paraná (UFPR)
repository.mail.fl_str_mv informacaodigital@ufpr.br
_version_ 1847526240630603776