Análise estática de código para detecção de certas condições de corrida

Detalhes bibliográficos
Autor(a) principal: Albuquerque, João Felipe Porto de
Data de Publicação: 2019
Tipo de documento: Trabalho de conclusão de curso
Idioma: por
Título da fonte: Repositório Institucional da UFRJ
Texto Completo: http://hdl.handle.net/11422/9194
Resumo: Programação concorrente se mostra cada vez mais presente em diversas áreas da computação. Junto com o crescimento dessa área, a presença de ferramentas capazes de auxiliar no aprendizado e no desenvolvimento de aplicações concorrentes se mostra cada vez maior. O presente trabalho tem como objetivo criar uma ferramenta direcionada aos alunos da disciplina de Computação Concorrente (DCC/UFRJ), capaz de auxiliá-los na identificação de possíveis condições de corrida com variáveis globais e estáticas. A partir de uma análise estática do código fornecido pelo aluno, a ferramenta se propõe a identificar quais são as variáveis passíveis de sofrer uma condição de corrida e retornar essa informação ao aluno. Com esse conhecimento em mãos, espera-se que o aluno reveja o código com olhos mais críticos, prestando atenção especial às variáveis citadas, de forma a fortalecer os conhecimentos de lógica de programação de forma geral, e, em particular, dos mecanismos de sincronização usados na programação concorrente.
id UFRJ_0a9bf0094a0a62f1ea5cf7f1949efe6d
oai_identifier_str oai:pantheon.ufrj.br:11422/9194
network_acronym_str UFRJ
network_name_str Repositório Institucional da UFRJ
repository_id_str
spelling Albuquerque, João Felipe Porto dehttp://lattes.cnpq.br/0054098292730720Menasche, Daniel SadocSilva, Geraldo Zimbrão daRossetto, Silvana2019-08-22T12:57:26Z2023-11-30T03:00:58Z2019-07-26http://hdl.handle.net/11422/9194Submitted by Raquel Porto (raquel@nce.ufrj.br) on 2019-08-22T12:57:26Z No. of bitstreams: 1 JFPAlbuquerque.pdf: 704289 bytes, checksum: 15d66a298b9033452a895b320cd3aac3 (MD5)Made available in DSpace on 2019-08-22T12:57:26Z (GMT). No. of bitstreams: 1 JFPAlbuquerque.pdf: 704289 bytes, checksum: 15d66a298b9033452a895b320cd3aac3 (MD5) Previous issue date: 2019-07-26Programação concorrente se mostra cada vez mais presente em diversas áreas da computação. Junto com o crescimento dessa área, a presença de ferramentas capazes de auxiliar no aprendizado e no desenvolvimento de aplicações concorrentes se mostra cada vez maior. O presente trabalho tem como objetivo criar uma ferramenta direcionada aos alunos da disciplina de Computação Concorrente (DCC/UFRJ), capaz de auxiliá-los na identificação de possíveis condições de corrida com variáveis globais e estáticas. A partir de uma análise estática do código fornecido pelo aluno, a ferramenta se propõe a identificar quais são as variáveis passíveis de sofrer uma condição de corrida e retornar essa informação ao aluno. Com esse conhecimento em mãos, espera-se que o aluno reveja o código com olhos mais críticos, prestando atenção especial às variáveis citadas, de forma a fortalecer os conhecimentos de lógica de programação de forma geral, e, em particular, dos mecanismos de sincronização usados na programação concorrente.porUniversidade Federal do Rio de JaneiroUFRJBrasilInstituto de ComputaçãoCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOProgramação correnteAnálise estática de códigoConcurrent programmingStatic code analysisAnálise estática de código para detecção de certas condições de corridainfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisabertoinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFRJinstname:Universidade Federal do Rio de Janeiro (UFRJ)instacron:UFRJORIGINALJFPAlbuquerque.pdfJFPAlbuquerque.pdfapplication/pdf704289http://pantheon.ufrj.br:80/bitstream/11422/9194/1/JFPAlbuquerque.pdf15d66a298b9033452a895b320cd3aac3MD51LICENSElicense.txtlicense.txttext/plain; charset=utf-81853http://pantheon.ufrj.br:80/bitstream/11422/9194/2/license.txtdd32849f2bfb22da963c3aac6e26e255MD5211422/91942023-11-30 00:00:58.423oai:pantheon.ufrj.br:11422/9194TElDRU7Dh0EgTsODTy1FWENMVVNJVkEgREUgRElTVFJJQlVJw4fDg08KCkFvIGFzc2luYXIgZSBlbnRyZWdhciBlc3RhIGxpY2Vuw6dhLCB2b2PDqihzKSBvKHMpIGF1dG9yKGVzKSBvdSBwcm9wcmlldMOhcmlvKHMpIGRvcyBkaXJlaXRvcyBhdXRvcmFpcyBjb25jZWRlKG0pIGFvIFJlcG9zaXTDs3JpbyBQYW50aGVvbiBkYSBVbml2ZXJzaWRhZGUgRmVkZXJhbCBkbyBSaW8gZGUgSmFuZWlybyAoVUZSSikgbyBkaXJlaXRvIG7Do28gLSBleGNsdXNpdm8gZGUgcmVwcm9kdXppciwgY29udmVydGVyIChjb21vIGRlZmluaWRvIGFiYWl4byksIGUvb3UgZGlzdHJpYnVpciBvIGRvY3VtZW50byBlbnRyZWd1ZSAoaW5jbHVpbmRvIG8gcmVzdW1vKSBlbSB0b2RvIG8gbXVuZG8sIGVtIGZvcm1hdG8gZWxldHLDtG5pY28gZSBlbSBxdWFscXVlciBtZWlvLCBpbmNsdWluZG8sIG1hcyBuw6NvIGxpbWl0YWRvIGEgw6F1ZGlvIGUvb3UgdsOtZGVvLgoKVm9jw6ogY29uY29yZGEgcXVlIGEgVUZSSiBwb2RlLCBzZW0gYWx0ZXJhciBvIGNvbnRlw7pkbywgdHJhZHV6aXIgYSBhcHJlc2VudGHDp8OjbyBkZSBxdWFscXVlciBtZWlvIG91IGZvcm1hdG8gY29tIGEgZmluYWxpZGFkZSBkZSBwcmVzZXJ2YcOnw6NvLgoKVm9jw6ogdGFtYsOpbSBjb25jb3JkYSBxdWUgYSBVRlJKIHBvZGUgbWFudGVyIG1haXMgZGUgdW1hIGPDs3BpYSBkZXNzYSBzdWJtaXNzw6NvIHBhcmEgZmlucyBkZSBzZWd1cmFuw6dhLCBiYWNrLXVwIGUgcHJlc2VydmHDp8OjbyBkaWdpdGFsLgoKRGVjbGFyYSBxdWUgbyBkb2N1bWVudG8gZW50cmVndWUgw6kgc2V1IHRyYWJhbGhvIG9yaWdpbmFsLCBlIHF1ZSB2b2PDqiB0ZW0gbyBkaXJlaXRvIGRlIGNvbmNlZGVyIG9zIGRpcmVpdG9zIGNvbnRpZG9zIG5lc3RhIGxpY2Vuw6dhLiBWb2PDqiB0YW1iw6ltIGRlY2xhcmEgcXVlIGEgc3VhIGFwcmVzZW50YcOnw6NvLCBjb20gbyBtZWxob3IgZGUgc2V1cyBjb25oZWNpbWVudG9zLCBuw6NvIGluZnJpbmdpIGRpcmVpdG9zIGF1dG9yYWlzIGRlIHRlcmNlaXJvcy4KClNlIG8gZG9jdW1lbnRvIGVudHJlZ3VlIGNvbnTDqW0gbWF0ZXJpYWwgZG8gcXVhbCB2b2PDqiBuw6NvIHRlbSBkaXJlaXRvcyBkZSBhdXRvciwgZGVjbGFyYSBxdWUgb2J0ZXZlIGEgcGVybWlzc8OjbyBpcnJlc3RyaXRhIGRvIGRldGVudG9yIGRvcyBkaXJlaXRvcyBhdXRvcmFpcyBlIGNvbmNlZGUgYSBVRlJKIG9zIGRpcmVpdG9zIHJlcXVlcmlkb3MgcG9yIGVzdGEgbGljZW7Dp2EsIGUgcXVlIGVzc2UgbWF0ZXJpYWwgZGUgcHJvcHJpZWRhZGUgZGUgdGVyY2Vpcm9zIGVzdMOhIGNsYXJhbWVudGUgaWRlbnRpZmljYWRvIGUgcmVjb25oZWNpZG8gbm8gdGV4dG8gb3UgY29udGXDumRvIGRhIHN1Ym1pc3PDo28uCgpTZSBvIGRvY3VtZW50byBlbnRyZWd1ZSDDqSBiYXNlYWRvIGVtIHRyYWJhbGhvIHF1ZSBmb2ksIG91IHRlbSBzaWRvIHBhdHJvY2luYWRvIG91IGFwb2lhZG8gcG9yIHVtYSBhZ8OqbmNpYSBvdSBvdXRybyhzKSBvcmdhbmlzbW8ocykgcXVlIG7Do28gYSBVRlJKLCB2b2PDqiBkZWNsYXJhIHF1ZSBjdW1wcml1IHF1YWxxdWVyIGRpcmVpdG8gZGUgUkVWSVPDg08gb3UgZGUgb3V0cmFzIG9icmlnYcOnw7VlcyByZXF1ZXJpZGFzIHBvciBjb250cmF0byBvdSBhY29yZG8uCgpBIFVGUkogaXLDoSBpZGVudGlmaWNhciBjbGFyYW1lbnRlIG8ocykgc2V1KHMpIG5vbWUocykgY29tbyBhdXRvcihlcykgb3UgcHJvcHJpZXTDoXJpbyhzKSBkYSBzdWJtaXNzw6NvLCBlIG7Do28gZmFyw6EgcXVhbHF1ZXIgYWx0ZXJhw6fDo28sIHBhcmEgYWzDqW0gZGFzIHBlcm1pdGlkYXMgcG9yIGVzdGEgbGljZW7Dp2EsIG5vIGF0byBkZSBzdWJtaXNzw6NvLgo=Repositório de PublicaçõesPUBhttp://www.pantheon.ufrj.br/oai/requestopendoar:2023-11-30T03:00:58Repositório Institucional da UFRJ - Universidade Federal do Rio de Janeiro (UFRJ)false
dc.title.pt_BR.fl_str_mv Análise estática de código para detecção de certas condições de corrida
title Análise estática de código para detecção de certas condições de corrida
spellingShingle Análise estática de código para detecção de certas condições de corrida
Albuquerque, João Felipe Porto de
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Programação corrente
Análise estática de código
Concurrent programming
Static code analysis
title_short Análise estática de código para detecção de certas condições de corrida
title_full Análise estática de código para detecção de certas condições de corrida
title_fullStr Análise estática de código para detecção de certas condições de corrida
title_full_unstemmed Análise estática de código para detecção de certas condições de corrida
title_sort Análise estática de código para detecção de certas condições de corrida
author Albuquerque, João Felipe Porto de
author_facet Albuquerque, João Felipe Porto de
author_role author
dc.contributor.advisorLattes.pt_BR.fl_str_mv http://lattes.cnpq.br/0054098292730720
dc.contributor.author.fl_str_mv Albuquerque, João Felipe Porto de
dc.contributor.referee1.fl_str_mv Menasche, Daniel Sadoc
dc.contributor.referee2.fl_str_mv Silva, Geraldo Zimbrão da
dc.contributor.advisor1.fl_str_mv Rossetto, Silvana
contributor_str_mv Menasche, Daniel Sadoc
Silva, Geraldo Zimbrão da
Rossetto, Silvana
dc.subject.cnpq.fl_str_mv CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
topic CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Programação corrente
Análise estática de código
Concurrent programming
Static code analysis
dc.subject.por.fl_str_mv Programação corrente
Análise estática de código
dc.subject.eng.fl_str_mv Concurrent programming
Static code analysis
description Programação concorrente se mostra cada vez mais presente em diversas áreas da computação. Junto com o crescimento dessa área, a presença de ferramentas capazes de auxiliar no aprendizado e no desenvolvimento de aplicações concorrentes se mostra cada vez maior. O presente trabalho tem como objetivo criar uma ferramenta direcionada aos alunos da disciplina de Computação Concorrente (DCC/UFRJ), capaz de auxiliá-los na identificação de possíveis condições de corrida com variáveis globais e estáticas. A partir de uma análise estática do código fornecido pelo aluno, a ferramenta se propõe a identificar quais são as variáveis passíveis de sofrer uma condição de corrida e retornar essa informação ao aluno. Com esse conhecimento em mãos, espera-se que o aluno reveja o código com olhos mais críticos, prestando atenção especial às variáveis citadas, de forma a fortalecer os conhecimentos de lógica de programação de forma geral, e, em particular, dos mecanismos de sincronização usados na programação concorrente.
publishDate 2019
dc.date.accessioned.fl_str_mv 2019-08-22T12:57:26Z
dc.date.issued.fl_str_mv 2019-07-26
dc.date.available.fl_str_mv 2023-11-30T03:00:58Z
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/11422/9194
url http://hdl.handle.net/11422/9194
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 do Rio de Janeiro
dc.publisher.initials.fl_str_mv UFRJ
dc.publisher.country.fl_str_mv Brasil
dc.publisher.department.fl_str_mv Instituto de Computação
publisher.none.fl_str_mv Universidade Federal do Rio de Janeiro
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFRJ
instname:Universidade Federal do Rio de Janeiro (UFRJ)
instacron:UFRJ
instname_str Universidade Federal do Rio de Janeiro (UFRJ)
instacron_str UFRJ
institution UFRJ
reponame_str Repositório Institucional da UFRJ
collection Repositório Institucional da UFRJ
bitstream.url.fl_str_mv http://pantheon.ufrj.br:80/bitstream/11422/9194/1/JFPAlbuquerque.pdf
http://pantheon.ufrj.br:80/bitstream/11422/9194/2/license.txt
bitstream.checksum.fl_str_mv 15d66a298b9033452a895b320cd3aac3
dd32849f2bfb22da963c3aac6e26e255
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFRJ - Universidade Federal do Rio de Janeiro (UFRJ)
repository.mail.fl_str_mv
_version_ 1784097152477167616