Universidade Federal de Pernambuco (UFPE)
Centro de Informática (CIn)
Graduação em Ciência da Computação, Engenharia da Computação, e Sistemas de
Informação
Trabalhos de Graduação - 2020.3
Ciência da Computação
Responsável: Prof. Juliano Iyoda (jmi@cin.ufpe.br)
Código da disciplina no Google Classroom:
ledcxms
-
Título: Proposta de sistema de autenticação baseado em localização a fim
de evitar acessos fraudulentos a contas de aplicativos
TG:
Proposta inicial: aqui
Autor(a): Arthur Frade de Araújo
Curso: Ciência da Computação
Orientador(a): Vinícius Cardoso Garcia
Possíveis Avaliadores: Leopoldo Teixeira e Ruy Guerra
Resumo da Proposta:
Conforme a indústria digital se desenvolve, os crimes cibernéticos tanto crescem,
como tornam-se mais arrojados e bem arquitetados. Segundo dados da Axur, empresa
especializada em segurança digital, o volume de páginas falsas, arquitetadas para o roubo
de dados, cresceu mais de 300% no primeiro trimestre de 2020 no Brasil [1]. Um número
crescente de usuários de aplicativos tem sofrido com ataques de engenharia social e
sequestro de dados. Além disso, termos como “whatsapp clonado” seguem crescendo nos
últimos 2 anos, de acordo com o Google Trends [2].
Uma prática popular de ataque é o estelionato virtual [3]. Através de estratégias
fraudulentas de aquisição de informação (ligações telefônicas, phishing ou mensagens) um
indivíduo malicioso consegue acesso a uma conta de aplicativo, depois de autenticar-se
com informações que deveriam ser de posse exclusiva do dono da conta, tais como códigos
de autenticação enviados via sms e senhas. Isso acontece, pois, em muitos casos, os
únicos recursos autenticadores são dados estáticos e passíveis de compartilhamento.
Nesses casos apesar da autenticação ocorrer a partir de informações válidas sobre o real
usuário, ela não garante que quem está efetuando login é de fato o dono das informações.
Sendo assim o acesso indevido por alguém não autorizado ainda pode ocorrer.
Uma abordagem de autenticação que considere características mais subjetivas do
indivíduo as quais não sejam trivialmente emuladas, como o padrão de localização, poderia
ser uma ferramenta importante para restringir acesso a um perfil virtual [4]. Situações mais
peculiares de utilização de contas, como primeiro login em um novo dispositivo, poderiam
utilizar-se do padrão de localização do usuário para validar se o comportamento do
solicitante do acesso diz respeito ao comportamento do proprietário da conta. Sendo assim,
tentativas de login que ocorressem em uma localização completamente destoante do
padrão, seriam negadas. Objetivos: Desenvolver um sistema de autenticação que utilize o histórico de localização de um
usuário para validar, no momento da autenticação, se o cliente que solicita acesso à conta
encontra-se em um local que é do contexto do proprietário. A implementação visa
apresentar uma estrutura de segurança que possa mitigar o número de acessos
fraudulentos, os quais, além de proporcionarem a exposição de dados privados, muitas
vezes geram prejuízos financeiros para pessoas associados à conta invadida [5].
Apresentação: dia: DD/MM/AAAA, hora: XX:YY, local: LLLL
-
Título: Towards a Catalog of Privacy Related Concepts: An Update
TG: aqui
Proposta inicial: aqui
Autor(a): Arthur Santos Vieira Silva
Curso: Ciência da Computação
Orientador(a): Carla Taciana Lima Lourenço Silva
Possíveis Avaliadores: Jessyka Flavyanne Ferreira Vilela e Alexandre Vasconcelos
Resumo da Proposta:
Muitas das informações disponíveis no dia a dia vem sido digitalizadas para facilitar o acesso
rápido e fácil. Os serviços digitais, por exemplo, dependem de dados armazenados para
identificar clientes, suas preferências e transações [DWS + 11, KKG08]. Esses dados
geralmente revelam grandes quantidades de informações pessoais, e a exposição dessas
informações de forma não regulamentada pode ameaçar a privacidade do usuário. Assim, a
privacidade deve ser um fator considerado no início do processo de desenvolvimento de
sistemas de software [OCS + 13].
Gharib et al. [GGM17] afirma que violações de privacidade podem ser evitadas se os
requisitos de privacidade forem descobertos adequadamente durante a fase de Engenharia de
Requisitos (ER) ao desenvolver um sistema sensível à privacidade. No entanto, apesar de vários
esforços feitos para esclarecer conceitos relacionados à privacidade, vinculando-os a outros
mais refinados e bem-definidos, não há consenso sobre a definição destes conceitos ou qual
deles deve ser usado para analisar os requisitos de privacidade ao desenvolver um sistema que
lida com à privacidade [Bec12, GGM17]. Essa situação resultou em muita confusão entre
designers e partes interessadas e levou, por sua vez, a decisões de design erradas [GGM17].
Dado então a importância da privacidade no desenvolvimento de software consciente, e
a falta de definição clara e ampla do conceito, representando muitas condições relacionadas
com que se deseja manter privado [KKG08, GGM17], surgiu a necessidade de se ter um guia de
conceitos relacionados à privacidade. Motivado por este cenário, Peixoto et al [PSM+20] fez uma
revisão da literatura com o objetivo de encontrar linguagens de modelagem que tratassem de
conceitos relacionados à privacidade para que esses conceitos pudessem ser extraídos e
usados na criação de um modelo conceitual descrevendo os conceitos relacionados à
privacidade e como eles se relacionam.
Porém, em áreas com temas de alta importância, como as pesquisas em privacidade e
software, termos e conceitos podem perder a validade rapidamente, diminuindo o valor
acadêmico de pesquisas como esta. Surgiu então a necessidade de se observar o atual estado
da pesquisa, executar validações para medir a atual necessidade de uma atualização
[MWF+20], e, se necessário, fazer uma nova rodada de pesquisa e definição de conceitos
segundo métodos comprovados, como em [WMF+20] .
Dados os desenvolvimentos recentes em tecnologia e o estado ativo da pesquisa de
privacidade, usaremos este artigo para analisar a validade de uma atualização sobre Peixoto et
al [PSM + 20] e atualizá-la, trazendo novos conceitos e técnicas, se necessário.
O objetivo central deste artigo é fazer uma atualização sobre Peixoto et al [PSM + 20] e
trazer novos conceitos e técnicas para pesquisadores que buscam informações sobre
conceitos relacionados à privacidade e, esperançosamente, aprofundar o entendimento de
“privacidade” tanto no privado. desenvolvimento de software e pesquisa acadêmica.
Isso será feito através de uma análise sobre a validade de uma atualização sobre
Peixoto et al [PSM + 20], usando a abordagem proposta por Mendes et al [MWF + 20] para
orientar as atualizações do SLR em pesquisas de engenharia de software. Depois disso, se
o resultado for positivo, haverá uma atualização do artigo utilizando as diretrizes para
atualização de SLRs de Engenharia de Software, como propostas em Wohlin et al [WMF +
20].
Apresentação: dia: 01/12/2020, hora: 14:00, local: Google Meet
-
Título: Recomendação musical para grupos baseada nas preferências individuais
TG: aqui
Proposta inicial: aqui
Autor(a): Bruno Vitorino Cortez de Lira
Curso: Ciência da Computação
Orientador(a): Sergio Ricardo de Melo Queiroz
Possíveis Avaliadores: Giordano Ribeiro Eulálio Cabral e Ricardo Bastos Cavalcanti Prudêncio
Resumo da Proposta:
O objetivo deste trabalho é analisar métodos e técnicas de recomendação para grupos já
existentes, compará-las e tentar criar uma nova abordagem ou melhorar alguma já existente de
modo a melhorar o desempenho final das recomendações.
Para isso, inicialmente a proposta é construir uma base de usuários do Spotify de modo a
obter informações sobre músicas, playlist e artistas que esses usuários ouvem e também obter
características das músicas ouvidas. Vale lembrar que todas as pessoas que se dispuserem
a participar do estudo o farão sabendo de todos os detalhes sobre o que será buscado de suas
contas no Spotify, podendo a pessoa também se retirar do estudo a qualquer momento. Também
é importante lembrar que todos os dados serão buscados utilizando o próprio serviço do Spotify.
Com essa base inicial, pretendo mapear as músicas em vetores, assim como os usuários, que
serão vetores baseados nas músicas que ouvem. Dessa forma, poderei analisar semelhanças,
sejaporumacaracterísticaespecíficaouumamaisgenérica, tantodemúsicascomodeusuários.
Após esse processo de transformação em vetores, serão aplicadas técnicas já conhecidas como
as citadas no livro Group Recommender Systems, por exemplo [FBST].
Após analisar os resultados obtidos seguindo algumas técnicas de avaliação já conhecidas,
tais como as encontradas no livro citado acima, e métricas próprias, tentarei melhorar o de-
sempenho final do sistema modificando ou criando uma nova abordagem com base no que foi
utilizado anteriormente.
Por fim, será feita uma avaliação da nova abordagem juntamente com os resultados obtidos
das técnicas já existentes, levando em conta a opinião dos usuários que se disponibilizarem a
fazer parte dessa avaliação.
Como um adicional, pretendo disponibilizar a ferramenta em sua versão final para uso geral
afim de que mais pessoas possam testá-la e consequentemente mais dados possam ser gerados
para refinar ainda mais os resultados.
Apresentação: dia: 04/12/2020, hora: 17:00, local: Google Meet
-
Título: Uso do Robô Nao Como Recurso Terapêutico na Reabilitação Motora dos Membros Superiores
TG:
Proposta inicial: aqui
Autor(a): Cinthya Moreira Lins
Curso: Ciência da Computação
Orientador(a): Jaelson Freire Brelaz de Castro
Possíveis Avaliadores: Judith Kelner e Aluizio Araújo
Resumo da Proposta:
Robôs sociais vêm sendo utilizados com diversos propósitos como educacionais ou
lazer. Alguns estudos têm usado esses dispositivos na área de saúde como recurso
na reabilitação motora. Este projeto propõe validar com fisioterapeutas o uso do robô
social NAO como possível recurso no tratamento de alterações motoras em membros
superiores. Para isso, será feito um formulário com vídeos do NAO realizando os
exercícios programados previamente com o auxílio de uma fisioterapeuta.
Apresentação: dia: DD/MM/AAAA, hora: XX:YY, local: LLLL
-
Título: Análise dos impactos e benefícios do emprego do protocolo
HTTP/3 (HTTP-over-QUIC) para a Internet
TG:
Proposta inicial: aqui
Autor(a): Diogo Wellyngton de Souza Barbosa
Curso: Ciência da Computação
Orientador(a): Kelvin Lopes Dias
Possíveis Avaliadores: José Augusto Suruagy Monteiro e Nelson Souto Rosa
Resumo da Proposta:
A Internet é um dos principais meios de comunicação atualmente, estimasse
que cerca de 53,6% da população mundial tem acesso a ela e que até 2021 o tráfego
de dados mundial chegue a 8,2 mil Terabits por segundo de acordo com um relatório
publicado pela empresa Equinix, uma empresa internacional especialista em
datacenters e de interconexões de rede para troca de tráfego [9][10].
O maior tráfego da Internet é proveniente da Word Wide Web (WWW ou Web),
é nela onde as pessoas acessam sites, serviço de streaming, aplicativos mobile, entre
outros serviços hospedados na nuvem. A grande demanda por consumo e geração
de dados, conexões mais rápidas e seguras fizeram com que os protocolos de
comunicações da Web passassem por várias evoluções.
Na Web o protocolo mais utilizado nas aplicações e sites é o protocolo
Hypertext Transfer Protocol (HTTP), ele é a base de todo comunicação nela. O HTTP
tem papel fundamental na padronização das requisições entre clientes e servidores e
como é de se esperar ele já passou por várias evoluções desde a sua primeira versão
o HTTP/0.9 até a sua proposta mais recente o HTTP/3.0 (também chamado de HTTP-
over-QUIC ou QUIC) com o intuito de atender as necessidades de cada época que
foram surgindo de acordo com a evolução da Internet, das aplicações e aumento do
volume de dados trafegados na Web [4].
O objetivo do trabalho é fazer um analise geral evolutiva do protocolo HTTP e
analisar o desempenho do protocolo HTTP/3.0 (QUIC) comparando-o com sua versão
anterior HTTP/2.0, indicando diretrizes e avaliando os compromissos em termos de
métricas de desempenho, benefícios aos usuários e consumo de recursos
computacionais diante de cenários distintos para aplicações Web na Internet [6][7][8].
Apresentação: dia: DD/MM/AAAA, hora: XX:YY, local: LLLL
-
Título: Análise de desempenho de jogos no combate ao SARS-CoV-2
TG:
Proposta inicial: aqui
Autor(a): Édipo Ândersen Freitas e Silva
Curso: Ciência da Computação
Orientador(a): Giordano Ribeiro Eulalio Cabral
Possíveis Avaliadores: Geber Lisboa Ramalho
Resumo da Proposta:
Da economia até a saúde, o surto mundial de coronavírus tem causado
preocupação nos mais diversos setores do planeta. A abordagem governamental
atual é a de adotar medidas que tendem a viabilizar a estadia da população em
suas casas¹ e a conscientizar. O trabalho apresentado aqui tem o objetivo de
analisar a eficácia dessas abordagens comparados a um jogo psicoterapêutico e
educativo. Para esse propósito, será desenvolvido um jogo seguindo uma
metodologia de design voltada para crianças e adolescentes² aliado às informações
de prevenção do vírus³. Dito isso, espera-se que com esse trabalho se desenvolva
um produto que possa se provar mais eficiente que outros meios utilizados. Sendo
válido tanto em sentido de bem-estar quanto de informação.
Apresentação: dia: DD/MM/AAAA, hora: XX:YY, local: LLLL
-
Título: Detecção de anomalias em dados de medidores inteligentes
TG: aqui
Proposta inicial: aqui
Autor(a): Fillipe de Menezes Cardoso da Silva
Curso: Ciência da Computação
Orientador(a): Luciano Barbosa
Possíveis Avaliadores: Paulo Salgado
Resumo da Proposta:
As distribuidoras de energia estão adotando novos sistemas de transmissão
e distribuição que permitem uma medição mais detalhada do padrão de consumo de
energia dos clientes. Em contraste com o sistema antigo de medição, que registra o
consumo de uma residência como um agregado mensal, as novas medições
realizadas por medidores inteligentes contêm uma granularidade menor, medindo
informações de consumo em intervalos de poucos minutos.
Com base nesse cenário a proposta do trabalho é criar um sistema de
detecção de anomalias para os dados de consumo medidos por medidores
inteligentes, o objetivo é que o sistema possa auxiliar os técnicos da distribuidora a
tomar decisões com base nos alertas do sistema. Também será realizado a
comparação de diversos algoritmos de detecção de anomalias para séries
temporais, como o MAD, S-ESD, ARIMA, Holt Winters e Prophet.
Apresentação: dia: 10/03/2020, hora: 10:00, local: Google Meet.
-
Título: Uso de operadores de janela em Processamento Complexo de Eventos utilizando
CEPSwift
TG:
Proposta inicial: aqui
Autor(a): Franclin Cabral Menezes de Oliveira
Curso: Ciência da Computação
Orientador(a): Kiev Gama
Possíveis Avaliadores: Fernando José Castor de Lima Filho
Resumo da Proposta:
Dada a quantidade de uma possível infinidade de eventos, o uso de operadores de janela
são interessantes para criação de um subconjunto de eventos para um processamento mais
profundo desses eventos. Para isso, este trabalho dará continuidade ao desenvolvimento do
framework CEPSwift adicionando operadores de janela, do tipo sliding window e Thumbling
window, e migrando o framework para uma abordagem utilizando a nova API Combine da Apple
reduzindo a necessidade do uso de bibliotecas externas reativas como.o RxSwift utilizado no
projeto, e dando prioridade as bibliotecas nativas do próprio swift 5.1, utilizando-se do poder da nova api e sua forma declarativa para o uso em Processamento de Eventos Complexos e uma
forma mais simples de descrever os novos eventos complexos.
Apresentação: dia: DD/MM/AAAA, hora: XX:YY, local: LLLL
-
Título: Classificação de Infoboxes Através do Uso de Técnicas de Recuperação da Informação
TG: aqui
Proposta inicial: aqui
Autor(a): Gabriela Leal Magalhães
Curso: Ciência da Computação
Orientador(a): Luciano Barbosa
Possíveis Avaliadores:
Resumo da Proposta:
A Wikipédia é uma grande fonte de conhecimento online continuamente
construída por diversos colaboradores voluntários ao redor do mundo. Uma das
tarefas realizadas por esses colaboradores é a definição do template do infobox
presente na página do seu artigo, o que consiste em o editor escolher um template
adequado para o conteúdo do artigo entre uma lista de templates. Levando isso em
consideração, uma atividade que vem sendo estudada é a classificação automática
de templates de infoboxes a partir de informações presentes no texto do artigo para
dar suporte aos editores na escolha do template mais adequado para os artigos.
Este trabalho tem como objetivo implementar e analisar abordagens de recuperação
de informação e classificação de texto sugeridas na literatura, como o uso de bag of
words, representações de entidades em base de conhecimento e embeddings de
palavras, como solução para o problema de classificação de templates de infobox.
Apresentação: dia: 03/12/2020, hora: 09:30, local: Google Meet.
-
Título: Gerência de Projetos de TI em um mundo pós pandemia: Um vislumbre do futuro
TG:
Proposta inicial: aqui
Autor(a): Homero Barros da Costa Júnior
Curso: Ciência da Computação
Orientador(a): Hermano Perrelli De Moura
Possíveis Avaliadores: Carina Frota Alves e Alex Sandro Gomes
Resumo da Proposta:
A gestão de projetos é um dos ramos mais importantes da computação,
principalmente quando se fala em conseguir tirar um projeto do “oceano” das
idéias direto para o mercado. Negligenciada em vários aspectos, a técnica de
gerência de projetos se mostra ainda mais necessária em um período onde as
estruturas de comunicação começam a mudar bruscamente. Muitas soluções de
trabalho home office, semipresencial e presencial já foram abordadas por
pesquisadores da área de gestão de projetos.
Em nenhum caso porém houve uma mudança tão necessária e tão brusca como
atualmente. Esse trabalho de graduação tem como objetivo estudar as mudanças
orgânicas que ocorreram nas empresas de TI e como isso afetou o seu método
de organização dos projetos.
Apresentação: dia: DD/MM/AAAA, hora: XX:YY, local: LLLL
-
Título: Biometria facial com poucas imagens de treinamento usando
Arquiteturas Profundas
TG: aqui
Proposta inicial: aqui
Autor(a): Jadson Torres Lucena
Curso: Ciência da Computação
Orientador(a): Cleber Zanchettin
Possíveis Avaliadores: Pedro Machado Manhães de Castro
Resumo da Proposta:
O projeto central objetiva investigar abordagens baseadas em arquiteturas profundas
para extração automática das características e análise de padrões de faces considerando
utilizar poucas faces como exemplo de treinamento. Em suma, tentamos replicar o
reconhecimento facial baseado no artigo “How I implemented iPhone X’s FaceID using Deep
Learning in Python”. Portanto, usamos uma rede neural convolucional (CNN) Siamesa
baseada na arquitetura SqueezeNet com Perda Contrastiva, desta forma, visando o melhor
desempenho em tempo e acurácia.
Este método objetiva marcar os pontos em diferentes posições das faces de uma
pequena base de dados, reconhecendo assim, quando uma nova face semelhante for
apresentada independente de sua variação.
Apresentação: dia: 02/12/2020, hora: 15:00, local: Google Meet
-
Título: Extração de padrões do cenário competitivo mundial de League of Legends utilizando métodos
de Subgroup Discovery
TG:
Proposta inicial: aqui
Autor(a): João Adherval Carvalho de Barros
Curso: Ciência da Computação
Orientador(a): Leandro Maciel Almeida
Possíveis Avaliadores: Cleber Zanchettin e Ricardo Prudêncio
Resumo da Proposta:
Em 2020 o League of Legends completou seu décimo aniversário, e no segundo
semestre do ano realizará também o seu décimo campeonato mundial. É notório o
crescimento dos esportes eletrônicos nos últimos anos, tanto em número como em
relevância, batendo a marca de 100 milhões de usuário ativos por mês em 2016 em
comparação aos 15 milhões em 2011. Em 2019, o League of Legends registou um crescimento ano-a-ano na casa dos
20%, com o mundial do mesmo ano registrando um aumento no número de views
(nas plataformas de streaming YouTube e Twitch) em todas as fases do evento de
pelo menos 30%, melhorando em relação aos 20% de crescimento dos torneios de
2017 para 2018. Com números absolutos chegando 900 mil (2019), 450 mil (2018) e
400 mil (2017) na final, e em 2018 o World Championship se tornou o evento de
eSports mais assistido do mundo com aproximadamente 100 milhões de
visualizações únicas. Recentemente as principais ligas regionais (major regions) do League of Legends
competitivo adotaram o modelo de franquia. Processo iniciado pela League of
Legends Pro League (LPL - China), posteriormente seguido pela League of Legends
Championship Series (LCS - América do Norte), League of Legends European
Championship (LEC - Europa) e neste ano pela League of Legends Champions
Korea (LCK - Coréia do Sul). No Sumemr Split de 2020, as major regions registraram average views de 220 mil
(LCK - Coréia do Sul), 11 milhões (LPL - China), 300 mil (LEC - Europa) e 200 mil
(LCS - América do Norte), e picos na marca de 823 mil (LCK - Coréia do Sul), 56
milhões (LPL - China), 1 milhão (LEC - Europa), 545 mil (LCS - América do Norte).
O modelo de franquias proporciona uma maior estabilidade para as organizações
participantes com a divisão das receitas e permite o investimento a longo prazo
dentro das próprias equipes. Isso proporcionou um aumento na competitividade
dentro das competições, com mais investimentos, e consequentemente uma busca
cada vez maior por melhores resultados. Desta forma, assim como tem sido nos esportes tradicionais como basquete,
futebol, beisebol, corridas, o uso de dados e análise de dados tem se mostrado
cada vez mais relevante para a preparação das equipes durante os campeonatos
regionais e mundiais, com profissionais com títulos de Head of Data Science,
Analyst, Performance Manager, Strategic Coach, etc, dentro das organizações.
Esse trabalho tem como objetivo aplicar técnicas já conhecidas de Subgroup
Discovery, uma técnica de indução descritiva que consegue extrair relações
relevantes entre variáveis relacionadas à variável alvo, que possui diversas
aplicações em situações reais, desde o domínio de saúde à dados
financeiros/comerciais à aprendizado.
Desta forma, buscar a identificação de padrões em dados das partidas competitivas
das ligas regionais de League of Legends ao redor do mundo, utilizando algoritmos
que implementam técnicas conhecidas de Subgroup Discovery, tais quais Busca
Exaustiva, Beam Search e Algoritmos Evolutivos, avaliando e comparando os
resultados delas, buscando a viabilidade para o uso em situações reais dentro do
cenário competitivo de e-sports.
Apresentação: dia: DD/MM/AAAA, hora: XX:YY, local: LLLL
-
Título: Replay de jogos usando o input do usuário
TG:
Proposta inicial: aqui
Autor(a): João Ricardo dos Santos
Curso: Ciência da Computação
Orientador(a): Geber Lisboa Ramalho
Possíveis Avaliadores: Judith Kelner e Aluizio Araújo
Resumo da Proposta:
No mercado digital e no desenvolvimento tecnológico, percebesse o impacto que é
fazer o planejamento de produtos e serviços baseado no seu cliente. Das diferentes formas
de entender os comportamentos dos usuários no decorrer do uso de uma aplicação, os
dados analíticos auxiliam a visualizar as fraquezas, oportunidades e problemas dessa
aplicação. Mas armazenar de forma inteligente e tratar esses dados, torna o trabalho inicial
de projetar os eventos e da manutenção e interpretação dos dados em tempo hábil custoso.
O trabalho se torna maior na área de jogos, onde variados modelos de negócio
giram em torno do usuário retornar para o jogo no dia seguinte. Para isso é preciso
entender o que o fez retornar para o jogo. Essas informações são primariamente obtidas
pelos dados de gameplay do jogador [1], pois as variadas categorias de dados dão muito
mais informação do contexto externo do jogador (nome, localização ou compras por
exemplo), do que o jogador está fazendo internamente no jogo.
Por exemplo, podemos ter a seguinte situação capturada de dados de gameplay: “O
avatar do jogador está se movimentando pela grama, a uma velocidade constante,
enquanto prepara seus dois ataques para serem executadas contra dois inimigos que estão
parados, ambos com metade da sua vida original, mas armados.” Esse tipo de informação
pode ser mais ou menos granular, podendo ser obtida a cada frame ou quando uma
alteração do estados do mundo ou dos npcs for feita.
Esses dados são utilizados com o objetivo recriar a sessão de gameplay do jogador,
para observar todo o comportamento em uma visão macro e no visual do jogo. Desse replay
de jogo: programadores, game designers, produtores e vários outras partes interessadas
podem extrair informações importantes das suas áreas de atuação, como por exemplo:
programadores podem entender mais condições com que bugs são gerados; produtores
podem analisar o comportamento e pivotar decisões mais direcionadas ao que usuário faz.
Esses dados de gameplay já nos permitem determinar, registrar e analisar ao nível
de granularidade de ação do usuário durante uma sessão do jogo [1], como por exemplo:
“Equipar um determinado item em um avatar que o usuário controla”. Mas eles não
permitem analisar o que o usuário tentou fazer durante a sessão do jogo, mas não executou
como era esperado: “O usuário está jogando um quebra cabeças digital e está fazendo
variadas combinações de peças semelhantes entre si, mas muitas vezes, acaba arrastando
a peça próximo ao botão de sair do jogo e fecha aquela sessão”. Como comentado acima, a granularidade por ação do usuário não permite recriar
uma sessão de jogo por completo, visto que são registradas as ações diretas dos usuários
[1]. Nesse sentido, nosso objetivo é capturar os dados de gameplay usando a granularidade
de input, para termos o registro das falhas ou tentativas de executar essas ações.
Além disso, faremos um levantamento de gameplay onde esse tipo de análise tem
um grande impacto e como ele facilitaria o reconhecimento de problemas e a agilidade do
processo do desenvolvimento de jogos. Esse levantamento será focado em apps
direcionado ao público infantil, visto a importância de entender o que a criança tentou
realizar e trabalhar o app diretamente para evitar situações indesejadas.
A trabalho será dividido em 3 etapas gerais: Desenvolver uma ferramenta que possa fazer tanto o registro dos inputs do usuário como possa simular posteriormente todas as interações necessárias
para serem fechadas o gameplay; Fazer o levantamento de gameplays em app direcionados ao público infantil onde essas técnicas de replay usando input seriam verificadas e fazer uma avaliação dos resultados obtidos do replay para verificar se correspondem às situações levantadas e as perguntas levantadas pelo avaliador.
Apresentação: dia: DD/MM/AAAA, hora: XX:YY, local: LLLL
-
Título: Usando Transformações de código para melhorar detecção de conflitos de teste através de ferramentas de geração de testes unitários
TG:
Proposta inicial: aqui
Autor(a): João Pedro Ramos Moisakis
Curso: Ciência da Computação
Orientador(a): Paulo Henrique Monteiro Borba
Possíveis Avaliadores: Breno Alexandro Ferreira de Miranda e Marcelo d'Amorim
Resumo da Proposta:
Durante o desenvolvimento colaborativo de software, diferentes desenvolvedores
podem realizar mudanças a um mesmo conjunto de arquivos dependentes entre si. Neste
sentido, sistemas de controle de versão são amplamente utilizados com o objetivo de
aumentar a produtividade do time, considerando que contribuições individuais de
desenvolvedores podem ser realizadas em paralelo. Por exemplo, a criação de branches de
desenvolvimento para uma dada contribuição individual, e posteriormente, sua integração
com outras contribuições, processo que é conhecido como cenário de merge.
Apesar dos benefícios alcançados pelo uso de ferramentas de controle de versão,
durante a tentativa de integrar contribuições de diferentes desenvolvedores, conflitos
podem ocorrer impactando negativamente a produtividade do time e a qualidade do
software desenvolvido [1], [2]. Estes conflitos podem se manifestar em diferentes estágios
durante um cenário de merge. Conflitos de merge ocorre já durante a tentativa falha de
integração das contribuições, enquanto conflitos de build e teste durante a tentativa falha de
gerar um arquivo executável do programa, que inclui a execução dos testes durante o
processo de build. Ferramentas de merge convencionais apresentam limitações no reporte
de conflitos de merge com o alto número de falsos positivos. Mesmo usando ferramentas
mais inteligentes, nem todos os conflitos podem ser detectados e tratados. Assim, a
resolução destes conflitos é realizada via intervenção do integrador, que ainda assim pode
resolver estes conflitos e ocasionar outros problemas posteriores.
Neste sentido, conflitos de teste são causados por mudanças de comportamento
não esperadas durante a integração, quando a build e o merge não apresentaram nenhuma
falha, mas o resultado do merge comprometeu determinada funcionalidade,
consequentemente, não conseguem ser identificados por ferramentas de teste comuns por
seu impacto ser a nível semântico. Conflitos de teste representam um desafio no que diz
respeito sua detecção e resolução, visto que é necessário conhecimento mais profundo
sobre o funcionamento do software. Como resultado, os impactos causados na qualidade
do software podem aumentar, considerando que estes conflitos, quando identificados muito
tardiamente no ciclo de vida do projeto, podem impactar o usuário final caso encontrados
no sistema em produção. Assim, custo e tempo adicionais envolvendo o time são
necessários para resolver este problema. Conflitos de teste poderiam ser detectados já durante a fase execução dos testes durante o processo de build; por exemplo, ao observar a resultados diferentes dos testes após a integração das contribuições do cenário de merge. Porém, esta abordagem nem sempre pode representar uma opção viável devido à fragilidade e baixa cobertura da suíte de testes presente no projeto. Para solucionar essa limitação, ferramentas como
Evosuite[3][4] e Randoop [5] geram testes unitários para uma dada classe, e estes testes
poderiam ser usados na detecção de conflitos de teste. Da Silva et al. [6] propõem a
ferramenta SMAT, que para um cenário de merge, utiliza essas ferramentas para gerar
testes unitários, executá-los e posteriormente, detectar mudanças que causam conflitos de
teste. Entretanto, essas ferramentas apresentam limitações, considerando que nem sempre
os testes unitários gerados podem diretamente exercitar os métodos/atributos de uma
classe envolvidos nas mudanças do cenário de merge. Através do uso de transformações
de código, podemos tornar elementos de uma classe diretamente referenciáveis pelos
testes gerados sem alterar a semântica do código, permitindo a exploração das mudanças
realizadas em cenários de merge. Este trabalho busca criar e realizar essas transformações em cenários de merge com o objetivo de avaliar o código transformado através de um estudo empírico, comparando a testabilidade do código antes e depois das transformações utilizando a ferramenta SMAT proposta anteriormente. Este estudo tem como objetivo avaliar a testabilidade de um programa com transformações de código usado por ferramentas de geração de testes de unidade
(EvoSuite e Randoop) para a criação de suítes de testes, que são usadas para a detecção
de conflitos de teste.
Apresentação: dia: DD/MM/AAAA, hora: XX:YY, local: LLLL
-
Título: Correlacionando Tabelas Estruturadas da Web com Artigos de Notícias
TG:
Proposta inicial: aqui
Autor(a): João Vasconcelos de Souza Neto
Curso: Ciência da Computação
Orientador(a): Luciano Barbosa
Possíveis Avaliadores:
Resumo da Proposta:
A Internet possui um vasto número de notícias e, muitas vezes, é cansativo de
entender um artigo e os fatos nele mencionados. Uma solução seria identificar da-
dos relevantes e, dessa forma, destacar o que é mais importante, seja com dados
estatísticos ou fatos relevantes, aumentando assim a compreensão do usuário em um
espectro mais amplo.
Este trabalho propõe analisar tabelas estruturadas na Internet, especialmente
tabelas de alta qualidade encontradas na Wikipédia, para auxiliar na compreensão
da leitura. Especificamente falando, a ideia é encontrar tabelas relacionadas aos
artigos automaticamente e, com esses artigos, treinar modelos disponibilizados no
MatchZoo.
Apresentação: dia: DD/MM/AAAA, hora: XX:YY, local: LLLL
-
Título: Um mapeamento de práticas para projetos de APIs REST
TG: aqui
Proposta inicial: aqui
Autor(a): José André Carneiro Neto
Curso: Ciência da Computação
Orientador(a): Fernando Castor
Possíveis Avaliadores: Kiev Gama e Vinícius Garcia
Resumo da Proposta:
A web de hoje se apresenta na forma de uma coleção de aplicações
interconectadas produzindo e consumindo dados. Dentro desse contexto, web
services, aplicações focadas na comunicação automatizada entre dois sistemas,
são cada vez mais prevalentes. Dentre os modelos arquiteturais propostos para a
implementação de web services um se destacou por sua simplicidade e flexibilidade,
o REST.
APIs REST, como são chamadas as interfaces que implementam os
princípios, propriedades e restrições descritos pelo REST, se tornaram sinônimo de
web service na última década. No entanto, quando aplicadas ao mundo real, as
práticas sugeridas pelo modelo não são sempre utilizadas na sua forma original,
sendo frequentemente adaptadas para suprir a necessidade da implementação.
Com esse cenário, este trabalho se propõe a mapear as práticas de projetos de
APIs REST documentadas na literatura, não se limitando à especificação original, e
avaliar o grau de adoção das mesmas em APIs REST públicas de mundo real.
Apresentação: dia: 04/12/2020, hora: 19:30, local: Google Meet.
-
Título: Extensão e análise de performance da biblioteca CEP.js
TG:
Proposta inicial: aqui
Autor(a): José Murilo Sodré da Mota Filho
Curso: Ciência da Computação
Orientador(a): Kiev Santos da Gama
Possíveis Avaliadores: Fernando José Castor de Lima Filho e Leopoldo Motta Teixeira
Resumo da Proposta:
O processamento de fluxos de informação, é algo que se mostra cada vez
mais necessário. Isso tornou a pesquisa e o desenvolvimento de ferramentas,
sistemas e aplicações que viabilizam ou facilitam o mesmo, uma grande
necessidade. Esses sistemas e ferramentas, apesar de possuírem
características que diferenciam entre si, como a arquitetura ou como funciona o
tratamento de dados, acabam seguindo modelos de processamento de eventos
bem similares [3].
Suprindo parte dessa necessidade, surge uma área nova de
Processamento de Eventos Complexos, conhecida como CEP (Complex Event
Processing). CEP, no caso, sistemas que fazem CEP funcionam combinando e
filtrando eventos simples, a fim de identificar eventos de um nível de
complexidade maior [3], para essas ações poderem ser devidamente tratadas,
tendo apenas caráter informativo ou até sendo acoplada em sistemas que
podem usufruir dessa capacidade.
Com um nível elevado de complexidade dos eventos que deseja-se tratar,
aumenta-se também a complexidade de como tratar-se dos mesmo de forma
ideal. Por isso, erros são cometidos com uma certa frequência, especialmente
pela baixa familiaridade com as linguagens de consulta nas quais esses
sistemas costumam ser implementados, linguagens essas não consideradas
muito intuitivas [3].
Uma abordagem que tenta diminuir problemas dessa natureza, é a
utilização de Linguagens Reativas (RLs), visto que linguagens reativas são
planejadas pensando no que fazer quando algo muda [5], funcionando de uma
forma similar, mas estendida e mais implícita, ao padrão Observer quanto à
propagação de mudanças. Linguagens Reativas ajudam, também, tornando o
processo de desenvolvimento mais simples, podendo ser analisado de forma
estática [4].
De forma semelhante, ambas RLs e a abordagem tradicional, usando
linguagens de consulta, conseguem receber diversas mudanças e combinações
de valores de fontes diferentes, combinar e filtrar informações de interesse, e
transferir o resultado dessas operações para às partes interessadas, a fim de
agir sobre essas informações, de forma muito similar ao que é visto em sistemas
que fazem CEP.
Tendo esses fatos em vista, diversas pesquisas relacionadas à área
foram produzidas, dando origem às bibliotecas CEPlin, CEPSwift, e CEP.js, para
poder se tratar de eventos complexos de forma reativa.
Devido ao tempo limitado de desenvolvimento da biblioteca CEP.js, teve
que ser feita uma redimensionação do escopo, o que deixa oportunidades para
sua continuação e expansão através de novas pesquisas e trabalhos.
Esse trabalho visa dar continuidade aos trabalhos dedicados a essa
biblioteca através da implementação de um subconjuntos de operadores CEP,
incrementando as capacidades e funcionalidades desta biblioteca. A fim de
validação, visa-se também desenvolver um módulo da biblioteca para permitir a
realização de testes funcionais, os quais levariam em consideração o caráter
temporal dos eventos complexos processados, que não conseguem ser
satisfatoriamente avaliados em testes unitários. De fim esta ferramenta seria
utilizada para testar os operadores implementados, validando sua adição à
biblioteca CEP.js.
Apresentação: dia: DD/MM/AAAA, hora: XX:YY, local: LLLL
-
Título: Entendendo práticas realizadas por Engenheiros de Software na
revisão de código
TG: aqui
Proposta inicial: aqui
Autor(a): Larícia Maria Mota Cavalcante
Curso: Ciência da Computação
Orientador(a): Kiev dos Santos Gama
Possíveis Avaliadores: Fernando Castor e Carla Silva
Resumo da Proposta:
A prática da revisão de código, também conhecida como code review ou peer review, é uma atividade que tem como objetivo assegurar a qualidade do código, na qual profissionais checam o código fonte para detectar bugs e fuga de padrões estabelecidos. Os benefícios dessa atividade são diversos, como compartilhamento de conhecimento entre colegas de trabalho, aumento do senso de responsabilidade, busca por melhores soluções, entre outros. A importância do code review no desenvolvimento de software pode ser percebida por meio dos benefícios observados ao usá-lo e das consequências enfrentadas ao ser dispensado, como o gasto de tempo e dinheiro para resolução
de erros não detectados por testes automatizados. O objetivo deste trabalho de graduação é o estudo das práticas realizadas por engenheiros de software de forma a identificar tanto as boas práticas quanto aquelas que podem prejudicar o andamento do projeto.
Apresentação: dia: 03/12/2020, hora: 14:00, local: Google Meet
-
Título: Análise sobre dados de desempenho acadêmico da graduação de Ciência da
Computação
TG:
Proposta inicial: aqui
Autor(a): Leonardo do Rêgo Espíndola
Curso: Ciência da Computação
Orientador(a): Valéria Cesário Times
Possíveis Avaliadores: Leandro Maciel Almeida e Edna Natividade da Silva Barros
Resumo da Proposta:
O crescimento das organizações está fortemente ligado a tomadas de
decisões corretas, logo é um ponto chave da gestão. A existência de dados
que permitam uma análise adequada maximiza as chances de seu sucesso. As
organizações geram e armazenam uma grande quantidade de dados
referentes as atividades realizadas. Desta forma, a aplicação de técnicas de
business intelligence no processo de tomada de decisão estratégica nas
organizações torna-se necessária, uma vez que decisões equivocadas podem
comprometer seu êxito [1].
De acordo com os dados do Censo da Educação Superior, publicados
pelo INEP, as taxas de evasão do ensino superior brasileiro são
alarmantes. Os dados mostram que 49% dos discentes que ingressaram no
ensino superior em 2010 abandonaram os cursos dentro de um intervalo de
cinco anos. Nas instituições privadas, a evasão chegou a 53%, e nas
instituições públicas alcançou 47% nas municipais, 38% nas estaduais e 43%
nas federais. Há diversos fatores que influenciam nesse números como a
região do país, do tipo de instituição (se pública ou privada), da organização
acadêmica (universidade, centro universitário, faculdades, instituto ou
campus), da modalidade de ensino (presencial ou a distância) além de
elementos que são precedentes à própria vida acadêmica como fatores
financeiros, socioemocionais e pedagógicos [2].
A evasão é, certamente, um dos problemas que afligem as instituições
de ensino em geral. A busca de suas causas tem sido objeto de muitos
trabalhos e pesquisas educacionais. A saída dos estudantes de forma precoce
são perdas que podem afetar as instituições em âmbitos sociais, acadêmicos e
econômicos. No setor público, são recursos investidos sem o devido retorno.
No setor privado, é uma importante perda de receitas. Em ambos os casos, a
evasão é produz ociosidade de professores, funcionários, equipamentos e
espaço físico. O estudo interno, realizado pelas instituições de ensino com
base em seus dados, pode ser muitas vezes mais detalhado porque é possível
institucionalizar-se um mecanismo de acompanhamento da evasão, registrando
os diversos casos, agrupando e analisando subgrupos, ou diferentes situações
(cancelamento, trancamento, transferência, desistência, por exemplo) e assim
organizar tabelas e gráficos que demonstrem a evolução da evasão para
buscar formas de combatê-la com fundamento nos resultados [3].
A gestão acadêmica por não ter acesso aos seus dados muitas vezes
fica incapacitada de atuar pois a intenção de evasão só é descoberta
tardiamente, quando já houve a saída do discente, ou esse já assumiu forte
intenção de deixar o curso ou instituição [4]. Com um ferramental adequado
que auxilie a gestão a ter uma visão holística da situação do aluno e seu
desempenho, é possível a construção de um plano de ação para o seu auxílio
e manutenção na instituição. Este trabalho de graduação se propõe a fornecer às gerências de
graduações uma forma de analisar o desempenho acadêmico dos alunos. Em
particular, a ferramenta tem como fim analisar as principais
métricas/indicadores como rendimento, evasão, retenção e titulação. A partir
dos dados coletados do SIG@, estes serão tratados e será construído um data
warehouse para assim serem consumidos por uma ferramenta de visualização
de dados. Com esta ferramenta poderá se diagnosticar o status da graduação
e assim facilitando a tomada de decisão.
Apresentação: dia: DD/MM/AAAA, hora: XX:YY, local: LLLL
-
Título: Ferramenta para Criação para Ambientes Virtuais 3D utilizando Portais
TG: aqui
Proposta inicial: aqui
Autor(a): Luca Ananias Moraes da Silva
Curso: Ciência da Computação
Orientador(a): Veronica Teichrieb
Possíveis Avaliadores: Giordano Ribeiro Eulalio Cabral, Sílvio de Barros Melo, Geber Lisboa Ramalho
Resumo da Proposta:
Ao longo dos anos, jogos como Portal e The Stanley Parable fascinaram o
público. Seus mundos, que funcionam de forma diferente da nossa realidade, são
responsáveis por parte deste fenômeno. Visto que grande parte destes jogos
implementam seus espaços utilizando portais, este trabalho tem como objetivo o
desenvolvimento e teste de uma ferramenta de fácil utilização para criação de tais
ambientes.
Apresentação: dia: 02/12/2020, hora: 15:00, local: Google Meet.
-
Título: Real-Time 6DoF Tracking of Rigid 3D Objects Using a Monocular RGB Camera
TG: aqui
Proposta inicial: aqui
Autor(a): Lucas Valença Rocha Martins de Albuquerque
Curso: Ciência da Computação
Orientador(a): Veronica Teichrieb
Coorientador(a): Francisco Paulo Magalhães Simões
Possíveis Avaliadores: Sílvio de Barros Melo, Tsang Ing Ren, Carlos Alexandre Barros de Mello
Resumo da Proposta:
This project proposes to develop a novel real-time 6DoF tracking approach
for 3D rigid objects using a monocular RGB camera. The proposal is to unite
modern hardware with the traditional lightweight edge-based pipeline proposed
by RAPID[1] in 1990. This pipeline will be incremented to better handle chal-
lenging scenarios, drawing inspiration and partial solutions from the current
state of the art. Necessary adaptations will be made, as well as experimen-
tation for original solutions. The work will be evaluated regarding its ro-
bustness to common challenges (e.g., clutter, partial occlusions, illumination
changes, motion blur). The evaluation will be made by direct comparison
to the publicly-available state-of-the-art approaches RBOT[2] (region-based)
and GOS[3] (edge-based, RAPID-like) through the popular benchmark datasets
OPT[4], LAVAL[5], and RBOT’s own RBOT dataset. Performance and mem-
ory footprint will also be evaluated using a commodity laptop. The idea is
to improve upon the classic edge-based pipeline and develop a solution that is
lightweight enough to be a viable alternative for a port to lesser hardware (such
as mobile) while having precision somewhat comparable (or slightly inferior) to
the state-of-the-art (albeit not necessarily being as robust to all aforementioned
challenges).
Apresentação: dia: 02/12/2020, hora: 10:00, local: Google Meet
-
Título: Um espaço de variáveis latentes para vozes humanas usando redes adversárias
TG:
Proposta inicial: aqui
Autor(a): Luiz Felipe de Barros Jordão Costa
Curso: Ciência da Computação
Orientador(a): Sérgio Ricardo de Melo Queiroz
Possíveis Avaliadores: Germano Crispim Vasconcelos, Hansenclever de França Bassani, Leandro Maciel Almeida,
Patrícia Cabral de Azevedo Restelli Tedesco, Ricardo Bastos Cavalcante Prudêncio, George Darmiton da Cunha Cavalcanti
Resumo da Proposta:
Este projeto tem por objetivo produzir uma rede GAN que gere vozes
humanas permitindo ao usuário explorar o espaço de variáveis latentes e observar
como mudam as características das vozes. Os resultados deste experimento
poderão ser utilizados para vozes de personagens na produção de vídeos
amadores, produção de áudio livros, jogos, anúncios, assistentes virtuais
humanizados, etc. Para realização do projeto, primeiramente será feita uma
pesquisa das características dos dados utilizados e das técnicas de redes
adversárias do estado da arte, para então implementar a rede e avaliar a solução.
Apresentação: dia: DD/MM/AAAA, hora: XX:YY, local: LLLL
-
Título: Estudo comparativo para migração de bancos de dados
relacionais para não-relacionais em aplicações Android
TG:
Proposta inicial: aqui
Autor(a): Otávio Vera Cruz Gomes
Curso: Ciência da Computação
Orientador(a): Leopoldo Motta Teixeira
Possíveis Avaliadores: Márcio Cornélio e Henrique Rebêlo
Resumo da Proposta:
Os bancos de dados relacionais ainda são bastante utilizados no
desenvolvimento de aplicações Web e Mobile. Desta forma, não seria diferente no
caso de aplicações Android. O uso de bancos não-relacionais tem crescido
rapidamente com o passar dos anos [1]. Os bancos relacionais são estruturados em
SQL (Structured Query Language) e necessitam que a sua estrutura seja definida
previamente. Sendo assim, alterações na estrutura podem se tornar algo bastante
difícil ou impraticável. Devido a essa pouca versatilidade dos bancos relacionais -
em se tratando de mudança de estrutura ou em armazenar dados não estruturados
- os bancos NoSQL (Not only SQL) possuem uma facilidade em se adequar e mudar
a forma que os dados são armazenados [2].
Com isso, as aplicações que utilizam bancos NoSQL conseguem escalar
facilmente por diversos servidores trazendo ganhos potenciais. Através disso, o
seguinte trabalho busca fazer uma análise comparativa e fornecer direções, para
dessa maneira identificar em quais casos e quando a migração de banco SQL para
NoSQL é adequada.
Apresentação: dia: DD/MM/AAAA, hora: XX:YY, local: LLLL
-
Título: Usando Deep Learning para análise e aprendizado de jogos
TG:
Proposta inicial: aqui
Autor(a): Paulo Henrique Muniz Barbosa
Curso: Ciência da Computação
Orientador(a): Cleber Zanchettin
Possíveis Avaliadores:
Resumo da Proposta:
O jogo de xadrez é o domínio mais amplamente estudado na história da
inteligência artificial. Os programas mais fortes baseiam-se em uma combinação de
sofisticadas técnicas de busca, adaptações específicas de domínio e funções de
avaliação artesanais que foram refinadas por especialistas humanos ao longo de várias
décadas. Em contraste, o programa AlphaGo Zero recentemente alcançou desempenho
sobre-humano no jogo de Go, através do aprendizado de reforço de tabula rasa a partir
de jogos de auto-jogo. A partir de jogadas aleatórias, e sem conhecimento de domínio,
exceto as regras do jogo, AlphaZero alcançou em 24 horas um nível sobre-humano de
jogo nos jogos de xadrez e shogi (xadrez japonês), bem como em Go,
Muitos sistemas de pôquer, criados com heurística ou aprendizado de máquina,
contam com a probabilidade de ganhar como uma entrada chave. No entanto, calcular a
probabilidade precisa usando a combinatória é um problema intratável, então, ao invés
disso, a aproximamos. A simulação de Monte Carlo é uma técnica eficaz que pode ser
usada para aproximar a probabilidade de um jogador ganhar e / ou empatar uma mão.
No entanto, sem o uso de uma tabela de pesquisa intensiva de memória ou de um
supercomputador, torna-se inviável rodar milhões de vezes ao treinar um agente com
auto-reprodução. Usando o aprendizado profundo para aproximar as probabilidades
obtidas da simulação de Monte Carlo com alta precisão, o modelo aprendido mostra-se
uma alternativa leve à simulação de Monte Carlo, o que, em última análise, nos permite
usar as probabilidades como entradas durante a auto-reprodução de forma eficiente.
Apresentação: dia: DD/MM/AAAA, hora: XX:YY, local: LLLL
-
Título: Pessoas Trans em Hackathons: Possibilidade de Eventos Geradores de Inclusão
TG:
Proposta inicial: aqui
Autor(a): Rafa Prado Santos
Curso: Ciência da Computação
Orientador(a): Kiev Gama
Possíveis Avaliadores: Fernando Castor e Carla Silva
Resumo da Proposta:
Este trabalho de graduação busca entender quais fatores influenciam na
participação e inclusão de pessoas trans e pessoas não-conformistas de gênero em
hackathons, tendo como foco a coleta de relatos, opiniões e percepções de pessoas
pertencentes a este grupo através de questionários e entrevistas. Colocar a vivência
dessas pessoas como centro da pesquisa é a prioridade desse estudo, pois há
necessidade de uma análise não superficial de um grupo já bastante marginalizado a
fim de entender na visão dessas pessoas o que realmente lhe dá o sentimento de
inclusão.
Outro objetivo dessa pesquisa é construir uma série de sugestões de como
hackathons podem ser mais inclusivos desde sua divulgação até o pós-evento. A
significância dessas sugestões se consiste em que elas serão um resultado direto das
queixas e vontades relatadas por um grupo de pessoas pertencentes a esta
comunidade, priorizando assim a solução de dores reais.
O último objetivo é a conscientização de organizadores e participantes de
hackathons de como esses eventos servem como ferramenta de ingresso, inclusão e
permanência de pessoas trans na área de tecnologia em busca da transformação
desses espaços em zonas seguras para todos, independente da identidade de gênero,
aumentando por consequência a diversidade em outras esferas, tanto acadêmicas
quanto profissionais.
Apresentação: dia: DD/MM/AAAA, hora: XX:YY, local: LLLL
-
Título: Uma Proposta de Modelagem de Ativos e Passivos Aplicada a dados
Brasileiros
Autor(a): Rodrigo Monteiro de Moraes de Arruda Falcão
Curso: Ciência da Computação
Orientador(a): Ricardo Martins de Abreu Silva
Possíveis Avaliadores: Silvio Barros Melo e Raydonal Ospina Martinez
Resumo da Proposta:
O objetivo deste estudo é desenvolver um modelo Programação Linear Estocástica Baseada em Cenários para Gestão de Ativos e Passivos (ALM), visando minimizar a alíquota
de contribuição dos fundos de pensão brasileiros. Os cenários são divididos em três categorias: baixa (lo), média (mid) e alta (high) com 25%, 50%, 25% de probabilidade,
respectivamente, traçados com séries históricas sob o horizonte de tempo mensal de 1995
a 2020. As classes de investimento abordadas são três: renda fixa (medida por CDI e
IMAB), renda variável (medida por IBovespa) e renda internacional (medida por SP500
e MSCI). O modelo foi resolvido usando o software GAMS. Os resultados preliminares
evidenciam a estratégia como uma alternativa viável sob a ótica dos patrocinadores bem
como da solvência do fundo de pensão simulado.
Apresentação: dia: 03/12/2020, hora: 16:00, local: Google Meet.
-
Título: Um Broker para Adequação de Funções ao Formato Serverless
TG:
Proposta inicial: aqui
Autor(a): Sérgio Torres Teixeira Filho
Curso: Ciência da Computação
Orientador(a): Vinícius Cardoso Garcia
Possíveis Avaliadores: Leopoldo Teixeixa e Nelson Rosa
Resumo da Proposta:
O mercado de software vem adotando cada vez mais o uso da Comptuação em Nuvem [1],
delegando a responsabilidade de gerenciar a infraestrutura das máquinas onde os sistemas estão
rodando para os provedores de Serviçõs em Nuvem. Dessa maneira as empresas que
desenvolvem software podem focar no processo de desenvolvimento e no produto ou serviço
que elas entregam.
Um modelo de Computação em Nuvem que está ganhando atenção no mercado é o
Serverless Computing [2], que poderia ser descrito como uma implementação do modelo FaaS
(Function as a Service) onde o provedor de nuvem gerencia dinamicamente a alocação de
recursos para execução de uma função ou computação em um contêiner efêmero sem que o
desenvolvedor se preocupe onde seu código está sendo executado.
Com uma aplicação complemente Serverless, você não enxerga nenhuma parte da sua
arquitetura como um recurso sendo executado em uma máquina hospedeira. Toda a lógica da
aplicação é executada num ambiente completamente elástico, o estado de sua aplicação também
é armazenada de uma maneira similarmente elástica. Serverless não significa a ausência
de servidores, mas sim que você não precisa se preocipar mais com eles [3].
A arquitetura Serverless também pode contribuir para a disseminação da cultura Devops nas
empresas, pois seria impraticável desenvolver uma aplicação Serverless sem levar em conta
como o código será executado e como ele vai interagir com os recursos que necessita para
funcionar. Afinal, o código interage com APIs Gateways, Bancos de Dados, Infraestrutura de
Mensageria e tem que garantir o provisionamento destas dependências mesmo sendo
executados em ambientes separados [4].
Objetivos: Especificar e desenvolver um Broker que ajuste funções genéricas escritas em Node.js para o formato aceito por cada provedor e faça o processo de implantação automático nos serviços
Serverless que as provedoras de Nuvem Amazon Web Services (AWS Lambda), Google
Cloud (Google Cloud Functions) e Microsoft Azure (Azure Functions) disponibilizam.
Apresentação: dia: DD/MM/AAAA, hora: XX:YY, local: LLLL
-
Título: Um estudo sobre a relação dos desenvolvedores mobile com as diretrizes de acessibilidade para deficientes visuais.
TG: aqui
Proposta inicial: aqui
Autor(a): Victor Leal Porto de Almeida Arruda
Curso: Ciência da Computação
Orientador(a): Kiev Santos da Gama
Possíveis Avaliadores: Leopoldo Motta e Francisco Soares
Resumo da Proposta:
Segundo o último censo realizado pelo Instituto Brasileiro de Geografia e Estatística
(IBGE) em 2010, existe no Brasil mais de 6,5 milhões de pessoas com deficiência visual,
sendo 582 mil cegas. Sabemos que o acesso a smartphone é cada vez mais comum, em uma pesquisa do
IBGE é 2016[2], aponta que no Brasil 77,1% da população tem acesso a algum celular e o
principal meio de acesso a internet no país.
Com o lançamento do VoiceOver em 2005 pela Apple com os iPods continuando
com o iPhones, deu-se uma nova forma para que pessoas cegas possam acessar
informação, se comunicar, fazer atividades básicas, como pedir comida e ter uma nova
maneira de laser. O VoiceOver[3] é uma ferramenta que descreve o que tem na tela, um texto escrito, um botão, identificação de componentes, serve para auxiliar a navegação em um iPhone. Já
no Android o TalkBack funciona com o mesmo propósito.
Com a experiência com o Inside The Cave[4] em 2016, um jogo que tem como
objetivo de ser competitivo para cegos e não cegos, vimos que o mundo de aplicativos
ainda tá longe do ideal, se para os apps que já de fábrica no iPhone o VoiceOver funciona
bem, a mesma afirmação não é a mesma para todos apps de terceiros, na experiência com
jogos, a parte deles nem conseguem abrir quando o Voice está ativado.
O W3C, que é a principal organização de padronização da World Wide Web, tem
desde 1999 o Web Content Accessibility Guidelines[5], um documento com diretrizes de
acessibilidade na WEB para desenvolvedores, que ganhou novas versões com o avanço da
WEB. A chegada do paradigma mobile trouxe novas preocupações de acessibilidade para
os projetos WEB, como a interação com os leitores de voz, como é o estudo de Carvalho,
Ferreira e Freire[6], interações e tamanho de tela. Em 2015 o W3C lançou o How WCAG
2.0 and Other W3C/WAI Guidelines Apply to Mobile[7], um documento com diretrizes para
projetos mobile nativos e híbridos. No contexto deste trabalho, estamos interessados em saber como é a relação dos desenvolvedores mobile com as diretrizes de acessibilidade em seus projetos, tanto sobre o conhecimento as boas práticas e aplicações nos projetos. Também entender que motivos levam as boas práticas de acessibilidades serem aplicadas ou não.
O estudo tem como objetivo também trazer um alerta aos desenvolvedores sobre o
tema, tanto trazendo a reflexão sobre o assunto, quanto com dicas para aos que quiserem
se aprofundar um pouco mais na temática.
Este trabalho de graduação possui como objetivo identificar como é relação dos
desenvolvedores mobile com o fator acessibilidade, tanto sobre o conhecimento sobre o
tema e na aplicação nos projetos.
Para isso, será feito um estudo envolvendo: Uma análise da literatura sobre aplicativos mobile e acessibilidade; Um survey com desenvolvedores mobile para maior entendimento da relação com
as diretrizes de acessibilidade; Entrevistas com desenvolvedores mobile.
O resultado esperado é ter um visão de como os desenvolvedores lidam com a
questão de acessibilidade em seus projetos e que o estudo sirva como motivação para que
exista uma preocupação maior com o tema.
Apresentação: dia: DD/MM/AAAA, hora: XX:YY, local: LLLL
-
Título: Detecção vs Evasão: Uma avaliação do cenário de detecção do
root no Android
TG: aqui
Proposta inicial: aqui
Autor(a): Vinicius Μοraes
Curso: Ciência da Computação
Orientador(a): Jéssyka Flavyanne Ferreira Vilela
Possíveis Avaliadores: Leopoldo Motta Teixeira e Vinicius Cardoso Garcia
Resumo da Proposta:
O Android é hoje o sistema operacional mais utilizado do mundo. Esse
grande número de usuários faz dele um alvo muito visado por criminosos digitais,
gerando cada vez mais desafios para os desenvolvedores de aplicativos móveis
manterem a segurança de seus usuários.
Um dos desafios aparece quando aplicações são executadas em aparelhos
rooteados, isto é, que possuam acesso root. Root é o nome do usuário que possui
as maiores permissões no Android, contudo se mal utilizado ele permite com que
todo o aparelho seja comprometido por atacantes. Além disso, existem ferramentas
para auxiliar hackers na exploração de aplicativos, que requerem dispositivos
rooteados. Assim, realizar a detecção do acesso root se tornou uma medida de
segurança adotada por alguns aplicativos. Dessa forma, o foco deste trabalho é avaliar a eficácia de técnicas para detecção de root contra métodos de evasão e propor possíveis melhorias para o
lado das detecções. Então, para atingir esse objetivo as seguintes medidas foram
realizadas: uma investigação da literatura sobre o assunto, um questionário com
usuários e desenvolvedores do Android, uma análise da eficácia dos aplicativos que
tem o objetivo de detectar o root, e também dos aplicativos mais baixados na
Google Play, e por fim, a sugestão de abordagens que atualmente podem ser
utilizadas para melhorar a detecção do root.
Espera-se que este projeto ajude na compreensão da briga entre detecção e
evasão, e permita com que aplicações cada vez mais seguras possam ser
desenvolvidas.
Apresentação: dia: 03/11/2020, hora: 10:00, local: Google Meet
Engenharia da Computação
Responsável: Prof. Adriano de Moraes Sarmento (aams@cin.ufpe.br)
-
Título: Tradução de modelo de simulação para linguagem de programação de plataforma microcontrolada
TG:
Proposta inicial: aqui
Autor(a): Alvaro Arthur Canto Sabino de Miranda Costa
Curso: Engenharia da Computação
Orientador(a): Márcio Lopes Cornélio
Possíveis Avaliadores: Juliano Iyoda, Augusto Sampaio
Resumo da Proposta: Com o objetivo de economia de tempo e custo, a simulação é utilizada para criar uma prévia do que se deseja implementar. Em robótica, além das vantagens previamente citadas, soma-se também a questão de segurança. Porém, o processo de transição para a implementação do código, nem sempre é feita de uma forma que garanta as mesmas propriedades verificadas e validadas no modelo de simulação. Este trabalho busca a resolução dessa lacuna, utilizando a notação RoboSim para gerar automaticamente código C/C++ para Arduino.
Apresentação: dia: DD/MM/AAAA, hora: XX:YY, local: LLLL
-
Título: Escalonamento de aplicações na plataforma Kubernetes utilizando algoritimos bioinspirados
TG:
Proposta inicial: aqui
Autor(a): Andre Luis Damazio de Sales Junior
Curso: Engenharia da Computação
Orientador(a): Adriano Augusto de Moraes Sarmento
Possíveis Avaliadores: Paulo Salgado
Resumo da Proposta: Em pouco mais de uma década, a nuvem consolidou-se como uma das plataformas mais importantes da computação moderna. A escalabilidade é uma característica fundamental para essa consolidação, visto que esta oferece capacidade de crescimento sob demanda para diversos serviços em diferentes estágios de desenvolvimento. Para obter-se escalabilidade, faz-se necessário entender em que momento escalar recursos computacionais. Nesse projeto, é feita a implementação e avaliação do uso de soluções Bio Inspiradas para previsão de carga em ambiente Kubernetes, e baseado nessas previsões um sistema de auto escalonamento é proposto e avaliado. Além disso é feito um comparativo com a solução nativa da plataforma.
Apresentação: dia: DD/MM/AAAA, hora: XX:YY, local: LLLL
-
Título: A Theory of Communicating Sequential Processes in Coq
TG: aqui
Proposta inicial: aqui
Autor(a): Carlos Alberto da Silva Carvalho de Freitas
Curso: Engenharia da Computação
Orientador(a): Gustavo Carvalho
Possíveis Avaliadores: Alexandre Mota
Resumo da Proposta: Teorias de concorrência tais como Communicating Sequential Processes (CSP) permitem que especificações de sistemas sejam descritas com clareza e analisadas com precisão. No entanto, o problema da explosão de estados, comum aos verificadores de modelo em geral, é uma limitação real na tentativa de verificar propriedades de um sistema complexo. Uma alternativa é garantir essas propriedades através do desenvolvimento de provas. Este trabalho fornecerá uma abordagem sobre como se pode desenvolver uma teoria de CSP no assistente de provas Coq, além de compará-la com outros frameworks baseados em provadores de teoremas para a álgebra de processos CSP. Portanto, será implementada uma infraestrutura para declarar especificações sintatica e semanticamente corretas de CSP em Coq, juntamente com um suporte nativo para a representação de processos por meio de Sistemas de Transições Rotuladas (LTSs), além de análise de refinamento no modelo de traces.
Apresentação: dia: 24/11/2020, hora: 16:00, local: LLLL
-
Título: Evaluating feature selection on End-to-End Optimization Reinforcement Learning methods for Urban Autonomous Driving
TG:
Proposta inicial: aqui
Autor(a): Carlos Fernando Coelho Valadares
Curso: Engenharia da Computação
Orientador(a): Hansenclever de França Bassani
Possíveis Avaliadores: Tsang Ing Ren
Resumo da Proposta: Enquanto humanos aparentam não ter muitos problemas para aprender a dirigir, essa tarefa ainda é um grande desafio para os carros autonomos. O software utilisado, atualmente, por carros autonomous é baseado em um pipeline modular. Este pipeline fornece informações importantes sobre como as decisões estão sendo tomadas, porém, ele torna dificil de replicar o comportamento desejado ao veículo, pois cada submodulo deve ser otimizado separadamente. Recentemente, com os avanços em Deep Learning, otimizações do tipo end-to-end começaram a surgir. Esse método consiste em subistituir o pipeline modular por um modelo Deep Learning, deixando mais fácil a otmização, mas com um custo de diminuir a interpretabilidade do sistema. Neste trabalho, exploraremos o potencial de otimizações end-to-end juntas com aprendizagem por reforço para o problema da direção autônoma. O algorithm Soft Actor-Critic é aplicado com diferentes conjuntos de observações para descobrir quais features são importantes para ter sucesso nesta tarefa. Além disso, propomos uma nova estrutura para abordar o problema da direção autônoma em ambientes urbanos, a qual introduz a noção de interpretabilidade em otimizações de aprendizagem por reforço end-to-end. Esta nova abordagem consiste em conectar algoritimos de planejamento de caminhos com controladores do tipo aprendizagem por reforço. Este novo método será avaliado e comparado com as abordagens que obtém as melhores performances no CARLA Leaderboard Challenge em cenários de navegação simples.
Apresentação: dia: 19/11/2020, hora: 11:00, local: LLLL
-
Título: Actor-Critic Architectures in Parameterized Action Space
TG: aqui
Proposta inicial: aqui
Autor(a): Cristiano Santos de Oliveira
Curso: Engenharia da Computação
Orientador(a): Tsang Ing Ren
Possíveis Avaliadores: Hansenclever de França Bassani
Resumo da Proposta: Deep Reinforcement Learning (DRL) is a method that combines Reinforcement Learning and Deep Learning. This method is assigned as a goal-oriented algorithm which learn how to reach a complex objective performing actions and receiving evaluated feedbacks from the environment. DRL is applied to solve problems in a large range of applications in domains such video-games, finance, robotics and many more. These domains are regularly composed by complex environments that contains a large set of features and a continuous action space such the RoboCup Soccer Simulator 2D (RCSS2D), an autonomous agent based simulation to mimic soccer games. For this kind of environments with continuous action space is frequently used a sub-field of the DRL: the Actor-Critic algorithms. Actor-Critic technique is one of the most powerful method used in DRL, characterized as an extension of the Policy Gradient method that combine two models which may deliberately share parameters: actor model and critic model. The Actor model perform the policy update and the Critic model updates the value function parameters that defines the state-value. This combination provides a wide flexibility to deal with the action space to better fit a problem and one of the ways to treat the action space is by parameterizing it. The objective of this work is to evaluate extended Actor-Critic architectures in a parameterized continuous action space using the RCSS2D environment.
Apresentação: dia: 24/11/2020, hora: 15:00, local: LLLL
-
Título: Algoritmo de Localização Outdoor e Indoor Fingerprinting para Estações Móveis baseado em LightGBM
TG:
Proposta inicial: aqui
Autor(a): Douglas Tavares Ribeiro Paulino Silva
Curso: Engenharia da Computação
Orientador(a): Daniel Carvalho da Cunha
Possíveis Avaliadores: Adriano Lorena Inácio de Oliveira
Resumo da Proposta: Ao longo dos últimos anos, tem observado-se um grande número de aplicações IoT e serviços para dispositivos móveis que utilizam o sistema de localização tanto outdoor quanto indoor, porém o que tem ganhado grande destaque são os serviços de localização em ambientes indoor que apresentam inovação para o marketing, segurança, saúde pública e entre outros. Uma das tecnologias bastante conhecida é o Global Positioning System (GPS), porém apresenta uma precisão baixa e acurácia média não sendo ideal para localizar o usuário em ambientes indoor e nem para aplicações IoT pelo alto consumo de bateria. Neste trabalho é proposto uma nova solução que utiliza uma técnica de localização conhecida como fingerprinting que irá utilizar Machine Learning (ML) e comparar os resultados com um artigo de referência da literatura que utiliza fingerprinting com Support Vector Regression (SVR). O algoritmo de ML proposto nesse projeto é o LightGBM que propõe manter a mesma acurácia, com um tempo de treinamento e consumo de memória menor em relação aos outros algoritmos de ML, e.g., SVR, K-NN etc. Além disso este algoritmo é ideal para treinar com um grande número de instâncias de dados e um grande número de features.
Apresentação: dia: 18/11/2020, hora: 14:00, local: LLLL
-
Título: Estudo sobre as ferramentas de avaliação de desempenhoem blockchain
TG:
Proposta inicial: aqui
Autor(a): Eder Roberto Almeida Quesado e Santana
Curso: Engenharia da Computação
Orientador(a): Paulo Romero Martins Maciel
Possíveis Avaliadores: Eduardo Antônio Guimarães Tavares
Resumo da Proposta: O sistema monetário vem sempre evoluindo com objetivo de proteger os compradores e vendedores, mas nos tempos atuais, com a proliferação de malware, spam e roubos virtuais, os bancos precisam melhorar cada vez mais seu sistema de segurança. Blockchain é uma tecnologia voltada à solução de problemas de confiabilidade e utilização ineficaz de recursos computacionais, tanto em termos financeiros quanto na realização do armazenamento e processamento de transações. Avaliar um sistema baseado em blockchain é de suma importância para entender quais recursos são mais importantes e em quais recursos computacionais investir para alcançar melhores respostas em transações por segundo. Os avaliadores de desempenho de uma blockchain visa medir a latência da transação, consumo de memoria e CPU. Este trabalho tem como objetivo fazer um estudo comparativos das ferramentas de avaliação de desempenho de blockchain. Levantando os principais pontos negativos e positivos de cada uma das ferramentas. Vale ressaltar que um trabalho dessa natureza tem como objetivo informar a comunidade das principais ferramentas da área e seus benefícios.
Apresentação: dia: DD/MM/AAAA, hora: XX:YY, local: LLLL
-
Título: Node-RED KNoT: Um módulo de integração da ferramenta Node-RED com a meta plataforma KNoT
TG: aqui
Proposta inicial: aqui
Autor(a): Esdras Barbosa Lima da Silva Junior
Curso: Engenharia da Computação
Orientador(a): Kiev Santos da Gama
Possíveis Avaliadores: Adriano Augusto de Moraes Sarmento
Resumo da Proposta: O KNoT é uma meta plataforma de código aberto para IoT que tem o propósito de simplificar a criação de soluções em IoT, reduzindo o esforço de desenvolvimento e abstraindo boa parte da conectividade necessária em um projeto do tipo. O Node-RED por sua vez é uma ferramenta de código aberto utilizada na construção de aplicações orientadas a eventos por meio de blocos visuais, chamados nodes, muito popular por possibilitar a criação de fluxos de execução sem o uso de linguagens de programação, tornando-o acessível a um vasto número de usuários. Dito isso, este trabalho tem o objetivo de criar uma biblioteca de nodes para o Node-RED com o propósito de facilitar o aprendizado, desenvolvimento e prototipação de projetos com a plataforma KNoT.
Apresentação: dia: 24/11/2020, hora: 17:00, local: LLLL
-
Título: Análise do Processo de Design e Desenvolvimento de Jogos Educacionais para Mobile
TG:
Proposta inicial: aqui
Autor(a): Eudson Matheus Alves de Souza
Curso: Engenharia da Computação
Orientador(a): Alex Sandro Gomes
Possíveis Avaliadores: Leopoldo Motta Teixeira
Resumo da Proposta: Este trabalho tem como objetivo fazer um levantamento das relações entre os processos de desenvolvimento de design, área do conhecimento e público alvo dos jogos educacionais para dispositivos móveis. As análises serão feitas a partir de revisão de literatura qualitativa, partindo das produções acadêmicas e avanços mais recentes no setor. Jogos educacionais para dispositivos móveis movimentam bilhões de dólares todos os anos, utilizando recursos de imersão e interação para transmitir conhecimento. Esse universo, interativo e conectado, criado pelos jogos auxilia o aprendizado tanto em sala de aula quanto individualmente.
Apresentação: dia: DD/MM/AAAA, hora: XX:YY, local: LLLL
-
Título: Análise do autogerenciamento e planejamento de equipes não hierarquizadas em Hackathons
TG: aqui
Proposta inicial: aqui
Autor(a): Filipe Barbosa Lima
Curso: Engenharia da Computação
Orientador(a): Kiev Santos da Gama
Possíveis Avaliadores: Hermano Perrelli Moura
Resumo da Proposta: Analisar como um grupo de pessoas que muitas vezes não se conhecem, formam uma equipe não hierarquizada num evento delimitado por tempo, Hackathon. Como as equipes lidam como gerenciamento, planejamento e distribuição de atividades por um propósito de solucionar um desafio ou realizar um projeto. E como se dá a decisão coletiva de quando uma etapa do processo está boa o suficiente para ser finalizada e poderem iniciar uma nova etapa.
Apresentação: dia: DD/MM/AAAA, hora: XX:YY, local: LLLL
-
Título: Reconhecimento de emoções utilizando Redes Neurais Convolucionais para auxiliar no tratamento de crianças com autismo
TG: aqui
Proposta inicial: aqui
Autor(a): Gabriela Alves Rodrigues
Curso: Engenharia da Computação
Orientador(a): Edna Natividade da Silva Barros
Possíveis Avaliadores: Paulo Salgado Gomes de Mattos Neto
Resumo da Proposta: O Transtorno do Espectro Autista (TEA) é um distúrbio do neurodesenvolvimento que afeta a comunicação, interação social, a forma de expressar emoções, entre outros. O entendimento das emoções exteriorizadas durante uma sessão terapêutica ajuda a criar um plano de atividades focado nas preferências da criança afim de aumentar a eficácia do tratamento. Este trabalho propõe o desenvolvimento de um módulo do reconhecimento das emoções primárias utilizando técnicas de aprendizagem de máquinas para auxiliar na análise e estudo das emoções dos portadores de TEA. O módulo será baseado em Modelos de Redes Neurais Convolucionais que serão implementados, analisados e executados na plataforma do Openvino Starter Kit, que possui um FPGA Cyclone 5.
Apresentação: dia: 27/11/2020, hora: 11:00, local: LLLL
-
Título: Um gerador de programas TypeScript baseado em Alloy
TG: aqui
Proposta inicial: aqui
Autor(a): Gabriela Araujo Britto
Curso: Engenharia da Computação
Orientador(a): Leopoldo Motta Teixeira
Possíveis Avaliadores: Paulo Borba
Resumo da Proposta: Refatoração é o processo de modificar código sem alterar seu comportamento externo. Diversas IDEs automatizam refatorações que são comumente utilizadas. Uma preocupação dos desenvolvedores de refatorações é que sua implementação preserve o comportamento do código. No entanto, garantir formalmente a corretude de uma refatoração é uma tarefa não trivial. Por isso, uma alternativa comum é utilizar suítes de teste para aumentar a confiança nas implementações. Este trabalho visa criar um gerador de programas da linguagem TypeScript para que estes possam ser utilizados como entrada para testes de refatorações da linguagem.
Apresentação: dia: 24/11/2020, hora: 14:00, local: LLLL
-
Título: Um Estudo Sobre Propriedade Intelectual em Hackathons
TG:
Proposta inicial: aqui
Autor(a): Geraldo Pereira da Silva Júnior
Curso: Engenharia da Computação
Orientador(a): Kiev Gama
Possíveis Avaliadores: Carina Frota Alves
Resumo da Proposta: Os eventos de Hackathons, cada vez mais populares, se mostram uma ferramenta de aprendizado e socialização muito importante para os participantes. Onde eles ajudam socialmente ou corporativamente a sociedade ou os patrocinadores. Há um desafio muito grande dos organizadores em especificar melhor em seus regulamentos a quem pertence a propriedade intelectual dos códigos ou ideias utilizadas durante o processo de desenvolvimento do evento. Muitos dos participantes não sabem como funciona ou trocam o seu direito à propriedade intelectual. Esse trabalho visa comprovar através de uma análise qualitativa utilizando como metodologia principal a teoria fundamentada dos dados se os participantes realmente estão cientes dos seus direitos de propriedade intelectual e através de entrevistas e análise de regulamentos de Hackathons, as motivações para ceder, ou não, os direitos à propriedade intelectual do produto criado por eles.
Apresentação: dia: DD/MM/AAAA, hora: XX:YY, local: LLLL
-
Título: Testes in-the-loop de model based designs
TG:
Proposta inicial: aqui
Autor(a): Gilberto Andrade Sousa Junior
Curso: Engenharia da Computação
Orientador(a): Adriano Sarmento
Possíveis Avaliadores: Juliano Iyoda, Edna Barros
Resumo da Proposta: Atualmente,os sistemas embarcados estão altamente presentes,participando das mais diversas áreas. No campo automotivo, esta tecnologia é crucial, sendo utilizada no controle de muitas partes dos veículos como: comunicação, motor, injeção eletrônica, freios ABS e Airbags. Muitos destes são sistemas críticos e quaisquer falhas neles podem ser fatais. Por isso,tais controladores precisam ser exaustivamente testados. Desta forma, o objetivo deste trabalho será criar uma ferramenta capaz de realizar corretamente os testes de Model-in-the-loop (MIL) para modelos de software em sistemas embarcados para veículos.
Apresentação: dia: DD/MM/AAAA, hora: XX:YY, local: LLLL
-
Título: Análise e otimização do posicionamento de drones para coleta de dados de sensores móveis
TG: aqui
Proposta inicial: aqui
Autor(a): Igor Dias da Silva
Curso: Engenharia da Computação
Orientador(a): Tsang Ing Ren
Possíveis Avaliadores: George Darmiton da Cunha Cavalcanti, Luciano Barbosa
Resumo da Proposta: Drones se mostraram uma solução viável para a coleta de dados gerados por sensores móveis quando não existe uma infraestrutura de comunicação disponível. Os drones formam uma rede ad-hoc aérea que os sensores podem usar para se comunicar com a estação base. Nosso objetivo é construir essa rede de comunicação de forma que os sensores móveis estejam conectados a estação base a qualquer momento. Isso significa que os drones precisam cobrir todos os sensores e formar um caminho até a estação base sempre. Neste trabalho, nós modelaremos o posicionamento dos drones ao longo do tempo para construir essa rede de comunicação usando programação linear, fornecendo a conectividade desejada e minimizando a distância percorrida e energia consumida pelos drones.
Apresentação: dia: 26/11/2020, hora: 11:00, local: LLLL
-
Título: Combate a propagação de notícias falsas no Twitter através de uma abordagem multiagente: uma visão geral das soluções e propostas
TG: aqui
Proposta inicial: aqui
Autor(a): Igor Otacilio Barbosa da Silva
Curso: Engenharia da Computação
Orientador(a): Patricia Cabral de Azevedo Restelli Tedesco
Possíveis Avaliadores: Filipe C. A. Calegário
Resumo da Proposta: As redes sociais se mostraram uma grande ferramenta na busca por informações cotidianas sobre diversos assuntos, não só os pessoais. Contudo, este hábito se tornou um grande trunfo na disseminação de mentiras e notícias falsas no Facebook, Twitter, Instagram e WhatsApp para finalidades diversas, desde teorias da conspiração até engajamento político. Após uma revisão sistemática para buscar as técnicas utilizadas na área da ciência da computação, foi descoberto diversos modelos e algoritmos implementados desde análise de dados a utilização de técnicas de aprendizagem de máquina para identificar e combater os focos de propagação desses conteúdos maliciosos. Os modelos de sistemas multiagentes apresentam muitas técnicas e estudos relativos ao combate de fake news e são esses trabalhos com técnicas de Deep Q-Learning, ou Deep Q-Networks, elaboradas com estratégias variadas que serão analisadas nesse trabalho, tomando como base o algoritmo, eficiência e desempenho em relação aos dados computados e ambientes de simulação em processos estocásticos, como o ponto de processamento multivariado de Hawkes para, por fim, indicar possíveis falhas e melhoras nos sistemas propostos. Palavras-chave: Sistemas Multiagentes; Agentes Autônomos; Análise de Desempenho; Processos Estocásticos; Deep Learning; Reinforcement Learning;
Apresentação: dia: 24/11/2020, hora: 16:00, local: LLLL
-
Título: Sistema Móvel de Detecção de Glaucoma Utilizando Técnicas de Inteligência Artificial e Processamento de Imagens
TG:
Proposta inicial: aqui
Autor(a): Jailson Jose Gomes da Silva Junior
Curso: Engenharia da Computação
Orientador(a): Adriano Augusto de Moraes Sarmento
Possíveis Avaliadores: Patrícia Tedesco, Carlos Alexandre
Resumo da Proposta: O Glaucoma é uma doença ocular irreversível que danifica os nervos da retina e afeta negativamente a qualidade de vida das pessoas. Portanto, a detecção da doença no início passa a ser de extrema importância. Os métodos clínicos automatizados são amplamente utilizados em grandes centros. Contudo, regiões remotas tem dificuldade no acesso a estes exames. Visto a falta de mobilidade e alto custo das ferramentas. Com o avanço na área de inteligência artificial e processamento de imagem mais modelos de detecção da doença têm sido criados. Este trabalho tem como objetivo criar uma ferramenta móvel de detecção de glaucoma por meio de técnicas de inteligência artificial e processamento de imagens, utilizando a plataforma Android.
Apresentação: dia: DD/MM/AAAA, hora: XX:YY, local: LLLL
-
Título: Análise comparativa da performance entre máquina de vetores de suporte e abordagem híbrida inteligente evolucionária para previsão de ações de bancos da bolsa de valores brasileira
TG: aqui
Proposta inicial: aqui
Autor(a): Joao Antonio Cunha Silva
Curso: Engenharia da Computação
Orientador(a): Paulo Salgado Gomes de Mattos Neto
Possíveis Avaliadores: Luciano de Andrade Barbosa
Resumo da Proposta: Neste trabalho, compararemos a performance de dois modelos distintos de Rede Neural Artificial (RNA), sendo uma Máquina de Vetores de Suporte (SVM) [4] e uma abordagem híbrida inteligente evolucionária proposta por de Mattos Neto et al. [2], na modelagem do problema de prever o comportamento das ações de quatro grandes bancos que estão na bolsa de valores brasileira, sendo eles: Banco Itaú (ITUB4); Banco do Brasil (BBAS3); Banco Bradesco (BBDC4) e Banco Santander (SANB11). Para tanto, realizaremos experimentos com os dados do valor de fechamento diário destas ações entre os anos de 2010 a 2019, encontrados publica e gratuitamente no site da B3 (bolsa de valores brasileira). A performance de ambos será medida através das métricas citadas por [2] e [4], e análises comparativas dos resultados serão realizadas posteriormente.
Apresentação: dia: 24/11/2020, hora: 14:00, local: LLLL
-
Título: Estudo sobre priorização de alertas para violação em tempo de execução
TG: aqui
Proposta inicial: aqui
Autor(a): Lucas Costa Cabral
Curso: Engenharia da Computação
Orientador(a): Marcelo D'amorim
Possíveis Avaliadores: Breno Miranda, Henrique Rebelo
Resumo da Proposta: A verificação em tempo de execução (RV) é uma técnica que visa monitorar o comportamento de um sistema à medida em que ele executa. Esta técnica diminui a distância entre especificações formais e as suas implementações, podendo ser utilizada para encontrar falhas em um sistema. Para a máquina virtual de Java, existem algumas ferramentas de RV. Dentro da comunidade científica, uma que tem sido bastante usada é o JavaMOP, ferramenta que se mostrou capaz de encontrar bugs em projetos sérios de software (e.g.: joda-time, apache.gora, asterisk-java ...). Apesar da RV auxiliar na busca de violações no uso de api’s, na maioria dos casos estas são falso-positivas, fazendo com que os desenvolvedores precisem verificar manualmente se cada violação é, ou não, um bug, desencorajando o seu uso. Tendo isso em vista, foi desenvolvido o run-time verification prioritizer (rvprio), cuja função é priorizar as violações geradas pelo JavaMOP de forma que apenas as violações que são falhas de software estejam no topo da lista. Esta ferramenta mostrou bons resultados, atingindo 90\% da eficiência de um priorizador ótimo (que coloca todos as falhas no topo da lista). Contudo, a quantidade de violações catalogadas ainda é muito pequena e as features extraídas muito simples. Dito isso, esse trabalho almeja aumentar a quantidade de instâncias disponíveis de violações catalogadas e elaborar sobre quais são as propieadades do código violador que estão mais relacionadas a falhas de software.
Apresentação: dia: 27/11/2020, hora: 10:00, local: LLLL
-
Título: Sistema de Monitoramento do Uso dos Equipamentos no Laboratório de Hardware baseado em RFID
TG: aqui
Proposta inicial: aqui
Autor(a): Lucas Eliseu de Amorim
Curso: Engenharia da Computação
Orientador(a): Edna Natividade da Silva Barros
Possíveis Avaliadores: Stefan Michael Blawid
Resumo da Proposta: O desenvolvimento dos sistemas embarcados tem possibilitado um aumento no número de aplicações embarcadas nas mais diversas áreas. Valores como, segurança e suporte a tomada de decisão mais eficientes são agregados aos sistemas implementados. O Centro de Informática da Universidade Federal de Pernambuco, dispõe de um laboratório de hardware. Disponível para acesso com crachá RFID 24 horas por dia e 7 dias por semana, com baias que guardam equipamentos para uso dos alunos. Porém, a abertura das baias depende um monitor, que se encarrega de monitorar uso e extravio dos equipamentos. O objetivo do trabalho é desenvolver um sistema para abertura das baias através de crachá RFID e monitorar o uso dos equipamentos.
Apresentação: dia: DD/MM/AAAA, hora: XX:YY, local: LLLL
-
Título: Formalização em Coq de uma linguagem de processos para ioco
TG: aqui
Proposta inicial: aqui
Autor(a): Lucas Vinicius da Costa Santana
Curso: Engenharia da Computação
Orientador(a): Gustavo Henrique Porto de Carvalho
Possíveis Avaliadores: Márcio Lopes Cornélio
Resumo da Proposta: Qualidade de software e minimização de erros em sistemas são temas que ganham cada vez mais atenção na indústria e na academia. Erros, principalmente em sistemas críticos, podem levar à insatisfação dos usuários ou grandes prejuízos. Com o intuito de melhorar a qualidade destes sistemas tão utilizados na sociedade moderna, várias técnicas de desenvolvimento de testes foram criadas. Porém, testes criados de maneira manual podem custar muito e ter erros introduzidos durante a sua criação manual. Visando atacar parcialmente estes problemas, foram propostos métodos de geração automática de testes, principalmente os baseados em Model-Based Testing. A corretude destas ferramentas também pode ser contestada, tendo em vista que estas também são softwares desenvolvidos por seres humanos. É neste contexto que surge o interesse pelo desenvolvimento de abordagens formais de geração automática de testes. Em particular, ioco é uma relação de conformidade utilizada para desenvolver uma estratégia formal e correta de geração automática de testes. Em um trabalho anterior, formalizou-se parte da teoria de testes de ioco utilizando o assistente de provas Coq. Este trabalho prévio faz uso de Labelled Transition Systems (LTS) para especificar os modelos que descrevem o funcionamento esperado do sistema a ser testado. Entretanto, descrever modelos através de LTSs pode ser custoso e até inviável para sistemas mais complexos. Tendo esse problema em vista, este trabalho permite descrever modelos de uma maneira mais simples, através de uma linguagem de processos.
Apresentação: dia: 23/11/2020, hora: 09:00, local: LLLL
-
Título: Estudo sobre entendimento e disseminação das técnicas de integração, entrega e implantação continuas nas empresas de Recife
TG:
Proposta inicial: aqui
Autor(a): Mateus Valgueiro Teixeira
Curso: Engenharia da Computação
Orientador(a): Paulo Henrique Monteiro Borba
Possíveis Avaliadores: Vinicius Cardoso Garcia, Kiev Santos da Gama
Resumo da Proposta: As práticas de integração, entrega e implantação continuas (Continuous Integration, Continuous Delivery e Continuous Deployment) já estão presentes no cotidiano de grandes empresas de todo o mundo. E isto é devido, entre outras coisas, aos comprovados benefícios que a utilização destas técnicas trazem para a equipe e para o produto em desenvolvimento. Mesmo assim, poucos são os estudos que pesquisam a respeito do estado da arte destas práticas nas empresas, principalmente no contexto da cidade de Recife. Há também um grande equívoco em relação a nomeclatura das práticas e a real utilização das mesmas em vários aspectos no processo de desenvolvimento software. A utilização de termos e softwares voltados para práticas que não são seguidas de fato por muito projetos que os utilizam levam a um ambiente não saudável de desenvolvimento. Neste contexto, o presente trabalho objetiva a realização de uma pesquisa quantitativa para entender como as práticas de integração, entrega e implantação continuas foram implantadas no contexto recifense, assim como avaliar o entendimento dos termos utilizados com os desenvolvedores locais.
Apresentação: dia: DD/MM/AAAA, hora: XX:YY, local: LLLL
-
Título: Diretrizes de ramificação para projetos de Software desenvolvidos por equipes pequenas
TG:
Proposta inicial: aqui
Autor(a): Mayara Cavalcanti de A. Moreira
Curso: Engenharia da Computação
Orientador(a): Márcio Lopes Cornélio
Possíveis Avaliadores: Kiev Gama
Resumo da Proposta: Implementar e realizar manutenção de uma solução de software não é uma tarefa fácil quando se envolve uma equipe de desenvolvedores. Alterações de um desenvolvedor pode afetar o trabalho de outros. O trabalho proposto visa propor diretrizes para que o desenvolvimento e manutenção do produto por equipes pequenas, para que a qualidade do software não seja reduzida por problemas que podem ser resolvidos antes que a solução esteja disponível para o cliente final.
Apresentação: dia: DD/MM/AAAA, hora: XX:YY, local: LLLL
-
Título: Detecção de doenças de videiras por meio de imagens digitais
TG: aqui
Proposta inicial: aqui
Autor(a): Thiago de Moura Silva
Curso: Engenharia da Computação
Orientador(a): Fernando Maciano de Paula Neto
Possíveis Avaliadores: Tsang Ing Ren
Resumo da Proposta: A tecnologia da informação está presente em todas as áreas, inclusive na agricultura. O Brasil possui mais de 74 mil hectares de área plantada com videiras. Essas plantações sofrem com problemas fitossanitários que, se não contornados, podem trazer sérios prejuízos econômicos e diminuir a vida útil das videiras. Na computação, a visão computacional e a aprendizagem de máquina tem estado cada vez mais em destaque. Atualmente, a aprendizagem de máquina tem sido bastante usada para resolver este tipo de problema, ao utilizar técnicas envolvendo redes neurais convolucionais, por exemplo. Porém, apesar da grande quantidade de aplicações já desenvolvidas na área, ainda há espaço para aperfeiçoamentos em situações específicas, como por exemplo o uso deste tipo de algoritmo na plantação de videiras. Este trabalho visa realizar um estudo das principais técnicas de classificação em imagens e realizar testes para a classificação de doenças em plantação de videiras. Também serão experimentadas diferentes otimizações nos algoritmos e técnicas de processamento de imagens a fim de aprimorar o processo.
Apresentação: dia: 24/11/2020, hora: 10:00, local: LLLL
-
Título: Sistema de play-along com Source Separation Integrado
TG: aqui
Proposta inicial: aqui
Autor(a): Vinicius Bezerra Araujo da Silva
Curso: Engenharia da Computação
Orientador(a): Giordano Ribeiro
Possíveis Avaliadores: Geber Ramalho, Filipe Calegário
Resumo da Proposta: Source Separation é um desafio que tem várias aplicações e é conhecido há algumas décadas na área de computação musical e processamento de áudio. Com o advento de algoritmos de redes neurais profundas, desenvolveu-se técnicas de Source Separation que se mostraram promissoras. A ​Deezer desenvolveu uma ferramenta Open Source de Source Separation usando algoritmos de redes profundas chamada ​Spleeter​. Este trabalho tem como objetivo criar uma ferramenta de aprendizado e experimentação musical a partir de um aplicativo móvel que possui um sistema de Source Separation integrado, ​Spleeter​, utilizando a plataforma iOS.
Apresentação: dia: 27/11/2020, hora: 15:00, local: LLLL