Detecção de anomalias de orientação a objetos em C#

Detalhes bibliográficos
Autor(a) principal: Krause, Matheus
Data de Publicação: 2019
Tipo de documento: Trabalho de conclusão de curso
Idioma: por
Título da fonte: Repositório Institucional da UFRGS
Texto Completo: http://hdl.handle.net/10183/212998
Resumo: O teste é uma prática importante de garantia de qualidade do processo moderno de desenvolvimento de software. Como não podemos dar ao luxo de testar todos os aspectos de um programa, é essencial definir o escopo desses testes (isto é, quais aspectos do software o teste está exercitando) a fim de tornar a técnica viável. A delimitação desse escopo é dificultada à medida que mais e mais camadas de abstração são incorporadas às linguagens de programação. Embora esses novos paradigmas e construções de programação possam aumentar a funcionalidade do código, eles também introduzem novas classes de falhas específicas de linguagem, algumas das quais são sutis e difíceis de testar computacionalmente. Isso deixa os testadores de software com a tarefa adicional de estabelecer criteriosamente se a gravidade dessas falhas específicas justifica o custo de elencar novos testes exclusivamente destinados a sua cobertura. Neste trabalho, analisamos um caso específico de anomalias introduzidas pela programação orientada a objetos, que são conhecidas como anomalias de código orientadas a objetos. Primeiro, analisamos a possibilidade dessas anomalias ocorrerem no ambiente C#, considerando as salvaguardas que o compilador e a sintaxe do idioma já fornecem contra essas falhas. Em seguida, avaliamos, com base em nossa análise, se essas falhas são impactantes o suficiente para serem dignas de metodologias específicas de teste.
id UFRGS-2_e79ec70ae79c84ce08e60273af67b103
oai_identifier_str oai:www.lume.ufrgs.br:10183/212998
network_acronym_str UFRGS-2
network_name_str Repositório Institucional da UFRGS
repository_id_str
spelling Krause, MatheusCota, Erika Fernandes2020-08-19T03:39:26Z2019http://hdl.handle.net/10183/212998001117224O teste é uma prática importante de garantia de qualidade do processo moderno de desenvolvimento de software. Como não podemos dar ao luxo de testar todos os aspectos de um programa, é essencial definir o escopo desses testes (isto é, quais aspectos do software o teste está exercitando) a fim de tornar a técnica viável. A delimitação desse escopo é dificultada à medida que mais e mais camadas de abstração são incorporadas às linguagens de programação. Embora esses novos paradigmas e construções de programação possam aumentar a funcionalidade do código, eles também introduzem novas classes de falhas específicas de linguagem, algumas das quais são sutis e difíceis de testar computacionalmente. Isso deixa os testadores de software com a tarefa adicional de estabelecer criteriosamente se a gravidade dessas falhas específicas justifica o custo de elencar novos testes exclusivamente destinados a sua cobertura. Neste trabalho, analisamos um caso específico de anomalias introduzidas pela programação orientada a objetos, que são conhecidas como anomalias de código orientadas a objetos. Primeiro, analisamos a possibilidade dessas anomalias ocorrerem no ambiente C#, considerando as salvaguardas que o compilador e a sintaxe do idioma já fornecem contra essas falhas. Em seguida, avaliamos, com base em nossa análise, se essas falhas são impactantes o suficiente para serem dignas de metodologias específicas de teste.Testing is an important quality assurance practice of the modern software development process. Since we cannot afford to test every aspect of a program, defining which aspects will be exercised is essential in order to make testing feasible for integration with the development process. This definition process is made even harder as more and more abstraction layers are incorporated into programming languages. While these new programming paradigms and constructs may augment the functionality of code, they also introduce new classes of language-specific faults, some of which are subtle and computationally difficult to test for. This leaves software testers with the additional task of judiciously establish if the severity of these new language specific faults substantiates the overhead of testing for them. In this work, we aim for a specific case of anomalies introduced by object-oriented programming, which are object oriented code anomalies. We first discover the likelihood of these anomalies occurring on the C# environment, considering the safeguards that both the compiler and language syntax already place against these faults. We then assess, based on our analysis, if these faults are impactful enough to be worthy of having their own testing methodology. We argue that our practical study of these faults can serve as guidelines for C# software testers, ellucidating the circumstances surrounding each fault, as well as their probability of occurence and possible countermeasures.application/pdfporInformáticaSoftware testingStatic analysisC#Detecção de anomalias de orientação a objetos em C#Object oriented anomalies analysis in C# info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisUniversidade Federal do Rio Grande do SulInstituto de InformáticaPorto Alegre, BR-RSCiência da Computação: Ênfase em Ciência da Computação: Bachareladograduaçãoinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFRGSinstname:Universidade Federal do Rio Grande do Sul (UFRGS)instacron:UFRGSTEXT001117224.pdf.txt001117224.pdf.txtExtracted Texttext/plain73173http://www.lume.ufrgs.br/bitstream/10183/212998/2/001117224.pdf.txt750128a248198a46024fa4498f20e126MD52ORIGINAL001117224.pdfTexto completoapplication/pdf917636http://www.lume.ufrgs.br/bitstream/10183/212998/1/001117224.pdf2ac778fe4802ffd0e385c8dce1a9f2caMD5110183/2129982020-08-20 03:38:05.937171oai:www.lume.ufrgs.br:10183/212998Repositório de PublicaçõesPUBhttps://lume.ufrgs.br/oai/requestopendoar:2020-08-20T06:38:05Repositório Institucional da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)false
dc.title.pt_BR.fl_str_mv Detecção de anomalias de orientação a objetos em C#
dc.title.alternative.en.fl_str_mv Object oriented anomalies analysis in C#
title Detecção de anomalias de orientação a objetos em C#
spellingShingle Detecção de anomalias de orientação a objetos em C#
Krause, Matheus
Informática
Software testing
Static analysis
C#
title_short Detecção de anomalias de orientação a objetos em C#
title_full Detecção de anomalias de orientação a objetos em C#
title_fullStr Detecção de anomalias de orientação a objetos em C#
title_full_unstemmed Detecção de anomalias de orientação a objetos em C#
title_sort Detecção de anomalias de orientação a objetos em C#
author Krause, Matheus
author_facet Krause, Matheus
author_role author
dc.contributor.author.fl_str_mv Krause, Matheus
dc.contributor.advisor1.fl_str_mv Cota, Erika Fernandes
contributor_str_mv Cota, Erika Fernandes
dc.subject.por.fl_str_mv Informática
topic Informática
Software testing
Static analysis
C#
dc.subject.eng.fl_str_mv Software testing
Static analysis
C#
description O teste é uma prática importante de garantia de qualidade do processo moderno de desenvolvimento de software. Como não podemos dar ao luxo de testar todos os aspectos de um programa, é essencial definir o escopo desses testes (isto é, quais aspectos do software o teste está exercitando) a fim de tornar a técnica viável. A delimitação desse escopo é dificultada à medida que mais e mais camadas de abstração são incorporadas às linguagens de programação. Embora esses novos paradigmas e construções de programação possam aumentar a funcionalidade do código, eles também introduzem novas classes de falhas específicas de linguagem, algumas das quais são sutis e difíceis de testar computacionalmente. Isso deixa os testadores de software com a tarefa adicional de estabelecer criteriosamente se a gravidade dessas falhas específicas justifica o custo de elencar novos testes exclusivamente destinados a sua cobertura. Neste trabalho, analisamos um caso específico de anomalias introduzidas pela programação orientada a objetos, que são conhecidas como anomalias de código orientadas a objetos. Primeiro, analisamos a possibilidade dessas anomalias ocorrerem no ambiente C#, considerando as salvaguardas que o compilador e a sintaxe do idioma já fornecem contra essas falhas. Em seguida, avaliamos, com base em nossa análise, se essas falhas são impactantes o suficiente para serem dignas de metodologias específicas de teste.
publishDate 2019
dc.date.issued.fl_str_mv 2019
dc.date.accessioned.fl_str_mv 2020-08-19T03:39:26Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/bachelorThesis
format bachelorThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10183/212998
dc.identifier.nrb.pt_BR.fl_str_mv 001117224
url http://hdl.handle.net/10183/212998
identifier_str_mv 001117224
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.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFRGS
instname:Universidade Federal do Rio Grande do Sul (UFRGS)
instacron:UFRGS
instname_str Universidade Federal do Rio Grande do Sul (UFRGS)
instacron_str UFRGS
institution UFRGS
reponame_str Repositório Institucional da UFRGS
collection Repositório Institucional da UFRGS
bitstream.url.fl_str_mv http://www.lume.ufrgs.br/bitstream/10183/212998/2/001117224.pdf.txt
http://www.lume.ufrgs.br/bitstream/10183/212998/1/001117224.pdf
bitstream.checksum.fl_str_mv 750128a248198a46024fa4498f20e126
2ac778fe4802ffd0e385c8dce1a9f2ca
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)
repository.mail.fl_str_mv
_version_ 1801224597813592064