Detecção de anomalias de orientação a objetos em C#
dc.contributor.advisor | Cota, Erika Fernandes | pt_BR |
dc.contributor.author | Krause, Matheus | pt_BR |
dc.date.accessioned | 2020-08-19T03:39:26Z | pt_BR |
dc.date.issued | 2019 | pt_BR |
dc.identifier.uri | http://hdl.handle.net/10183/212998 | pt_BR |
dc.description.abstract | 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. | pt_BR |
dc.description.abstract | 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. | en |
dc.format.mimetype | application/pdf | pt_BR |
dc.language.iso | por | pt_BR |
dc.rights | Open Access | en |
dc.subject | Teste de software | pt_BR |
dc.subject | C# | en |
dc.subject | Análise estática | pt_BR |
dc.subject | Desenvolvimento de software | pt_BR |
dc.title | Detecção de anomalias de orientação a objetos em C# | pt_BR |
dc.title.alternative | Object oriented anomalies analysis in C# | en |
dc.type | Trabalho de conclusão de graduação | pt_BR |
dc.identifier.nrb | 001117224 | pt_BR |
dc.degree.grantor | Universidade Federal do Rio Grande do Sul | pt_BR |
dc.degree.department | Instituto de Informática | pt_BR |
dc.degree.local | Porto Alegre, BR-RS | pt_BR |
dc.degree.graduation | Ciência da Computação: Ênfase em Ciência da Computação: Bacharelado | pt_BR |
dc.degree.level | graduação | pt_BR |
Este item está licenciado na Creative Commons License
![](/themes/Mirage2Novo//images/lume/cc.png)