Detecção de anomalias de orientação a objetos em C#
Autor(a) principal: | |
---|---|
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 |