Identificação de erros semânticos em código-fonte oriundos da representação numérica em computadores e em matemática
Autor(a) principal: | |
---|---|
Data de Publicação: | 2019 |
Tipo de documento: | Trabalho de conclusão de curso |
Idioma: | por |
Título da fonte: | Biblioteca Digital de Monografias da UnB |
Texto Completo: | https://bdm.unb.br/handle/10483/26356 |
Resumo: | Trabalho de Conclusão de Curso (graduação)–Universidade de Brasília, Faculdade UnB Gama, 2019. |
id |
UNB-2_148324332911ca5e562b2196961880ee |
---|---|
oai_identifier_str |
oai:bdm.unb.br:10483/26356 |
network_acronym_str |
UNB-2 |
network_name_str |
Biblioteca Digital de Monografias da UnB |
repository_id_str |
11571 |
spelling |
Almeida, Julliana do CoutoCosta Júnior, Edson Alves daALMEIDA, Julliana do Couto. Identificação de erros semânticos em código-fonte oriundos da representação numérica em computadores e em matemática. 2019. 60 f. il. Trabalho de Conclusão de Curso (Bacharelado em Engenharia de Software)–Universidade de Brasília, Gama-DF, 2019.https://bdm.unb.br/handle/10483/26356Trabalho de Conclusão de Curso (graduação)–Universidade de Brasília, Faculdade UnB Gama, 2019.Produzir código gera erros que fazem parte do processo de aprendizagem. O problema disso é que muitas vezes eles não apresentam indícios visuais, o que significa que não geram erros pelo compilador. Neste caso, o erro é dito semântico, ele ocorre quando o desenvolvedor escreve um bloco de código que não condiz com a teoria naquele contexto. O erro semântico acontece porque as propriedades contidas nas operações do computador não reproduzem o que acontece na matemática. A associação, por exemplo, é propriedade válida dos inteiros que não acontece em todas as entradas em código. O objetivo deste trabalho, é apresentar problemas de erros semânticos de overflow em inteiros, overflow em ponto flutuantee, adicionalmente, classificar o operador % de acordo com seu retorno nas linguagens mais populares de 2019. Para os problemas de overflow houveram exemplos onde foi possível demonstrar matematicamente a taxa de erro esperada. E para todos os casos de overflow foram realizados experimentos, onde comparo os códigos com e sem overflow utilizando valores randômicos para as respectivas variáveis. E então, gero a taxa de erro para 10, 102 , 103 , 104 , 105 e 106 casos de testes, ilustradas no gráfico de cada problema.Submitted by Ilmara Leme (ilmara@unb.br) on 2020-12-29T00:03:56Z No. of bitstreams: 1 2019_JulianaDoCoutoAlmeida_tcc.pdf: 793178 bytes, checksum: 1bbc948967881b8658e8b5a6319923f1 (MD5)Approved for entry into archive by Biblioteca Digital de Monografias Gerência (bdm@bce.unb.br) on 2021-01-19T12:13:05Z (GMT) No. of bitstreams: 1 2019_JulianaDoCoutoAlmeida_tcc.pdf: 793178 bytes, checksum: 1bbc948967881b8658e8b5a6319923f1 (MD5)Made available in DSpace on 2021-01-19T12:13:05Z (GMT). No. of bitstreams: 1 2019_JulianaDoCoutoAlmeida_tcc.pdf: 793178 bytes, checksum: 1bbc948967881b8658e8b5a6319923f1 (MD5)Producing code causes errors that are part of the learning process. The problem of this is that they often do not show visual cues, which means that they do not generates errors by the compiler. In this case, the error is said to be semantic, it occurs when the developer writes a block of code that does not fit the theory in that context. The purpose of this paper is to present code examples where there are these errors followed by their respective solution.The examples chosen for this work were: arithmetic mean, minimum common multiple and remainder of the division, zero division of numbers floating point and associativity of three elements in the sum and multiplication. The first two examples reflect data invalid in overflow, to verify the error rate was plotted a comparative chart, already for the third case, there is a same operator that generates different results depending of the language it has been implemented, the proposed solution for this case is a table comparing them by classifying them. The results were 50% chance of the function of the mean return an invalid value while in the case of mmc were 31%. The last two problems work with floating point overflow, the fourth problem being referring to division by zero and their respective values congruent to it. In this problem it was verified than computers that use 32 textit bit archiving, this value is congruent to zero when implemented in code, such as body mass index (𝐼𝑀𝐶 = 𝑓𝑟𝑎𝑐𝑚ℎ2 ) when ℎ = 16. Lastly, and Not least, the associativity problem in addition and multiplication of three elements. That problem reports the sum of three decimal numbers results in different values depending on the order in which were willing. This same scenario happens in three floating point numbers when multiplied with 38.8% chance of invalid results, while in total the chance is 36.1%.A concessão da licença deste item refere-se ao termo de autorização impresso assinado pelo autor que autoriza a Biblioteca Digital da Produção Intelectual Discente da Universidade de Brasília (BDM) a disponibilizar o trabalho de conclusão de curso por meio do sítio bdm.unb.br, com as seguintes condições: disponível sob Licença Creative Commons 4.0 International, que permite copiar, distribuir e transmitir o trabalho, desde que seja citado o autor e licenciante. Não permite o uso para fins comerciais nem a adaptação desta.info:eu-repo/semantics/openAccessComputadoresProgramação (Computadores)SemânticaEngenharia de softwareIdentificação de erros semânticos em código-fonte oriundos da representação numérica em computadores e em matemáticainfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesis2021-01-19T12:13:05Z2021-01-19T12:13:05Z2019-12-13porreponame:Biblioteca Digital de Monografias da UnBinstname:Universidade de Brasília (UnB)instacron:UNBLICENSElicense.txtlicense.txttext/plain1817http://bdm.unb.br/xmlui/bitstream/10483/26356/2/license.txt21554873e56ad8ddc69c092699b98f95MD52ORIGINAL2019_JulianaDoCoutoAlmeida_tcc.pdf2019_JulianaDoCoutoAlmeida_tcc.pdfapplication/pdf793178http://bdm.unb.br/xmlui/bitstream/10483/26356/1/2019_JulianaDoCoutoAlmeida_tcc.pdf1bbc948967881b8658e8b5a6319923f1MD5110483/263562021-01-19 10:13:05.395oai:bdm.unb.br:10483/26356w4kgbmVjZXNzw6FyaW8gY29uY29yZGFyIGNvbSBhIGxpY2Vuw6dhIGRlIGRpc3RyaWJ1acOnw6NvIG7Do28tZXhjbHVzaXZhLAphbnRlcyBxdWUgbyBkb2N1bWVudG8gcG9zc2EgYXBhcmVjZXIgbmEgQmlibGlvdGVjYSBEaWdpdGFsIGRhIFByb2R1w6fDo28gCkRpc2NlbnRlIGRhIFVuaXZlcnNpZGFkZSBkZSBCcmFzw61saWEuIFBvciBmYXZvciwgbGVpYSBhCmxpY2Vuw6dhIGF0ZW50YW1lbnRlLiBDYXNvIG5lY2Vzc2l0ZSBkZSBhbGd1bSBlc2NsYXJlY2ltZW50byBlbnRyZSBlbQpjb250YXRvIGF0cmF2w6lzIGRlOiBiZG1AYmNlLnVuYi5iciBvdSAzMTA3LTI2ODcuCgpMSUNFTsOHQSBERSBESVNUUklCVUnDh8ODTyBOw4NPLUVYQ0xVU0lWQQoKQW8gYXNzaW5hciBlIGVudHJlZ2FyIGVzdGEgbGljZW7Dp2EsIG8vYSBTci4vU3JhLiAoYXV0b3Igb3UgZGV0ZW50b3IgZG9zCmRpcmVpdG9zIGRlIGF1dG9yKToKCmEpIENvbmNlZGUgw6AgVW5pdmVyc2lkYWRlIGRlIEJyYXPDrWxpYSBvIGRpcmVpdG8gbsOjby1leGNsdXNpdm8gZGUKcmVwcm9kdXppciwgY29udmVydGVyIChjb21vIGRlZmluaWRvIGFiYWl4byksIGNvbXVuaWNhciBlL291CmRpc3RyaWJ1aXIgbyBkb2N1bWVudG8gZW50cmVndWUgKGluY2x1aW5kbyBvIHJlc3Vtby9hYnN0cmFjdCkgZW0KZm9ybWF0byBkaWdpdGFsIG91IGltcHJlc3NvIGUgZW0gcXVhbHF1ZXIgbWVpby4KCmIpIERlY2xhcmEgcXVlIG8gZG9jdW1lbnRvIGVudHJlZ3VlIMOpIHNldSB0cmFiYWxobyBvcmlnaW5hbCwgZSBxdWUKZGV0w6ltIG8gZGlyZWl0byBkZSBjb25jZWRlciBvcyBkaXJlaXRvcyBjb250aWRvcyBuZXN0YSBsaWNlbsOnYS4gRGVjbGFyYQp0YW1iw6ltIHF1ZSBhIGVudHJlZ2EgZG8gZG9jdW1lbnRvIG7Do28gaW5mcmluZ2UsIHRhbnRvIHF1YW50byBsaGUgw6kKcG9zc8OtdmVsIHNhYmVyLCBvcyBkaXJlaXRvcyBkZSBxdWFscXVlciBvdXRyYSBwZXNzb2Egb3UgZW50aWRhZGUuCgpjKSBTZSBvIGRvY3VtZW50byBlbnRyZWd1ZSBjb250w6ltIG1hdGVyaWFsIGRvIHF1YWwgbsOjbyBkZXTDqW0gb3MKZGlyZWl0b3MgZGUgYXV0b3IsIGRlY2xhcmEgcXVlIG9idGV2ZSBhdXRvcml6YcOnw6NvIGRvIGRldGVudG9yIGRvcwpkaXJlaXRvcyBkZSBhdXRvciBwYXJhIGNvbmNlZGVyIMOgIFVuaXZlcnNpZGFkZSBkZSBCcmFzw61saWEgb3MgZGlyZWl0b3MKcmVxdWVyaWRvcyBwb3IgZXN0YSBsaWNlbsOnYSwgZSBxdWUgZXNzZSBtYXRlcmlhbCBjdWpvcyBkaXJlaXRvcyBzw6NvIGRlCnRlcmNlaXJvcyBlc3TDoSBjbGFyYW1lbnRlIGlkZW50aWZpY2FkbyBlIHJlY29uaGVjaWRvIG5vIHRleHRvIG91CmNvbnRlw7pkbyBkbyBkb2N1bWVudG8gZW50cmVndWUuCgpTZSBvIGRvY3VtZW50byBlbnRyZWd1ZSDDqSBiYXNlYWRvIGVtIHRyYWJhbGhvIGZpbmFuY2lhZG8gb3UgYXBvaWFkbwpwb3Igb3V0cmEgaW5zdGl0dWnDp8OjbyBxdWUgbsOjbyBhIFVuaXZlcnNpZGFkZSBkZSBCcmFzw61saWEsIGRlY2xhcmEgcXVlCmN1bXByaXUgcXVhaXNxdWVyIG9icmlnYcOnw7VlcyBleGlnaWRhcyBwZWxvIHJlc3BlY3Rpdm8gY29udHJhdG8gb3UKYWNvcmRvLgoKQSBVbml2ZXJzaWRhZGUgZGUgQnJhc8OtbGlhIGlkZW50aWZpY2Fyw6EgY2xhcmFtZW50ZSBvKHMpIHNldSAocykgbm9tZSAocykKY29tbyBvIChzKSBhdXRvciAoZXMpIG91IGRldGVudG9yIChlcykgZG9zIGRpcmVpdG9zIGRvIGRvY3VtZW50bwplbnRyZWd1ZSwgZSBuw6NvIGZhcsOhIHF1YWxxdWVyIGFsdGVyYcOnw6NvLCBwYXJhIGFsw6ltIGRhcyBwZXJtaXRpZGFzIHBvcgplc3RhIGxpY2Vuw6dhLgo=Biblioteca Digital de Monografiahttps://bdm.unb.br/PUBhttp://bdm.unb.br/oai/requestbdm@bce.unb.br||patricia@bce.unb.bropendoar:115712021-01-19T12:13:05Biblioteca Digital de Monografias da UnB - Universidade de Brasília (UnB)false |
dc.title.pt_BR.fl_str_mv |
Identificação de erros semânticos em código-fonte oriundos da representação numérica em computadores e em matemática |
title |
Identificação de erros semânticos em código-fonte oriundos da representação numérica em computadores e em matemática |
spellingShingle |
Identificação de erros semânticos em código-fonte oriundos da representação numérica em computadores e em matemática Almeida, Julliana do Couto Computadores Programação (Computadores) Semântica Engenharia de software |
title_short |
Identificação de erros semânticos em código-fonte oriundos da representação numérica em computadores e em matemática |
title_full |
Identificação de erros semânticos em código-fonte oriundos da representação numérica em computadores e em matemática |
title_fullStr |
Identificação de erros semânticos em código-fonte oriundos da representação numérica em computadores e em matemática |
title_full_unstemmed |
Identificação de erros semânticos em código-fonte oriundos da representação numérica em computadores e em matemática |
title_sort |
Identificação de erros semânticos em código-fonte oriundos da representação numérica em computadores e em matemática |
author |
Almeida, Julliana do Couto |
author_facet |
Almeida, Julliana do Couto |
author_role |
author |
dc.contributor.author.fl_str_mv |
Almeida, Julliana do Couto |
dc.contributor.advisor1.fl_str_mv |
Costa Júnior, Edson Alves da |
contributor_str_mv |
Costa Júnior, Edson Alves da |
dc.subject.keyword.pt_BR.fl_str_mv |
Computadores Programação (Computadores) Semântica Engenharia de software |
topic |
Computadores Programação (Computadores) Semântica Engenharia de software |
description |
Trabalho de Conclusão de Curso (graduação)–Universidade de Brasília, Faculdade UnB Gama, 2019. |
publishDate |
2019 |
dc.date.submitted.none.fl_str_mv |
2019-12-13 |
dc.date.accessioned.fl_str_mv |
2021-01-19T12:13:05Z |
dc.date.available.fl_str_mv |
2021-01-19T12:13:05Z |
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.citation.fl_str_mv |
ALMEIDA, Julliana do Couto. Identificação de erros semânticos em código-fonte oriundos da representação numérica em computadores e em matemática. 2019. 60 f. il. Trabalho de Conclusão de Curso (Bacharelado em Engenharia de Software)–Universidade de Brasília, Gama-DF, 2019. |
dc.identifier.uri.fl_str_mv |
https://bdm.unb.br/handle/10483/26356 |
identifier_str_mv |
ALMEIDA, Julliana do Couto. Identificação de erros semânticos em código-fonte oriundos da representação numérica em computadores e em matemática. 2019. 60 f. il. Trabalho de Conclusão de Curso (Bacharelado em Engenharia de Software)–Universidade de Brasília, Gama-DF, 2019. |
url |
https://bdm.unb.br/handle/10483/26356 |
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.source.none.fl_str_mv |
reponame:Biblioteca Digital de Monografias da UnB instname:Universidade de Brasília (UnB) instacron:UNB |
instname_str |
Universidade de Brasília (UnB) |
instacron_str |
UNB |
institution |
UNB |
reponame_str |
Biblioteca Digital de Monografias da UnB |
collection |
Biblioteca Digital de Monografias da UnB |
bitstream.url.fl_str_mv |
http://bdm.unb.br/xmlui/bitstream/10483/26356/2/license.txt http://bdm.unb.br/xmlui/bitstream/10483/26356/1/2019_JulianaDoCoutoAlmeida_tcc.pdf |
bitstream.checksum.fl_str_mv |
21554873e56ad8ddc69c092699b98f95 1bbc948967881b8658e8b5a6319923f1 |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 |
repository.name.fl_str_mv |
Biblioteca Digital de Monografias da UnB - Universidade de Brasília (UnB) |
repository.mail.fl_str_mv |
bdm@bce.unb.br||patricia@bce.unb.br |
_version_ |
1801493138448056320 |