1º Workshop de Teses de Doutorado em Ciência da Computação

O Workshop de Teses é uma oportunidade de o aluno anunciar o objeto de sua pesquisa, discutir desdobramentos importantes relacionados ao assunto e apresentar e receber contribuições valiosas à atividade de pesquisa. Visitantes são bem-vindos.

 
Programa do 1o. Workshop de Teses de Doutorado (horário de Goiânia):
 
Quinta-feira (14/08)
      - 08:30 - Raphael de Aquino Gomes
      - 09:00 - Bianca de Almeida Dantas
      - 09:30 - Francisco José Silveira de Vasconcellos
      - 10:00 - Intervalo
      - 10:15 - Christiane Nishibe
      - 10:45 - Willian Paraguassu Amorim
      - 11:15 - Marcos Paulo Moro
 
Sexta-feira (15/08)
       - 08:30 - Halley Wesley Alexandre Silva Gondim
       - 09:00 - Phelipe Araujo Fabres
       - 09:30 - Anderson Corrêa de Lima
       - 10:00 - Intervalo
       - 10:15 - Leandro Alexandre Freitas
       - 10:45 - Walid Abdala Rfaei Jradi
       - 11:15 - Rodrigo Funabashi Jorge
 
############################
 
Resumo das apresentações:
 
- Aluno: Raphael de Aquino Gomes
- Orientador: Fábio Moreira Cista
- Subárea(s) em que seu trabalho se insere: Sistemas de Computação (Sistemas Distribuídos)
- Título do trabalho: Implantação Dinâmica de Coreografias com Qualidade de Serviço em Múltiplos Ambientes de Nuvem
- Resumo: A especificação de requisitos não-funcionais de uma aplicação e a definição de recursos necessários para sua implantação são atividades comumente executadas de maneira ad hoc, o que pode ocasionar perda de qualidade de serviço devido ao uso ineficiente dos recursos. Este problema é ainda maior ao considerarmos aplicações formadas pela composição de diversos serviços. A Computação nas Nuvens surge como uma alternativa para provisionamento dos recursos necessários mas é necessário que haja mecanismos eficiente de gerenciamento dos recursos e políticas para oferecimento de qualidade de serviços nestes ambientes. Diante disso, nesta tese de doutorado será desenvolvido um conjunto de soluções para gerenciamento de recursos em nuvem e seu provisionamento atendendo a critérios de acordos de nível de serviço e com maior facilidade pelo usuário final. Propomos o uso de modelos em tempo de execução e coreografia de serviços para obter maior abstração, adaptabilidade e descentralização do sistema em execução. Com isso as aplicações que executam em ambientes de nuvem podem funcionar com base nas suas necessidades imediatas.
 
- Aluno: Willian Paraguassu Amorim
- Orientador: Marcelo Henriques Carvalho
- Subárea(s): Classificação Semi-Supervisionada; Reconhecimento de Padrões; Floresta de Caminhos Ótimos
- Título do trabalho: Classificação Semi-supervisionada de Padrões usando Floresta de Caminhos Ótimos
- Resumo: Este trabalho apresenta uma primeira abordagem de classificação semi-supervisionada de padrões (OPFSEMI) baseado na metodologia de Floresta de Caminhos Ótimos (OPF). O método transforma o conjunto de treinamento em um grafo e encontra os protótipos (os elementos mais representativos de cada classe) em todas as classes entre os nós de treinamento rotulados, semelhante ao processo supervisionado OPF. Os protótipos participam de um processo de competição disputando as outras amostras (rotuladas e não rotuladas) oferecendo-lhes caminhos de menor custo e seus respectivos rótulos. O classificador é uma floresta de caminhos ótimos enraizada pelos protótipos e a classe de uma nova amostra é determinada, de forma incremental, como a classe de sua conexão de menor custo com o protótipo. Nós comparamos OPFSEMI com a versão supervisionada OPF usando diferentes estratégias de aprendizagem e um eficiente método Transductive Support Vector Machines (TSVM), em vários conjuntos de dados. Os resultados experimentais mostram as vantagens da abordagem semi-supervisionada na precisão com significância estatística em relação ao método supervisionado e TSVM. Mostramos também o ganho em precisão da abordagem semi-supervisionada quando amostras mais representativas são selecionadas para o conjunto de treinamento.
 
- Aluno: Francisco José Silveira de Vasconcellos
- Orientador: Prof. Dr. Auri Marcelo Rizzo Vincenzi
- Co-Orientador: Prof. Dr. Juliano Lopes de Oliveira
- Subárea(s) em que seu trabalho se insere:  Engenharia de Software
- Título do trabalho: Gerenciamento estratégico de melhorias de processos de software
- Resumo: Esforços de melhoria de processos de software demandam tempo e exigem aplicação intensiva de recursos financeiros e humanos das organizações desenvolvedores de software. Além disso, os resultados, normalmente, só serão percebidos no longo prazo. A literatura ressalta a importância do direcionamento, priorização e suporte, por parte do alto escalão gerencial, como fator crítico de sucesso em projetos desta natureza. Esta atuação do alto escalão visa alinhar os esforços de melhoria de processos produtivos com os objetivos estratégicos do negócio. O presente trabalho de pesquisa tem como objetivo inicial investigar os métodos e técnicas  propostos para a obtenção deste alinhamento estratégico, identificar possíveis lacunas e, em  seguida, oferecer soluções.
 
 
- Aluna: Christiane Nishibe
- Orientador: Nalvo Franco de Almeida Junior
- Subárea(s) em que seu trabalho se insere: Bioinformática
- Título do trabalho: Ferramentas para transcritômica e genômica
- Resumo:  A evolução das tecnologias de sequenciamento geram uma quantidade cada vez maior de dados que permitiu avanços tanto na genômica quanto na transcritômica. Devido ao grande volume de dados, foi necessário desenvolver diversas ferramentas computacionais para tratar, analisar e armazenar tais informações. Sendo assim, o foco deste trabalho é automatizar ao máximo o uso das diferentes ferramentas nos estudos biológicos de genômica e transcritômica.
 
- Aluna: Bianca de Almeida Dantas
- Orientador: Edson Norberto Cáceres
- Subárea: Otimização
- Título: Paralelização de meta-heurísticas para o problema da mochila multidimensional.
- Resumo: Um dos problemas clássicos de otimização combinatória mais conhecidos e com uma grande variedade de aplicações é o problema da mochila multidimensional e suas diversas variantes. A variante mais conhecida, chamada de 0-1, pode ser definida como um problema de programação inteira com uma única restrição no qual, a princípio, qualquer outro problema desse tipo pode ser transformado. Com isso, uma solução eficiente para o problema é de interesse para toda a área da programação inteira.
O problema da mochila 0-1, ou problema da mochila binária, é caracterizado por duas entradas: um conjunto de itens (com seus respectivos valores e pesos associados) e a capacidade da mochila; há duas possibilidades para cada item: ele deve ou não pertencer à solução. Apesar de sua relativa simplicidade, esse problema é NP-completo, ou seja, não se conhece um algoritmo polinomial para sua solução exata. Há basicamente duas alternativas para encontrar a solução exata para o problema, programação dinâmica e branch & bound; a adequação de cada uma das técnicas depende de características da instância do problema a ser resolvido. O algoritmo de programação dinâmica utilizado para solução do problema possui complexidade pseudopolinomial O(nW). Quando o número de restrições impostas ao problema da mochila aumenta, temos o problema da mochila multidimensional e a aplicação das técnicas de solução tradicional torna-se de custo elevado, o que inviabiliza sua utilização. Essa situação leva à busca por soluções alternativas, ainda que aproximadas, para o problema como, por exemplo, as meta-heurísticas que são o foco do estudo de nosso trabalho.
 
- Aluno: Halley Wesley Alexandre Silva Gondim
- Orientador: Hugo Alexandre Dantas do Nascimento / Co-orientador: Derek Reilly
- Subárea(s): Visualização da Informação
- Título do trabalho: Visualização de Informação e Técnicas Interativas Aplicadas a Problemas de Rede de Tráfego de Veículos.
- Resumo: A análise e a otimização de grandes redes de tráfego urbano é um processo laborioso em consequência de inter-relações complexas entre as diversas variáveis que o comportamento do tráfego de veículos impacta. Técnicas de visualização de informação podem facilitar as tarefas de estudo de grandes quantidades de dados e de possíveis soluções para os problemas do tráfego. Entretanto apesar destes benefícios, há uma relativa falta de investigação centrada nas técnicas de visualização de informações aplicadas/adaptadas para o campo da Engenharia de Tráfego, principalmente na área a que se concentra matrizes de Origem Destino, a qual representa um fator chave em estudos em que envolvam a análise de tráfego. Logo este trabalho possui como objetivo fomentar/contribuir para o desenvolvimento de visualizações que assistam a construção de matrizes OD como também apresentá-las para discussão a fim de se atenuar as lacunas existentes entre uma massiva quantidade de dados e sua efetiva interpretação.
 
- Aluno: Phelipe Araujo Fabres
- Orientador: Marcelo Henriques Carvalho
- Subárea(s) em que seu trabalho se insere: Teoria dos Grafos
- Título do trabalho: Bricks e braces minimais
- Resumo: Neste trabalho, nós melhoramos o teorema de geração de bricks minimais provado por Norine e Thomas mostrando que a expansão bilinear não é necessária para gerar bricks minimais. Além disso, nós provamos um teorema para gerar braces minimais.
 
- Aluno: Anderson Corrêa de Lima
- Orientador: Edson Norberto Cáceres
- Subárea: Computação Paralela. Computação de Alto Desempenho
- Título do Trabalho: Paralelização em GPU de Algoritmos para os Problemas de Seleção e de Subsequência de Soma Máxima Mínima.
- Resumo:  As modernas unidades de processamento gráfico (GPUs) impulsionaram diversas áreas da computação de alto desempenho, tornando-as mais acessíveis, principalmente devido ao baixo custo e ao alto poder computacional destes dispositivos. Em particular, a técnica de computação paralela, que há anos é utilizada na computação de alto desempenho, ganhou novo estímulo. O desenvolvimento de algoritmos paralelos em GPUs têm alcançado resultados promissores, destacando-se aqueles para problemas em grafos e para outros com estruturas vetoriais. Entretanto, em muitos destes problemas a quantidade de soluções paralelas, anteriores às GPUs, é bastante vasta. Abre-se então um vasto campo de pesquisa formado pelo mapeamento de antigas e boas soluções paralelas para novas soluções utilizando GPU. Um problema conhecido é a subsequência de soma máxima, que possui alta relevância em áreas como a biologia computacional e a visão computacional. Neste trabalho apresenta-se uma implementação em GPU para a versão unidimensional deste problema (1D) baseada na tecnologia CUDA. A solução proposta é construída a partir de um algoritmo PRAM eficiente. A saída do algoritmo pode ser estendida para solucionar três subproblemas igualmente importantes: subsequência de soma máxima mínima, seleção da k'ésima subsequência de soma máxima e seleção simultânea das k's subsequências de soma máximas.
 
- Aluno: Leandro Alexandre Freitas
- Orientador: Fábio Moreira Costa
- Subárea(s): Sistemas de Computação (Sistemas Distribuídos)
- Título do trabalho: Uma Abordagem para Programação de Espaços Inteligentes utilizando Modelos em Tempo de Execução
- Resumo: O crescimento e a popularização cada vez maior da conectividade sem fio e dos dispositivos móveis, tem permitido a construção de espaços inteligentes que antes eram vislumbrados apenas na proposta de computação ubíqua do cientista da Xerox PARK, Mark Weiser. Esses espaços inteligentes são compostos por diversos recursos computacionais, como dispositivos, serviços e aplicações, além de usuários, que devem ser capazes de se associar a esses recursos. Entretanto, a programação destes ambientes é uma tarefa desafiadora, uma vez que os espaços inteligentes possuem uma natureza dinâmica, os recursos se apresentam de forma heterogênea e é necessário que as interações entre usuários e dispositivos sejam coordenadas. Neste trabalho desenvolvemos uma nova abordagem para programação de espaços inteligentes, por meio de  modelos em tempo de execução. Para isso, propomos uma linguagem de modelagem de alto nível, denominada Smart Space Modeling Language (2SML), em que o usuário é capaz de modelar o espaço inteligente com todos os elementos que dele podem fazer parte. Esse modelo desenvolvido pelo usuário é interpretado e realizado no espaço físico por uma máquina de execução de modelos, denominada Smart Space Virtual Machine (2SVM), cujo desenvolvimento é parte desse trabalho.
 
- Aluno: Walid Abdala Rfaei Jradi
- Orientador: Hugo Alexandre Dantas do Nascimento / Co-orientador: Wellington Santos Martins
- Subárea(s): Otimização e Computação Paralela
- Título do trabalho: Abordagens Paralelas Baseadas em GPUs para o Problema de Alocação Macroscópica de Tráfego de Veículos.
- Resumo: As modernas ferramentas computacionais de simulação de tráfego urbano baseiam-se em métodos matemáticos para a alocação de veículos na rede viária em estudo. Fundamentadas em modelos de alocação, tais ferramentas são atualmente usadas no estudo do comportamento dos motoristas ao deslocarem-se pela malhas viária, bem como na avaliação dos impactos de eventuais alterações em sua estrutura. Porém, dependendo do modelo adotado ou da escala da análise, o custo computacional para a geração de tais simulações pode tornar-se extremamente elevado, inviabilizando seu uso. Com o objetivo de reduzir o tempo necessário para a execução de tais simulações, o presente trabalho propõe-se a analisar e avaliar as melhores estratégias para implementação de um modelo macroscópico de alocação, usando algoritmos paralelos executados nas modernas GPUs.
 
- Aluno: Marcos Paulo Moro
- Orientador: Ronaldo Alves Ferreira
- Subárea(s) em que seu trabalho se insere: Redes de Computadores
- Título do trabalho: Um Escalonador 3D de Máquinas Virtuais para redução do Consumo de Energia em Ambientes de Computação em Nuvem
- Resumo: Centros de dados constituem a infraestrutura básica para implementação da Computação em Nuvem. Com o aumento da demanda por serviços computacionais, sejam eles de infraestrutura, de software ou de plataforma, oferecidos pelas nuvens, há uma pressão muito grande para expansão dos centros de dados. Estudos recentes mostram que os gastos com energia elétrica para operação de um centro de dados são significativos e, em alguns casos, superam os gastos com a própria infraestrutura de TI. Ainda assim, o gerenciamento de energia elétrica é bastante ineficiente,sendo que a eficiência energética média é inferior a 50%.
O consumo energético de um centro de dados é dominado por três dimensões: servidores, infraestrutura de rede e sistema de refrigeração. As propostas para gerenciamento energético existentes na literatura, normalmente, buscam otimizar uma dessas dimensões sem levar em consideração as demais. Resultados preliminares deste trabalho mostram que estratégias unidimensionais, ou até mesmo bidimensionais, podem evitar reduções significativas no consumo de energia quando comparadas com uma estratégia que considere as três dimensões em conjunto. O objetivo deste trabalho é desenvolver um escalonador de máquinas virtuais que leve em consideração as três dimensões de maior consumo energético em um centro de dados e que não viole acordos de nível de serviço. Para isso, o escalonador deverá consolidar máquinas virtuais em um menor número possível de servidores físicos, reordenar a topologia da rede quando possível e escolher máquinas físicas localizadas em regiões estratégicas do centro de dados para aumentar a eficiência do sistema de refrigeração.
 
- Aluno: Rodrigo Funabashi Jorge
- Professor Orientador: Auri Marcelo Rizzo Vincenzi
- Subárea: Engenharia de Software/Teste de Software
- Título do Trabalho: Estudo, Definição e Implementação de Técnicas para a Geração de Dados de Teste a partir de GUI
- Resumo: O objetivo principal da Engenharia de Software é dar subsídios para desenvolvimento de software, desde a sua especificação até sua implantação e manutenção, aplicando métodos, processos e ferramentas visando a qualidade do software produzido. Uma das atividades para se buscar a qualidade desejada é a atividade de teste de software, que pode se tornar bastante complexa, dependendo das características e dimensões do software a ser criado e, desse modo, está sujeita a diversos problemas que acabam resultando na obtenção de um produto com defeitos, prejudicando assim a sua qualidade. Uma das características dos softwares que os tornam complexos para se testar é o uso de interfaces gráficas (GUIs - Graphical User Interfaces), presentes na maioria das aplicações atuais.
Para gerar um bom conjunto de dados de teste, os projetistas de teste devem ter certeza de que este conjunto cubra todas as funcionalidades do sistema e, no contexto de GUI, também tenha exercitado todas as possibilidades de eventos da interface. Porém, a dificuldade em realizar esta tarefa esta no tamanho do domínio e em administrar o sequenciamento de ações. Com relação ao tamanho, uma interface gráfica tem muitas operações que precisam ser testadas, sendo que um programa relativamente pequeno, como um editor de texto simples, esse número passa de 300 operações via GUI. Em programas maiores, o número de operações pode facilmente ser de uma ordem de magnitude extremamente elevada. Já no problema de sequenciamento, algumas funcionalidades do sistema só podem ser realizadas seguindo uma sequência complexa de eventos GUI. Obviamente, aumentando o número de possíveis operações aumenta o problema de sequenciamento de forma exponencial, tornando-se um problema crítico quando o testador tem que criar os dados de teste manualmente.
Apesar da complexidade e das limitações existentes, algumas meta-heurísticas estão sendo utilizadas para superar esses problemas. Com isso, têm culminado na criação de uma nova e promissora área de pesquisa na computação, chamada Search-based Software Engineering - SBSE, que trata da aplicação de técnicas de otimização matemática, da área de Inteligência Artificial, para a resolução de problemas complexos da área de Engenharia de Software.
Segundo o site http://sebase.cs.ucl.ac.uk/, que mantem uma base de dados atualizada sobre trabalhos na área de SBSE do Departamento de Ciência da Computação da Universidade College London, 52% das publicações se concentra na atividade de teste e depuração. Isso se deve ao alto custo de aplicação dessa atividade, que em geral, pode passar de 50% do custo de desenvolvimento.  Perante esse cenário foi criada uma subárea da SBSE chamada de Search-Based Software Testing - SBST, que foca à aplicação de técnicas de otimização matemática na resolução de problemas no contexto da atividade de teste. Por isso, o desafio é automatizar o processo de teste, tanto quanto possível, e a geração de dados de teste é naturalmente uma parte fundamental deste automação.
Este trabalho encontra-se dentro desse contexto e está concentrado no estudo, definição e implementação de técnicas para a geração de dados de teste a partir de GUI fazendo uso de meta-heurísticas para a automatização do processo.