Uma investigação do custo envolvido na identificação manual de mutantes equivalentes

Detalhes bibliográficos
Ano de defesa: 2019
Autor(a) principal: Carvalho, Juliana Botelho de lattes
Orientador(a): Durelli, Rafael Serapilha
Banca de defesa: Durelli, Rafael Serapilha, Durelli, Vinicius Humberto Serapilha, Oliveira, Lucas Bueno Ruas de, Parreira Junior, Paulo Afonso, Pereira, Marluce Rodrigues
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal de Lavras
Programa de Pós-Graduação: Programa de Pós-Graduação em Ciência da Computação
Departamento: Departamento de Ciência da Computação
País: brasil
Palavras-chave em Português:
Área do conhecimento CNPq:
Link de acesso: https://repositorio.ufla.br/handle/1/38547
Resumo: O teste de mutação consiste em mudar o sistema de software a ser testado por meio da apli- cação de operadores de mutação. Como resultado, a aplicação de tais operadores gera versões diferentes desse sistema. Essas versões são denominadas mutantes. Os mutantes são utiliza- dos para verificar se os casos de teste, construídos para o sistema de software, são capazes de identificar essas alterações efetuadas no código original, verificando a qualidade do conjunto de testes. Caso os testes de unidade sejam capazes de detectar todas as alterações, os mutantes são mortos e o conjunto de testes é suficiente; caso alguns mutantes não sejam mortos, é necessária a análise desses mutantes para verificar se novos casos de teste são necessários para detectar as alterações ou se os mutantes vivos são equivalentes ao código original, ou seja, se geram a mesma saída que o código original. Um problema do teste de mutação é o custo envolvido em identificar se esses mutantes são equivalentes ao sistema de software original. A identificação dos mutantes equivalentes é indecidível, portanto, normalmente a análise é conduzida manu- almente, o que consome horas de um analista. Dessa forma, esta pesquisa investigou o custo humano envolvido na análise manual dos mutantes para a verificação da equivalência entre os códigos original e mutante. Para verificar o custo manual da análise, a ferramenta DiffMutA- nalyze foi desenvolvida, a fim de comparar dois tipos de análise: utilizando a DiffMutAnalyze com a manual, ou seja, sem o uso de uma ferramenta específica para auxiliar a inspeção dos mutantes com os códigos originais. Na DiffMutAnalyze está incluída a ferramenta Major para geração dos mutantes, desse modo, somente projetos Java podem ser inseridos na ferramenta, pois a Major é uma ferramenta para realização da mutação em projetos Java. Por meio do experimento realizado, é possível verificar o tempo gasto com a análise manual e verificar a diferença dessa análise com a análise por meio de uma ferramenta de apoio computacional. Tal ferramenta tem como propósito possibilitar que programas originais e mutantes sejam compa- rados lado a lado, facilitando a análise manual dos mutantes, uma vez que na ferramenta, o local da mutação é evidenciado para o usuário. Para realizar essa comparação das análises manual e por meio da DiffMutAnalyze, um experimento foi conduzido. Como resultado do experimento, em geral, os sujeitos participantes gastaram em média 31 minutos e 30 segundos para realizar a análise manual dos mutantes, quando a análise foi realizada por meio da DiffMutAnalyze, o tempo médio foi de 14 minutos. Dessa forma, a análise realizada por meio da DiffMutAnalyze foi reduzida em mais de 50% do tempo. Portanto, a utilização de uma ferramenta para auxiliar a verificação da identificação dos mutantes equivalentes, reduz o custo dessa análise. Além disso, foi verificado que a ferramenta ajuda na realização do teste de mutação, uma vez que a mutação do código original é realizada automaticamente e os mutantes sobreviventes aos testes de unida- des são disponibilizados para inspeção. Com isso, a comparação dos códigos original e mutante se torna mais rápida, pois na ferramenta, os códigos são disponibilizados automaticamente e a alteração efetuada é identificada pela DiffMutAnalyze. Assim, o analista não necessita procurar o local da alteração realizada pelos operadores de mutação.
id UFLA_749c85ff8c8fc9563a537aa37c9cc981
oai_identifier_str oai:repositorio.ufla.br:1/38547
network_acronym_str UFLA
network_name_str Repositório Institucional da UFLA
repository_id_str
spelling 2020-01-20T16:44:17Z2020-01-20T16:44:17Z2020-01-202019-10-22CARVALHO, J. B. de. Uma investigação do custo envolvido na identificação manual de mutantes equivalentes. 2019. 111 p. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de Lavras, Lavras, 2019.https://repositorio.ufla.br/handle/1/38547O teste de mutação consiste em mudar o sistema de software a ser testado por meio da apli- cação de operadores de mutação. Como resultado, a aplicação de tais operadores gera versões diferentes desse sistema. Essas versões são denominadas mutantes. Os mutantes são utiliza- dos para verificar se os casos de teste, construídos para o sistema de software, são capazes de identificar essas alterações efetuadas no código original, verificando a qualidade do conjunto de testes. Caso os testes de unidade sejam capazes de detectar todas as alterações, os mutantes são mortos e o conjunto de testes é suficiente; caso alguns mutantes não sejam mortos, é necessária a análise desses mutantes para verificar se novos casos de teste são necessários para detectar as alterações ou se os mutantes vivos são equivalentes ao código original, ou seja, se geram a mesma saída que o código original. Um problema do teste de mutação é o custo envolvido em identificar se esses mutantes são equivalentes ao sistema de software original. A identificação dos mutantes equivalentes é indecidível, portanto, normalmente a análise é conduzida manu- almente, o que consome horas de um analista. Dessa forma, esta pesquisa investigou o custo humano envolvido na análise manual dos mutantes para a verificação da equivalência entre os códigos original e mutante. Para verificar o custo manual da análise, a ferramenta DiffMutA- nalyze foi desenvolvida, a fim de comparar dois tipos de análise: utilizando a DiffMutAnalyze com a manual, ou seja, sem o uso de uma ferramenta específica para auxiliar a inspeção dos mutantes com os códigos originais. Na DiffMutAnalyze está incluída a ferramenta Major para geração dos mutantes, desse modo, somente projetos Java podem ser inseridos na ferramenta, pois a Major é uma ferramenta para realização da mutação em projetos Java. Por meio do experimento realizado, é possível verificar o tempo gasto com a análise manual e verificar a diferença dessa análise com a análise por meio de uma ferramenta de apoio computacional. Tal ferramenta tem como propósito possibilitar que programas originais e mutantes sejam compa- rados lado a lado, facilitando a análise manual dos mutantes, uma vez que na ferramenta, o local da mutação é evidenciado para o usuário. Para realizar essa comparação das análises manual e por meio da DiffMutAnalyze, um experimento foi conduzido. Como resultado do experimento, em geral, os sujeitos participantes gastaram em média 31 minutos e 30 segundos para realizar a análise manual dos mutantes, quando a análise foi realizada por meio da DiffMutAnalyze, o tempo médio foi de 14 minutos. Dessa forma, a análise realizada por meio da DiffMutAnalyze foi reduzida em mais de 50% do tempo. Portanto, a utilização de uma ferramenta para auxiliar a verificação da identificação dos mutantes equivalentes, reduz o custo dessa análise. Além disso, foi verificado que a ferramenta ajuda na realização do teste de mutação, uma vez que a mutação do código original é realizada automaticamente e os mutantes sobreviventes aos testes de unida- des são disponibilizados para inspeção. Com isso, a comparação dos códigos original e mutante se torna mais rápida, pois na ferramenta, os códigos são disponibilizados automaticamente e a alteração efetuada é identificada pela DiffMutAnalyze. Assim, o analista não necessita procurar o local da alteração realizada pelos operadores de mutação.Mutation testing consists of changing the software system to be tested by applying mutation operators. As a result, applying such operators generates different versions of this system. These versions are called mutants. Mutants are used to verify that test cases built for the software system are able to identify these changes made to the original code by checking the quality of the test suite. If unit tests are able to detect all changes, the mutants are killed and the test set is sufficient; If some mutants are not killed, analysis of these mutants is required to check whether new test cases are needed to detect changes or whether live mutants are equiva- lent to the original code, ie generate the same output as the original code. The problem with mutation testing is the cost involved in identifying whether these mutants are equivalent to the original software system. Identification of equivalent mutants is undecidable, so analysis is usu- ally conducted manually, which consumes hours of an analyst. Thus, this research investigated the human cost involved in the manual analysis of mutants to verify equivalence between the original and mutant codes. To verify the manual cost of analysis, the DiffMutAnalyze tool was developed in order to compare two types of analysis: using DiffMutAnalyze with the manual, ie without the use of a specific tool to aid inspection of mutants with the original codes. DiffMu- tAnalyze includes the Major tool for mutant generation, so only Java projects can be inserted into the tool, as Major is a tool for mutation in Java projects. Through the experiment, it is possible to verify the time spent with the manual analysis and to verify the difference between this analysis and the analysis by means of a computational support tool. The purpose of this tool is to enable original and mutant programs to be compared side by side, facilitating the manual analysis of the mutants, since in the tool the location of the mutation is evident to the user. To perform this comparison of the analyzes manually and through DiffMutAnalyze, an experiment was conducted. As a result of the experiment, in general, the participants took an average of 31 minutes and 30 seconds to perform manual mutant analysis, when the analysis was performed using DiffMutAnalyze, the average time was 14 minutes. Thus, the analysis performed using DiffMutAnalyze was reduced by more than 50% of the time. Therefore, the use of a tool to assist in the identification of equivalent mutant identification reduces the cost of this analysis. In addition, it has been found that the tool assists in performing the mutation test as the original code mutation is performed automatically and the surviving unit test mutants are made available for inspection. This makes the comparison of the original and mutant codes faster because in the tool the codes are automatically made available and the change made is identified by DiffMutAnalyze. Thus, the analyst need not look for the location of the change made by the mutation operators.Universidade Federal de LavrasPrograma de Pós-Graduação em Ciência da ComputaçãoUFLAbrasilDepartamento de Ciência da ComputaçãoCiência da ComputaçãoTeste de mutação (Computação)Mutantes equivalentes - Custo da análise manualMutation testingEquivalents mutantsCost of manual analysisUma investigação do custo envolvido na identificação manual de mutantes equivalentesAn investigation of cost involved in manual identification of equivalent mutantsinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisDurelli, Rafael SerapilhaDurelli, Vinicius Humberto SerapilhaDurelli, Rafael SerapilhaDurelli, Vinicius Humberto SerapilhaOliveira, Lucas Bueno Ruas deParreira Junior, Paulo AfonsoPereira, Marluce Rodrigueshttp://lattes.cnpq.br/6033349857695404Carvalho, Juliana Botelho deinfo:eu-repo/semantics/openAccessporreponame:Repositório Institucional da UFLAinstname:Universidade Federal de Lavras (UFLA)instacron:UFLAORIGINALDISSERTAÇÃO_Uma investigação do custo envolvido na identificação manual de mutantes equivalentes.pdfDISSERTAÇÃO_Uma investigação do custo envolvido na identificação manual de mutantes equivalentes.pdfapplication/pdf3211226https://repositorio.ufla.br/bitstreams/12ebdcd0-1a47-41a5-b9aa-3be183aaa852/download75ec2ae10c1e13e22e3257796f531172MD51trueAnonymousREADLICENSElicense.txtlicense.txttext/plain; charset=utf-8953https://repositorio.ufla.br/bitstreams/d4bfff57-ed82-4507-be54-daa54f74a1f8/download760884c1e72224de569e74f79eb87ce3MD52falseAnonymousREADTEXTDISSERTAÇÃO_Uma investigação do custo envolvido na identificação manual de mutantes equivalentes.pdf.txtDISSERTAÇÃO_Uma investigação do custo envolvido na identificação manual de mutantes equivalentes.pdf.txtExtracted texttext/plain102932https://repositorio.ufla.br/bitstreams/177b545e-7373-44c4-8f23-51fdbb374f60/downloadbbfecf480658b6c6f067dedfdb439379MD53falseAnonymousREADTHUMBNAILDISSERTAÇÃO_Uma investigação do custo envolvido na identificação manual de mutantes equivalentes.pdf.jpgDISSERTAÇÃO_Uma investigação do custo envolvido na identificação manual de mutantes equivalentes.pdf.jpgGenerated Thumbnailimage/jpeg3186https://repositorio.ufla.br/bitstreams/813880df-e1ba-4a51-a3db-ada3c2dd05b6/downloadf113471cb68d24b3efa58262b4d4089fMD54falseAnonymousREAD1/385472025-08-12 19:37:25.107open.accessoai:repositorio.ufla.br:1/38547https://repositorio.ufla.brRepositório InstitucionalPUBhttps://repositorio.ufla.br/server/oai/requestnivaldo@ufla.br || repositorio.biblioteca@ufla.bropendoar:2025-08-12T22:37:25Repositório Institucional da UFLA - Universidade Federal de Lavras (UFLA)falseREVDTEFSQcOHw4NPIERFIERJU1RSSUJVScOHw4NPIE7Dg08tRVhDTFVTSVZBCk8gcmVmZXJpZG8gYXV0b3I6CmEpIERlY2xhcmEgcXVlIG8gZG9jdW1lbnRvIGVudHJlZ3VlIMOpIHNldSB0cmFiYWxobyBvcmlnaW5hbCwgZSBxdWUKZGV0w6ltIG8gZGlyZWl0byBkZSBjb25jZWRlciBvcyBkaXJlaXRvcyBjb250aWRvcyBuZXN0YSBsaWNlbsOnYS4KRGVjbGFyYSB0YW1iw6ltIHF1ZSBhIGVudHJlZ2EgZG8gZG9jdW1lbnRvIG7Do28gaW5mcmluZ2UsIHRhbnRvIHF1YW50bwpsaGUgw6kgcG9zc8OtdmVsIHNhYmVyLCBvcyBkaXJlaXRvcyBkZSBxdWFscXVlciBvdXRyYSBwZXNzb2Egb3UKZW50aWRhZGUuCmIpIFNlIG8gZG9jdW1lbnRvIGVudHJlZ3VlIGNvbnTDqW0gbWF0ZXJpYWwgZG8gcXVhbCBuw6NvIGRldMOpbSBvcwpkaXJlaXRvcyBkZSBhdXRvciwgZGVjbGFyYSBxdWUgb2J0ZXZlIGF1dG9yaXphw6fDo28gZG8gZGV0ZW50b3IgZG9zCmRpcmVpdG9zIGRlIGF1dG9yIHBhcmEgY29uY2VkZXIgw6AgVW5pdmVyc2lkYWRlIEZlZGVyYWwgZGUgTGF2cmFzIG9zCmRpcmVpdG9zIHJlcXVlcmlkb3MgcG9yIGVzdGEgbGljZW7Dp2EsIGUgcXVlIGVzc2UgbWF0ZXJpYWwgY3Vqb3MKZGlyZWl0b3Mgc8OjbyBkZSB0ZXJjZWlyb3MgZXN0w6EgY2xhcmFtZW50ZSBpZGVudGlmaWNhZG8gZSByZWNvbmhlY2lkbwpubyB0ZXh0byBvdSBjb250ZcO6ZG8gZG8gZG9jdW1lbnRvIGVudHJlZ3VlLiBTZSBvIGRvY3VtZW50byBlbnRyZWd1ZSDDqQpiYXNlYWRvIGVtIHRyYWJhbGhvIGZpbmFuY2lhZG8gb3UgYXBvaWFkbyBwb3Igb3V0cmEgaW5zdGl0dWnDp8OjbyBxdWUKbsOjbyBhIFVuaXZlcnNpZGFkZSBGZWRlcmFsIGRlIExhdnJhcywgZGVjbGFyYSBxdWUgY3VtcHJpdSBxdWFpc3F1ZXIKb2JyaWdhw6fDtWVzIGV4aWdpZGFzIHBlbG8gcmVzcGVjdGl2byBjb250cmF0byBvdSBhY29yZG8uCgo=
dc.title.pt_BR.fl_str_mv Uma investigação do custo envolvido na identificação manual de mutantes equivalentes
dc.title.alternative.pt_BR.fl_str_mv An investigation of cost involved in manual identification of equivalent mutants
title Uma investigação do custo envolvido na identificação manual de mutantes equivalentes
spellingShingle Uma investigação do custo envolvido na identificação manual de mutantes equivalentes
Carvalho, Juliana Botelho de
Ciência da Computação
Teste de mutação (Computação)
Mutantes equivalentes - Custo da análise manual
Mutation testing
Equivalents mutants
Cost of manual analysis
title_short Uma investigação do custo envolvido na identificação manual de mutantes equivalentes
title_full Uma investigação do custo envolvido na identificação manual de mutantes equivalentes
title_fullStr Uma investigação do custo envolvido na identificação manual de mutantes equivalentes
title_full_unstemmed Uma investigação do custo envolvido na identificação manual de mutantes equivalentes
title_sort Uma investigação do custo envolvido na identificação manual de mutantes equivalentes
author Carvalho, Juliana Botelho de
author_facet Carvalho, Juliana Botelho de
author_role author
dc.contributor.advisor1.fl_str_mv Durelli, Rafael Serapilha
dc.contributor.advisor-co1.fl_str_mv Durelli, Vinicius Humberto Serapilha
dc.contributor.referee1.fl_str_mv Durelli, Rafael Serapilha
dc.contributor.referee2.fl_str_mv Durelli, Vinicius Humberto Serapilha
dc.contributor.referee3.fl_str_mv Oliveira, Lucas Bueno Ruas de
dc.contributor.referee4.fl_str_mv Parreira Junior, Paulo Afonso
dc.contributor.referee5.fl_str_mv Pereira, Marluce Rodrigues
dc.contributor.authorLattes.fl_str_mv http://lattes.cnpq.br/6033349857695404
dc.contributor.author.fl_str_mv Carvalho, Juliana Botelho de
contributor_str_mv Durelli, Rafael Serapilha
Durelli, Vinicius Humberto Serapilha
Durelli, Rafael Serapilha
Durelli, Vinicius Humberto Serapilha
Oliveira, Lucas Bueno Ruas de
Parreira Junior, Paulo Afonso
Pereira, Marluce Rodrigues
dc.subject.cnpq.fl_str_mv Ciência da Computação
topic Ciência da Computação
Teste de mutação (Computação)
Mutantes equivalentes - Custo da análise manual
Mutation testing
Equivalents mutants
Cost of manual analysis
dc.subject.por.fl_str_mv Teste de mutação (Computação)
Mutantes equivalentes - Custo da análise manual
Mutation testing
Equivalents mutants
Cost of manual analysis
description O teste de mutação consiste em mudar o sistema de software a ser testado por meio da apli- cação de operadores de mutação. Como resultado, a aplicação de tais operadores gera versões diferentes desse sistema. Essas versões são denominadas mutantes. Os mutantes são utiliza- dos para verificar se os casos de teste, construídos para o sistema de software, são capazes de identificar essas alterações efetuadas no código original, verificando a qualidade do conjunto de testes. Caso os testes de unidade sejam capazes de detectar todas as alterações, os mutantes são mortos e o conjunto de testes é suficiente; caso alguns mutantes não sejam mortos, é necessária a análise desses mutantes para verificar se novos casos de teste são necessários para detectar as alterações ou se os mutantes vivos são equivalentes ao código original, ou seja, se geram a mesma saída que o código original. Um problema do teste de mutação é o custo envolvido em identificar se esses mutantes são equivalentes ao sistema de software original. A identificação dos mutantes equivalentes é indecidível, portanto, normalmente a análise é conduzida manu- almente, o que consome horas de um analista. Dessa forma, esta pesquisa investigou o custo humano envolvido na análise manual dos mutantes para a verificação da equivalência entre os códigos original e mutante. Para verificar o custo manual da análise, a ferramenta DiffMutA- nalyze foi desenvolvida, a fim de comparar dois tipos de análise: utilizando a DiffMutAnalyze com a manual, ou seja, sem o uso de uma ferramenta específica para auxiliar a inspeção dos mutantes com os códigos originais. Na DiffMutAnalyze está incluída a ferramenta Major para geração dos mutantes, desse modo, somente projetos Java podem ser inseridos na ferramenta, pois a Major é uma ferramenta para realização da mutação em projetos Java. Por meio do experimento realizado, é possível verificar o tempo gasto com a análise manual e verificar a diferença dessa análise com a análise por meio de uma ferramenta de apoio computacional. Tal ferramenta tem como propósito possibilitar que programas originais e mutantes sejam compa- rados lado a lado, facilitando a análise manual dos mutantes, uma vez que na ferramenta, o local da mutação é evidenciado para o usuário. Para realizar essa comparação das análises manual e por meio da DiffMutAnalyze, um experimento foi conduzido. Como resultado do experimento, em geral, os sujeitos participantes gastaram em média 31 minutos e 30 segundos para realizar a análise manual dos mutantes, quando a análise foi realizada por meio da DiffMutAnalyze, o tempo médio foi de 14 minutos. Dessa forma, a análise realizada por meio da DiffMutAnalyze foi reduzida em mais de 50% do tempo. Portanto, a utilização de uma ferramenta para auxiliar a verificação da identificação dos mutantes equivalentes, reduz o custo dessa análise. Além disso, foi verificado que a ferramenta ajuda na realização do teste de mutação, uma vez que a mutação do código original é realizada automaticamente e os mutantes sobreviventes aos testes de unida- des são disponibilizados para inspeção. Com isso, a comparação dos códigos original e mutante se torna mais rápida, pois na ferramenta, os códigos são disponibilizados automaticamente e a alteração efetuada é identificada pela DiffMutAnalyze. Assim, o analista não necessita procurar o local da alteração realizada pelos operadores de mutação.
publishDate 2019
dc.date.submitted.none.fl_str_mv 2019-10-22
dc.date.accessioned.fl_str_mv 2020-01-20T16:44:17Z
dc.date.available.fl_str_mv 2020-01-20T16:44:17Z
dc.date.issued.fl_str_mv 2020-01-20
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.citation.fl_str_mv CARVALHO, J. B. de. Uma investigação do custo envolvido na identificação manual de mutantes equivalentes. 2019. 111 p. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de Lavras, Lavras, 2019.
dc.identifier.uri.fl_str_mv https://repositorio.ufla.br/handle/1/38547
identifier_str_mv CARVALHO, J. B. de. Uma investigação do custo envolvido na identificação manual de mutantes equivalentes. 2019. 111 p. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de Lavras, Lavras, 2019.
url https://repositorio.ufla.br/handle/1/38547
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal de Lavras
dc.publisher.program.fl_str_mv Programa de Pós-Graduação em Ciência da Computação
dc.publisher.initials.fl_str_mv UFLA
dc.publisher.country.fl_str_mv brasil
dc.publisher.department.fl_str_mv Departamento de Ciência da Computação
publisher.none.fl_str_mv Universidade Federal de Lavras
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFLA
instname:Universidade Federal de Lavras (UFLA)
instacron:UFLA
instname_str Universidade Federal de Lavras (UFLA)
instacron_str UFLA
institution UFLA
reponame_str Repositório Institucional da UFLA
collection Repositório Institucional da UFLA
bitstream.url.fl_str_mv https://repositorio.ufla.br/bitstreams/12ebdcd0-1a47-41a5-b9aa-3be183aaa852/download
https://repositorio.ufla.br/bitstreams/d4bfff57-ed82-4507-be54-daa54f74a1f8/download
https://repositorio.ufla.br/bitstreams/177b545e-7373-44c4-8f23-51fdbb374f60/download
https://repositorio.ufla.br/bitstreams/813880df-e1ba-4a51-a3db-ada3c2dd05b6/download
bitstream.checksum.fl_str_mv 75ec2ae10c1e13e22e3257796f531172
760884c1e72224de569e74f79eb87ce3
bbfecf480658b6c6f067dedfdb439379
f113471cb68d24b3efa58262b4d4089f
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFLA - Universidade Federal de Lavras (UFLA)
repository.mail.fl_str_mv nivaldo@ufla.br || repositorio.biblioteca@ufla.br
_version_ 1854947834848083968