Dissertações/Teses

Clique aqui para acessar os arquivos diretamente da Biblioteca Digital de Teses e Dissertações da UFRN

2019
Dissertações
1
  • LEANDRO DIAS BESERRA
  • CrashAwareDev:Apoiando o Desenvolvimento a partir da Mineração e Análise de Crash Reports

     
  • Orientador : ROBERTA DE SOUZA COELHO
  • MEMBROS DA BANCA :
  • EDUARDO HENRIQUE DA SILVA ARANHA
  • ROBERTA DE SOUZA COELHO
  • RODRIGO BONIFACIO DE ALMEIDA
  • UIRA KULESZA
  • Data: 31/01/2019

  • Mostrar Resumo
  • Ao longo dos anos, organizações têm dedicado boa parte do tempo de desenvolvimento de software na correção de bugs. Esta é uma das razões que têm motivado a utilização de ferramentas de crash reports com objetivo de armazenar informações de falhas que ocorreram no sistema para facilitar a localização e  correção dos defeitos que ocasionaram as falhas. Contudo, podemos pensar em uma outra utilidade para tais ferramentas. As informações armazenadas ao longo do tempo poderiam ser utilizadas para prevenir que desenvolvedores cometam falhas semelhantes àquelas ocorridas no passado. Neste estudo iremos propor uma forma de transformar estas informações em conhecimentos e que sejam levados ao desenvolvedor durante a codificação do sistema. Faremos uma análise de um relatório de falhas de um sistema web real, onde serão coletados padrões de bugs (bug patterns) específicos do sistema. A partir dos dados obtidos na análise, uma ferramenta, integrada ao ambiente de desenvolvimento Eclipse, foi proposta para alertar desenvolvedores sobre trechos de código com potencial para gerar falhas. Além disso, o aplicativo será capaz de minerar stack traces de falhas ocorridas, identificar funções do sistema com grande reincidência de falhas e fornecer esta informação na IDE Eclipse, com intenção de destacar funções críticas do sistema. 


  • Mostrar Abstract
  • Currently,  several organizations have devoted much of the software development time for bug fixing. This is one of the reasons why crash reports are becoming more and more popular - since it is a way to centralize information received due to failures. However, we can think of another utility for such tools. The information stored over time could be used to prevent developers from making similar mistakes (bugs) to those they performed in the past. In this study we propose a way to transform this information into a set of tips to be presented to the developer while s/he is coding. We propose such tips to be included on Eclipse development environment, in the form of an Eclipse plug-in which alerts developers about code fragments with potential to cause failures. In addition, the application will be able to mine stack traces of failures occurring, identifying system methods with large recurrence of failures and provide this information in the Eclipse IDE. We plan to conduct a case study in a real development context to evaluate the proposed tool.

2
  • VALMIRO RIBEIRO DA SILVA
  • An investigation of biometric-based user predictability in the online game League of Legends

  • Orientador : MARJORY CRISTIANY DA COSTA ABREU
  • MEMBROS DA BANCA :
  • ANNE MAGALY DE PAULA CANUTO
  • MARJORY CRISTIANY DA COSTA ABREU
  • PLACIDO ANTONIO DE SOUZA NETO
  • Data: 07/02/2019

  • Mostrar Resumo
  • Computer games has been consolidated as a favourite activity in the last years. Although such games were created to promote
    competition and promote self-improvement, there are some recurrent issues. One that has received the least amount of attention so far is the problem of "account sharing" which is when a player shares his/her account with more experienced players in order to progress in the game. The companies running those games tend to punish this behaviour, but this specific case is hard to identify. Since, the popularity of machine learning has never been higher, the aim of this study is to better understand how biometric data from online games behaves, to understand how the choice of character impacts a player and how different algorithms perform when we vary how frequently a sample is collected. The experiments showed through the use of statistic tests how consistent a player can be even when he/she changes characters or roles, what are the impacts of more training samples, how the tested
    machine learning algorithms are affected by how often we collect our samples, and how dimensionality reduction techniques, such as Principal Component Analysis affect our data, all providing more information about how this state of art game database works.


  • Mostrar Abstract
  • Computer games has been consolidated as a favourite activity in the last years. Although such games were created to promote
    competition and promote self-improvement, there are some recurrent issues. One that has received the least amount of attention so far is the problem of "account sharing" which is when a player shares his/her account with more experienced players in order to progress in the game. The companies running those games tend to punish this behaviour, but this specific case is hard to identify. Since, the popularity of machine learning has never been higher, the aim of this study is to better understand how biometric data from online games behaves, to understand how the choice of character impacts a player and how different algorithms perform when we vary how frequently a sample is collected. The experiments showed through the use of statistic tests how consistent a player can be even when he/she changes characters or roles, what are the impacts of more training samples, how the tested
    machine learning algorithms are affected by how often we collect our samples, and how dimensionality reduction techniques, such as Principal Component Analysis affect our data, all providing more information about how this state of art game database works.

3
  • LUANA TALITA MATEUS DE SOUZA
  • Documentação de requisitos e compartilhamento do conhecimento: Uma proposta a partir de um estudo etnográfico

  • Orientador : MARCIA JACYNTHA NUNES RODRIGUES LUCENA
  • MEMBROS DA BANCA :
  • MARCIA JACYNTHA NUNES RODRIGUES LUCENA
  • LYRENE FERNANDES DA SILVA
  • APUENA VIEIRA GOMES
  • RICARDO ARGENTON RAMOS
  • Data: 26/04/2019

  • Mostrar Resumo
  • Este trabalho apresenta um estudo etnográfico realizado sobre a rotina de duas equipes de analistas de requisitos em uma fábrica de software. O objetivo é identificar os desafios na produção e manutenção da documentação para seus diversos públicos-alvo e propor práticas que melhorem a efetividade do compartilhamento e utilização das informações levantadas e documentadas. Foi desenvolvido uma adaptação de um processo etnográfico composta das etapas de: observação das equipes, entrevistas (com analistas de requisitos, líderes de equipes e direção de sistemas) e análise de material. Ao final deste processo, os resultados coletados são interpretados numa etapa chamada de triangulação - que estrutura e combina os eventos observados. Os desafios identificados foram agrupados em três grandes categorias: compartilhamento de conhecimento, documentação e metodologias ágeis. Após o levantamento desses desafios, dois surveys foram aplicados nos públicos-alvo da documentação para entender suas necessidades informacionais.  O conhecimento dos desafios e as práticas indicadas permitirão obter: ganhos de produtividade, redução do custo de comunicação entre membros das equipes, redução do custo de planejamento das sprints, redução da dependência presencial do analista de requisitos e uma documentação efetiva. Como contribuição deste trabalho são o próprio processo etnográfico - constituído especificamente para esta pesquisa - e os benefícios no uso das práticas sugeridas.


  • Mostrar Abstract
  • This paper presents an ethnographic study on the routine of two teams of requirements analysts in a software factory. The objective is to identify the challenges in producing and maintaining documentation for its various target audiences and to propose practices that improve the effectiveness of the sharing and use of the information collected and documented. It was developed an adaptation of an ethnographic process composed of the phases of: observation of the teams, interviews (with requirements analysts, team leaders and systems management) and material analysis. At the end of this process, the results collected are interpreted in a stage called triangulation - which structures and combines the observed events. The challenges identified were grouped into three broad categories: knowledge sharing, documentation and agile methodologies. After surveying these challenges, two surveys were applied to documentation audiences to understand their informational needs. Knowledge of the challenges and practices indicated will allow for: productivity gains, reduced communication costs among team members, reduced cost of sprint planning, reduction of in-person dependency of requirements analyst, and effective documentation. As contribution of this work are the own ethnographic process - constituted specifically for this research - and the benefits in the use of the suggested practices.

4
  • FÁBIO FREIRE DA SILVA JÚNIOR
  • Um por todos e todos por um: um estudo exploratório sobre os aspectos que facilitam a colaboração em game jams

  • Orientador : FERNANDO MARQUES FIGUEIRA FILHO
  • MEMBROS DA BANCA :
  • FERNANDO MARQUES FIGUEIRA FILHO
  • EDUARDO HENRIQUE DA SILVA ARANHA
  • UIRA KULESZA
  • NAZARENO ANDRADE
  • Data: 29/04/2019

  • Mostrar Resumo
  • Game jams são eventos onde pessoas formam equipes com o intuito de desenvolver protótipos funcionais de jogos de forma colaborativa e sob restrição temática e de tempo. Embora tais eventos tenham crescido em popularidade, ainda existem poucas evidências na literatura sobre como ocorre a colaboração nesse tipo de evento, e principalmente, quais são os fatores que facilitam essa colaboração. Sendo assim, este estudo visa entender quais são os aspectos facilitadores da colaboração no processo de desenvolvimento de jogos em jams. Foram realizados dois estudos durante a Global Game Jam 2018 e 2019. Os resultados do estudo descrevem as principais estratégias durante o evento a fim de facilitar a colaboração para produção dos protótipos, principalmente naquelas que permitem pessoas inexperientes desenvolver algo em 48 horas. Além disso, mentores e jammers experientes foram encontrados como os principais coordenadores nesse processo, atuando como mediadores na colaboração dentro e fora das equipes. Este trabalho ainda contribui por compreender e caracterizar o funcionamento do trabalho colaborativo em jams, e a partir de evidências coletadas e validadas com especialistas, sugere um catálogo de práticas que suportam a mediação da colaboração e interação entre equipes nesse tipo de evento. Tais técnicas poderão ser usadas em contextos similares, a fim de, facilitar a colaboração entre equipes.


  • Mostrar Abstract
  • Game jams are events where people form teams with the purpose of developing functional game prototypes in a collaborative way and under thematic and time constraints. Although such events have grown in popularity, there is still little evidence in the scientific literature on how collaboration occurs in this type of event, and especially, what are the factors that facilitate such collaboration. This study aims to understand how facilitating aspects support collaboration in game development through jams. To this aim, a study was conducted during the Global Game Jam 2018 and 2019. Our findings describe the main practices during the event and what strategies are used by teams in order to facilitate the collaboration. In addition, mentors and experienced jammers are recognized as the main coordinators of these tasks, acting as mediators between those teams. This work also contributes to understanding and characterizing the collaborative work in jams. With collected and validated evidence from experts, we suggest a catalog of practices that support the interaction between teams in this type of event. These techniques may be applied in similar contexts to facilitate collaboration between teams.

5
  • HIAGO MAYK GOMES DE ARAÚJO ROCHA
  • Problema de Mapeamento e Roteamento: Propostas de Otimização Bioinspiradas Híbridas 

  • Orientador : MONICA MAGALHAES PEREIRA
  • MEMBROS DA BANCA :
  • ANTONIO CARLOS SCHNEIDER BECK FILHO
  • MARCIO EDUARDO KREUTZ
  • MONICA MAGALHAES PEREIRA
  • SILVIA MARIA DINIZ MONTEIRO MAIA
  • Data: 19/07/2019

  • Mostrar Resumo
  • O avanço na tecnologia de fabricação de circuitos integrados, possibilitado pela diminuição no tamanho dos transistores, permitiu a criação de sistemas complexos multiprocessados dentro de um único chip, chamados de Sistemas em Chip Multiprocessados (MPSoC - Multiprocessor System on Chip).  Para permitir a comunicação entre os diversos núcleos do MPSoC, um dos principais modelos de comunicação utilizado na atualidade é a Rede em Chip (NoC - Network on Chip) que apresenta maior escalabilidade do que a solução tradicional de barramentos. Apesar do potencial ganho de desempenho do MPSoCs através do paralelismo de tarefas, para se obter um real ganho de desempenho é necessário um eficiente gerenciamento dos recursos disponíveis no sistema, como núcleos de processamento e canais de comunicação. Esse gerenciamento está relacionado, dentre outros aspectos, à forma como as tarefas das aplicações são mapeadas nos núcleos do MPSoC e quais canais da NoC são usados nas rotas de comunicação entre as tarefas. Na literatura, esses aspectos são geralmente tratados individualmente, porém eles possuem forte relação. Partindo deste princípio, neste trabalho é apresentada uma formulação matemática do problema denominado de Problema de Mapeamento e Roteamento (PMR) o qual é uma proposta de junção entre eles. Além disso, visando encontrar soluções de mapeamento otimizadas, este trabalho apresenta três propostas de estratégia de mapeamento estático e uma dinâmica. No contexto de mapeamento estático, são apresentadas estratégias bioinspiradas híbridas de otimização (Genético, Memético e Transgenético). Essas estratégias apresentam abordagens gerais para encontrar soluções de mapeamento e dentro dessas abordagens é usada uma avaliação de fitness exato de roteamento baseado no modelo proposto para o PMR. No contexto de mapeamento dinâmico, é proposto um algoritmo que usa os operadores apresentados no Transgenético para prover alocação de tarefas por demanda em tempo de execução. Os algoritmos foram implementados e seus resultados foram simulados em uma ferramenta de NoC. Além disso, também foram implementados três algoritmos da literatura para fins de comparação com as propostas apresentadas. Os resultados demonstram que as propostas que conseguem capturar mais profundamente as características da arquitetura são mais eficientes.  Em específico, o Transgenético apresenta melhores resultados de latência e de energia. Além disso, foi possível utilizar aspectos do transgenético para propor uma solução dinâmica que possa ser utilizada quando a aplicação não for conhecida antes de sua execução.


  • Mostrar Abstract
  • The advances of integrated circuit fabrication technology, allowed by the reduction of transistors size, make possible the creation of multiprocessed complex systems inside a single chip, named Multiprocessors System of Chip (MPSoC). To allow communication among the different cores, one of the main communication model used currently is the Network on Chip (NoC) which shows more scalability than traditional bus solution.  In spite of the expected potential performance improvement due to task parallelism, to achieve a real performance improvement it is necessary an efficient available resource management in the system, such as processing cores and communication links. This management is related, among other aspects, to how tasks are mapped in the MPSoC cores and which NoC channels are used to provide communication routes for tasks. In the literature, these aspects are handled individually, even though, they are highly correlated. Based on this principle, in this work, it is presented a mathematical formulation of the Mapping and Routing Problem (PMR) that combines both problems. Additionally, in order to find optimized mapping solutions, this work presents three proposals of static mapping and one of the dynamic mapping.In the static mapping context, it is presented bioinspired hybrid optimization strategies (Genetic, Memetic and Transgenetic). These strategies present a general approach to find mapping solution and internally, it is used an exact routing fitness function evaluation based on the proposed model.In the dynamic mapping context, it is proposed an algorithm that uses the Transgenetic operator to provide the task allocation by demand at run time. The algorithms were implemented and its results were simulated using a NoC simulation tool. In order to compare to state of art, three algorithms from literature were also implemented and simulated. The results show that approaches able to capture more deeply the features of the architecture are more efficient. More specifically, the Transgenetic algorithm presents the best results for latency and energy. Furthermore, it was possible to use the Transgenetic aspects to propose a dynamic solution that can be used when the system does not know the application behavior.

Teses
1
  • MAXWEEL SILVA CARMO
  • Um Arcabouço para Compartilhamento Eficiente de WLANs WiFi por Fatiamento de Rede no Contexto de Redes Ultra Densas 5G

  • Orientador : AUGUSTO JOSE VENANCIO NETO
  • MEMBROS DA BANCA :
  • AUGUSTO JOSE VENANCIO NETO
  • DANIEL CORUJO
  • GIBEON SOARES DE AQUINO JUNIOR
  • RUI LUIS ANDRADE AGUIAR
  • THAIS VASCONCELOS BATISTA
  • Data: 29/01/2019

  • Mostrar Resumo
  • A realização de casos de uso inovadores envolvendo comunicação de dados desafiou as abordagens de redes de comunicação estabelecidas. Esta tese tem como objetivo evoluir a atual tecnologia de sistemas WLAN Wi-Fi com acesso compartilhado para enfrentar os desafios de oferecer eficientemente o aumento da demanda maciça de dados móveis em casos de uso 5G, nomeadamente UDN e URLLC. Foram investigados novos aspectos complementares de tecnologias emergentes em sistemas 5G, nomeadamente virtualização de funções de redes [7], névoa computacional [8], redes definidas por software, e outros, para criar um arcabouço único e inovador voltado as redes WLAN Wi-Fi de acesso compartilhado. Esta tese propõe o arcabouço WISE (WLAN slIcing SErvice), o qual aplica a técnica de fatiamento de rede (network slicing) pela primeira vez em CPEs (Consumer Premise Equipments) habilitados para WLAN Wi-Fi de acesso compartilhado, que encontram-se localizados mais próximo de usuários e coisas, na perspectiva de oferecer serviços de rede diferenciados com isolamento, Independência e desempenho aumentado. Além disso, o WISE explora a tecnologia de névoa computacional como maneira de expandir as capacidades computacionais de CPEs com configuração de balcão, de modo a permitir que parte das funcionalidades do arcabouço alvo sejam hospedados.


  • Mostrar Abstract
  • The realization of innovative use cases involving data communication has challenged the established communication networking approaches. This thesis aims to evolve current WLAN Wi-Fi systems with shared access facilities to meet the challenges of efficiently increasing the massive demand for mobile data in 5G use cases, namely UDN (Ultra-Dense Networking) and URLLC (Ultra-reliable and low-latency Communications). New complementary aspects of emerging technologies in 5G systems, namely, virtualization of network functions [7], computational fog [8], software-defined networking, and others, were investigated in the prospect to create a unique and innovative framework for Wi-Fi WLAN-sharing systems. This thesis proposes the WISE framework (WLAN slIcing SErvice), which applies network slicing technique for the first time in WLAN-sharing enabled Wi-Fi CPEs (Consumer Premise Equipments) located closer to users and things, in perspective to offer differentiated network services featuring isolation, independence, and increased performance. Moreover, the WISE framework exploits fog computing technology as a way to expand the computational capabilities of off-the-shelf CPEs to afford running part of the functionalities featuring the target framework.

2
  • ITAMIR DE MORAIS BARROCA FILHO
  • Design arquitetural de aplicações para cuidados de saúde baseadas na infraestrutura da IoT

  • Orientador : GIBEON SOARES DE AQUINO JUNIOR
  • MEMBROS DA BANCA :
  • GIBEON SOARES DE AQUINO JUNIOR
  • ROSSANA MARIA DE CASTRO ANDRADE
  • THAIS VASCONCELOS BATISTA
  • UIRA KULESZA
  • VINICIUS CARDOSO GARCIA
  • Data: 08/02/2019

  • Mostrar Resumo
  • A miríade de coisas conectadas promovidas pela Internet das Coisas (IoT) e os dados capturados por elas estão tornando possível o desenvolvimento de aplicações em vários mercados, tais como transporte, edifícios, energia, casa, industria e cuidados de saúde. Em relação ao mercado de saúde, espera-se o desenvolvimento dessas aplicações como parte do futuro, uma vez que pode melhorar a e-Health e permitir que os hospitais funcionem de forma mais eficiente, e pacientes recebam melhores tratamentos. A IoT pode ser o principal facilitador para distribuição aplicações de saúde, tendo assim um potencial significativo para contribuir para a diminuição global dos custos dos cuidados de saúde, e melhorar os seus resultados. No entanto, há muitos desafios no desenvolvimento e implantação desse tipo de aplicação, tais como interoperabilidade, disponibilidade, performance e segurança. A natureza complexa e heterogênea das aplicações de saúde baseadas na infraestrutura da IoT dificulta o seu projeto, desenvolvimento e implantação. Também provoca um aumento no custo de desenvolvimento, bem como um problema de interoperabilidade com os sistemas existentes. Para contribuir com a solução dos desafios supracitados, esta tese tem como objetivo melhorar compreensão e sistematização da arquitetura de software das aplicações de saúde baseadas em IoT. Ela propõe uma arquitetura de referência de software, chamada Arquitetura de Referência para Aplicações de Cuidados de Saúde Baseadas em IoT (RAH), para organizar sistematicamente os principais elementos dessas aplicações, suas responsabilidades e interações, promovendo uma compreensão comum da arquitetura dessas aplicações. Para estabelecer RAH, um mapeamento sistemático de publicações sobre aplicações de saúde baseadas em IoT foi realizado, bem como um estudo sobre atributos de qualidade, táticas, padrões arquiteturais e estilos usados na engenharia de software. Como resultado, RAH apresenta conhecimento de domínio e soluções de arquitetura de software (ou seja, padrões arquiteturais e táticas) documentado usando visões arquiteturais. Para avaliar a RAH, foi realizado um estudo de caso instanciando-a para projetar a arquitetura de software de uma plataforma computacional baseada na infraestrutura da Internet das Coisas (IoT) para permitir monitoramento remoto inteligente dos dados de saúde do paciente (biometrias). Com esta plataforma, a equipe clínica pode ser alertada dos eventos de saúde que requerem intervenção imediata e então evitar complicações indesejáveis. Os resultados evidenciaram que RAH é uma arquitetura de referência viável para o desenvolvimento de aplicações de saúde baseadas em IoT seguras, interoperáveis, disponíveis e eficientes, trazendo contribuições para as áreas de e-Health e arquitetura de software.


  • Mostrar Abstract
  • The myriad of connected things promoted by the Internet of Things (IoT) and the data captured by them is making possible the development of applications in various markets, such as transportation, buildings, energy, home, industrial and healthcare. Concerning the healthcare market, it is expected the development of these applications as part of the future, since it can improve e-Health to allow hospitals to operate more efficiently and patients to receive better treatment. The IoT can be the main enabler for distributed healthcare applications, thus having a significant potential to contribute to the overall decrease of healthcare costs while increasing the health outcomes. However, there are a lot of challenges in the development and deployment of this kind of application, such as interoperability, availability, performance, and security. The complex and heterogeneous nature of IoT-based healthcare applications makes its design, development and deployment difficult. It also causes an increase in the development cost, as well as an interoperability problem with the existing systems. To contribute to solve the aforementioned challenges, this thesis aims at improving the understanding and systematization of the IoT-based healthcare applications’ architectural design. It proposes a software reference architecture, named Reference Architecture for IoT-based Healthcare Applications (RAH), to systematically organize the main elements of these applications, its responsibilities and interactions, promoting a common understanding of these applications’ architecture. To establish RAH, a systematic mapping study of existing publications regarding IoT-based healthcare applications was performed, as well the study about quality attributes, tactics, architectural pattern and styles used in software engineering. As a result, RAH presents domain knowledge and software architectural solutions (i.e., architectural patterns and tactics) documented using architectural views. To assess RAH, a case study was performed by instantiating it to design the software architecture of a computational platform based on the Internet of Things (IoT) infrastructure to allow the intelligent remote monitoring of the patient’s health data (biometrics). With this platform, the clinical staff can be alerted of the health events that require immediate intervention and then prevent unwanted complications. Results evidenced that RAH is a viable reference architecture to guide the development of secure, interoperable, available, and efficient IoT-based healthcare applications, bringing contributionsfor the areas of e-Health and software architecture.

3
  • ROMULO DE OLIVEIRA NUNES
  • Seleção Dinâmica de Atributos para Comitês de Classificação

  • Orientador : ANNE MAGALY DE PAULA CANUTO
  • MEMBROS DA BANCA :
  • ANNE MAGALY DE PAULA CANUTO
  • ARAKEN DE MEDEIROS SANTOS
  • DANIEL SABINO AMORIM DE ARAUJO
  • GEORGE DARMITON DA CUNHA CAVALCANTI
  • MARJORY CRISTIANY DA COSTA ABREU
  • Data: 22/02/2019

  • Mostrar Resumo
  • Em aprendizado de máquina (AM), o pré-processamento dos dados tem como objetivo aprimorar a qualidade dos dados que serão utilizados, visando apresentá-los em uma forma adequada para a técnica de AM escolhida. A seleção de atributos é uma de suas principais etapas. Seu principal objetivo é escolher o subconjunto que melhor represente o conjunto de dados, permitindo a redução da dimensionalidade e um possível aumento na precisão dos classificadores. Existem diferentes abordagens para se realizar a seleção de atributos. A a Seleção Dinâmica é uma delas e parte do princípio de que cada instância é única e que melhores resultados são obtidos quando se seleciona um subconjunto de atributos para cada instância em vez de um único subconjunto para toda a base de dados. Uma vez que uma representação mais compacta dos dados foi selecionada, o próximo passo na classificação dos dados é a escolha do modelo a ser utilizado. Esse modelo pode ser formado por um único classificador ou por um sistema de combinação de classificadores, conhecido como Comitês de classificadores, que pode ser definido como a combinação múltiplos classificadores que serão utilizados para gerar uma resposta final para o sistema através da combinação de suas respostas individuais. Para que esses sistemas apresentem melhor desempenho que um classificador individual é necessário promover a diversidade entre os componentes que formam o comitê, isto é, que os componentes do sistema não cometam erros nos mesmos padrões. Por este motivo, a diversidade tem sido considerada um dos aspectos mais importantes no projeto de comitês, já que não existe vantagem na combinação de métodos de classificação idênticos. O objetivo deste trabalho é utilizar a seleção dinâmica de atributos em sistemas de combinação de classificadores. Para isso, foram desenvolvidas três versões que realizam essa adaptação de maneira a gerar a diversidade entre os classificadores base. As versões foram comparadas utilizando diferentes taxas de seleção e quantidade de classificadores, logo após, a melhor versão encontrada foi comparada com outros métodos encontrados na literatura.


  • Mostrar Abstract
  • In machine learning, the data preprocessing has the aim to improve the data quality, through to analyze and to identify of problems in it. So, the machine learning technique will receive the data of a good quality. The feature selection is one of the most important pre-processing phases. Its main aim is to choose the best subset that represents the dataset, aiming to reduce the dimensionality and to increase the classifier performance. There are different features selection approaches, on of them is the Dynamic Feature Selection. The Dynamic Feature Selection selects the best subset of attributes for each instance, instead of only one subset for a full dataset. After to select a more compact data representation, the next step in the classification is to choose the model to classify the data. This model can be composed by a single classifier or by a system with multiples classifiers, known as Ensembles classifier. These systems to combine the output to obtain a final answer for the system. For these systems to get better performance than a single classifier it is necessary to promote diversity between the components of the system. So, it is necessary that the base classifiers do not make mistakes for the same patterns. For this, the diversity is considered one of the most important aspects to use ensembles. The aim of the work is to use the Dynamic Feature Selection in Ensembles systems. To this,  three versions were developed to adapt this feature selection and to create diversity between the classifiers of the ensemble. The versions were compared using different selection rates in an ensemble with five classifiers. After this, the best version was tested with different ensemble sizes.

2018
Dissertações
1
  • THIAGO NASCIMENTO DA SILVA
  • A lógica S de Nelson e sua semântica algébrica

  • Orientador : UMBERTO RIVIECCIO
  • MEMBROS DA BANCA :
  • JOAO MARCOS DE ALMEIDA
  • UMBERTO RIVIECCIO
  • HUGO LUIZ MARIANO
  • Data: 25/01/2018

  • Mostrar Resumo
  • Além da mais conhecida lógica de Nelson (N3) e da lógica paraconsistente de Nelson

    (N4), David Nelson introduziu no artigo de 1959 "Negation and separation of concepts

    in constructive systems", com motivações de aritmética e construtividade, a lógica que

    ele chamou de "S". Naquele trabalho, a lógica é definida por meio de um cálculo (que

    carece crucialmente da regra de contração) tendo infinitos esquemas de regras, e nenhuma

    semântica é fornecida.

    Neste trabalho nós tomamos o fragmento proposicional de S, mostrando que ele é algebrizável

    (de fato, implicativo) no sentido de Blok & Pigozzi com respeito a uma classe de

    reticulados residuados involutivos. Assim, fornecemos a primeira semântica para S, bem

    como um cálculo estilo Hilbert finito equivalente à apresentação de Nelson. Fornecemos um algoritmo que permite construir S-algebras a partir de S-algebras ou reticulados implicativos e usando essa construção mostramos que as fórmulas que Nelson diz que S não pode provar, de fato não podem ser provadas.  Nós também

    comparamos S com outras lógicas da família de Nelson, a saber, N3 e N4.


  • Mostrar Abstract
  • Besides the better-known Nelson logic (N3) and paraconsistent Nelson logic (N4), David Nelson introduced, in the 1959 paper "Negation and separation of concepts in constructive systems”, with motivations of arithmetic and constructibility, a logic that he called “S”. In the present study, the logic is defined by means of a calculus (which crucially lacks the contraction rule) having infinitely many rule schemata, and no semantics is provided for it.

    We look at the propositional fragment of S, showing that it is algebraizable (in fact, implicative) in the sense of Blok & Pigozzi with respect to a class of involutive residuated lattices. We thus provide the first known (algebraic) semantics for S as well as a Hilbert-style calculus equivalent to Nelson’s presentation. We also compare S with the other logics in the Nelson family N3 and N4.

2
  • BRENNER HUMBERTO OJEDA RIOS
  • Hibridização de Meta-Heurísticas com Métodos Baseados em Programação Linear para o Problema do Caixeiro Alugador 

  • Orientador : ELIZABETH FERREIRA GOUVEA GOLDBARG
  • MEMBROS DA BANCA :
  • ELIZABETH FERREIRA GOUVEA GOLDBARG
  • MARCO CESAR GOLDBARG
  • MATHEUS DA SILVA MENEZES
  • SILVIA MARIA DINIZ MONTEIRO MAIA
  • Data: 02/02/2018

  • Mostrar Resumo
  • O Problema do Caixeiro Viajante com Aluguel de Carros, ou simplesmente Problema do Caixeiro Alugador (PCA),  é uma generalização do clássico Problema do Caixeiro Viajante (PCV) onde seu tour de visitas pode ser decomposto em caminhos contíguos que podem ser percorridos com diferentes carros alugados. O objetivo é determinar o circuito hamiltoniano que resulte em um custo final mínimo, considerando a  penalização paga em cada troca de veículos no tour. A penalização é o custo de retornar o carro até a cidade onde foi alugado. O PCA está classificado como um problema NP-difícil. O presente trabalho estuda a variante mais usada na literatura do PCA que é: completo, total, irrestrito, sem repetição, livre e simétrico. O foco da pesquisa são os procedimentos híbridos que combinam meta-heurísticas e métodos baseados na Programação Linear.  São hibridizados: algoritmos científicos (ScA), algoritmos evolucionários (EA),  busca em vizinhança variável (VND),   busca local adaptativa (ALSP)  e uma nova variante da ALSP chamada busca local adaptativa iterativa (IALSP).  As seguintes técnicas são propostas para lidar com o PCA:  ScA+ALSP, EA+IALSP, ScA+IALSP e ScA+VND+IALSP. É proposto um modelo de programação inteira mista para o PCA o qual é usado no ALSP e no IALSP. Testes não paramétricos são usados para comparar os algoritmos em um conjunto de instâncias da literatura.


  • Mostrar Abstract
  • The Traveling Car Renter Salesman Problem, or simply Traveling Car Renter Problem (CaRS), is a generalization of the Traveling Salesman Problem (TSP) where the tour can be decomposed into contiguous paths that are traveled by different rented cars. The objective is to construct a minimal cost Hamiltonian circuit, considering the penalty paid for changing cars in the tour.  This penalty is the cost of returning a car to the city where it was rented. CaRS is classified as an NP-hard problem. This work studies the CaRS version classified as: complete, total, unrestricted, with no repetition, free and symmetric. This research  is focused on hybrid procedures that combine metaheuristics and methods based on Linear Programming (LP). The following methods were investigated: scientific algorithms (ScA), evolutionary algorithms (EA), variable neighborhood descent (VND), adaptive local search (ASLP) and a new variant of ALSP called iterated adaptive local search (IALSP). The following techniques are proposed to deal with CaRS:  ScA+ALSP, EA+IALSP, ScA+IALSP and ScA+VND+IALSP. A mixed integer programming model is proposed for CaRS which was used in the ALSP and IALSP. Non-parametric tests were used to compare the algorithms within a set of instances from the literature.

3
  • DIEGO DE AZEVEDO OLIVEIRA
  • BTestBox: uma ferramenta de teste para implementações B

  • Orientador : DAVID BORIS PAUL DEHARBE
  • MEMBROS DA BANCA :
  • MARCEL VINICIUS MEDEIROS OLIVEIRA
  • DAVID BORIS PAUL DEHARBE
  • VALÉRIO GUTEMBERG DE MEDEIROS JUNIOR
  • Data: 05/02/2018

  • Mostrar Resumo
  • Softwares precisam ser seguros e corretos. Partindo desse pressuposto, novas tecnologias
    e técnicas são desenvolvidas para comprovar as competências de um programa. Essa necessidade
    de segurança se torna mais relevante ao tratar de softwares que atuam em sistemas críticos,
    como os sistemas ferroviário e aeroviário. A utilização de métodos formais na construção de
    software busca solucionar o problema. Ao utilizar o método formal B através da plataforma
    Atelier-B, e após provar os componentes de um projeto é necessária a tradução para a linguagem
    desejada. Essa tradução ocorre por meio de tradutores e compiladores B. Habitualmente,
    o processo de compilação em compiladores maduros é seguro, porém não estão completamente
    livres de falhas e eventualmente erros são encontrados. Ao expandir essa afirmação para tradutores
    B é necessário cautela, uma vez que esses não são tão comuns e utilizados quanto
    compiladores que circulam há mais tempo no mercado. Testes de software podem ser utilizados
    para realizar a análise da tradução. Através de critérios de cobertura é possível inferir o
    nível de qualidade do software e facilita a detecção de falhas. Realizar a checagem da cobertura
    e testes em software podem exigir bastante esforço e tempo, principalmente ao serem realizados
    manualmente. Para sanar essa demanda, a ferramenta BTestBox visa analisar, de maneira
    automática, a cobertura atingida por implementações B desenvolvidas através do Atelier-B.
    BTestBox também testa automaticamente as traduções feitas a partir de implementações B.
    Para isso, BTestBox utiliza os casos de teste gerados para a verificação de cobertura e compara
    os valores esperados de saída com os encontrados após a tradução. O processo feito por BTest-
    Box é todo automático e pode ser utilizado a partir do Atelier-B via instalação de plugin com
    uma interface simples.
    Essa proposta de dissertação apresenta a ferramenta BTestBox. A ferramenta é a implementação
    das ideias propostas no parágrafo anterior. BTestBox foi testado através de pequenas
    implementações B com todos os elementos possíveis da linguagem B. BTestBox apresenta
    funcionalidade e vantagens para programadores que utilizam o método formal B.


  • Mostrar Abstract
  • Software needs to be safe and correct. From that assumption, new technologies and techniques
    are developed to prove the competencies of a program. This safety necessity is more
    relevant when considering critical systems, such as railways and avionics systems. The use
    of formal methods in the construction of software tries to solve this problem. When using B
    in Atelier-B, after proving the components of a project is necessary to translate to the desired
    language. This translation occurs using B translators and compilers. Usually, the process of
    compilation is safe when done by mature compilers, although they are not free of errors and
    eventually bugs are found. Expanding this affirmation to B translators demands caution, since
    they are not used such as compilers that have more market time. Software testing may solve and
    be used to perform the analyses of the translated code. Through coverage criteria is possible
    to infer the level of quality of a software and detect bugs. To achieve the coverage check and
    test the software is hard and time-consuming, mainly if done manually. To adress this demand,
    the BTestBox tool aims to analyze, automatically, the coverage reached for B implementations
    built through Atelier-B. BTestBox also automatically tests the translation from B implementations.
    For this, BTestBox uses the same test case generated to verify the coverage and compare
    the output expected values with the values found in the translation. This process made by
    BTestBox is fully automatic and may be used from Atelier-B interface through a plugin with
    easy interface.
    This thesis proposal presents the tool BTestBox. The tool is the implementation of the
    ideas proposed in the previous paragraph. BTestBox was tested with small B implementations
    with all possible elements from B language. BTestBox presents various functionalities and
    advantages to developers that use the B-Method.

4
  • RENAN DE OLIVEIRA SILVA
  • Uma Proposta de Processo para Implantação de Dados Abertos em Instituições Públicas Brasileiras

  • Orientador : GIBEON SOARES DE AQUINO JUNIOR
  • MEMBROS DA BANCA :
  • FERNANDO MARQUES FIGUEIRA FILHO
  • GIBEON SOARES DE AQUINO JUNIOR
  • VANILSON ANDRÉ DE ARRUDA BURÉGIO
  • Data: 20/02/2018

  • Mostrar Resumo
  • A iniciativa de Dados Abertos vem ganhando força nos últimos tempos, com adesão crescente de instituições públicas e governos. Porém, ainda existem vários desafios que precisam ser vencidos quando se decide disponibilizar dados de acordo com esse modelo. Isso afeta negativamente a qualidade e efetividade das publicações. Assim sendo, o objetivo deste trabalho é estabelecer um processo que auxilie instituições públicas brasileiras a disponibilizarem seus dados, sistematizando as fases e tarefas necessárias. Para isso, foi realizado um mapeamento sistemático da literatura, a fim de descobrir estratégias, melhores práticas, desafios e dificuldades que existem na área.


  • Mostrar Abstract
  • Open Data initiative has been gaining strength in recent times, with increasing participation of public institutions. However, there are still many challenges that need to be overcome when deciding to open data. This negatively affects the quality and effectiveness of publications. Therefore, the objective of this work is to establish a process that help brazilian public institutions to open their data, systematizing the necessary tasks and phases. For this, we carried out a systematic mapping of the literature, in order to discover strategies, best practices, challenges and difficulties that exist in the field.

5
  • CIRO MORAIS MEDEIROS
  • Avaliação Top-Down de Consultas de Caminhos Livres-de-Contexto em Grafos

  • Orientador : MARTIN ALEJANDRO MUSICANTE
  • MEMBROS DA BANCA :
  • MARTIN ALEJANDRO MUSICANTE
  • MARCEL VINICIUS MEDEIROS OLIVEIRA
  • UMBERTO SOUZA DA COSTA
  • SERGIO QUEIROZ DE MEDEIROS
  • MARIZA ANDRADE DA SILVA BIGONHA
  • Data: 23/02/2018

  • Mostrar Resumo
  • A internet possibilitou a criação de um imenso espaço de dados global, que pode ser acessado na forma de páginas web. Entretanto, páginas web são ideais para apresentar conteúdo para seres humanos, mas não para serem interpretadas por máquinas. Além disso, se torna difícil relacionar as informações armazenadas nos bancos de dados por trás dessas páginas.
    Daí surgiu o Linked Data, um conjunto de boas práticas para relacionamento e publicação de dados.

    O formato padrão recomendado pelo Linked Data para armazenamento e publicação de dados relacionados é o RDF. Este formato utiliza triplas na forma (sujeito, predicado, objeto) para estabelecer relacionamentos entre os dados. Um banco de dados de triplas pode ser facilmente visualizado como um grafo, de maneira que as consultas são feitas através da definição de caminhos no grafo. SPARQL, a linguagem padrão para consultas em grafos RDF, possibilita a definição de caminhos utilizando expressões regulares. Entretanto, expressões regulares têm expressividade reduzida, insuficiente para algumas consultas desejáveis. Para contornar este problema, alguns trabalhos propuseram a utilização de gramáticas livres-de-contexto para definir os caminhos.

    Apresentamos um algoritmo para avaliação de consultas de caminhos livres-de-contexto em grafos inspirado em técnicas de parsing top-down. Dado um grafo e uma consulta definida com base em uma gramática livre-de-contexto, nosso algoritmo identifica pares de vértices ligados por caminhos que formam palavras pertencentes à linguagem gerada pela gramática. Mostramos que nosso algoritmo é correto e demonstramos outras propriedades importantes.
    O algoritmo apresenta complexidade cúbica de tempo de execução no pior caso em termos do número de vértices no grafo. Implementamos o algoritmo proposto e avaliamos seu desempenho com bancos de dados RDF e com grafos sintéticos para confirmar sua eficiência.


  • Mostrar Abstract
  • The internet has enabled the creation of an immense global data space, that can be accessed in the form of web pages.
    However, web pages are ideal for presenting content to human beings, but not to be interpreted by machines.
    In addition, it becomes difficult to relate the information stored in the databases behind these pages.
    From this came the Linked Data, a set of good practices for relating and publishing data data.

    The standard format recommended by Linked Data for storing and publishing related data is RDF.
    This format uses triples in the form (subject, predicate, object) to stabilish relationships between the data.
    A triplestore can be easily visualized as a graph, so queries are made by defining paths in the graph.
    SPARQL, the standard query language for RDF graphs, supports the definition of paths using regular expressions.
    However, regular expressions have reduced expressiveness, insufficient for some desirable queries.
    In order to overcome this problem, some studies have proposed the use of context-free grammars to define the paths.

    We present an algorithm for evaluating context-free path queries in graphs inspired by top-down parsing techniques.
    Given a graph and a query defined over a context-free grammar, our algorithm identifies pairs of vertices linked by paths that form words of the language generated by the grammar.
    We show that our algorithm is correct and demonstrate other important properties of it.
    It presents cubic worst-case runtime complexity in terms of the number of vertices in the graph.
    We implemented the proposed algorithm and evaluated its performance with RDF databases and synthetic graphs to confirm its efficiency.

6
  • FRED DE CASTRO SANTOS
  • Um mecanismo para avaliar consultas livres de contexto em bases de dados em grafos inspirado em analisadores LR(1)

  • Orientador : UMBERTO SOUZA DA COSTA
  • MEMBROS DA BANCA :
  • MARCEL VINICIUS MEDEIROS OLIVEIRA
  • MARIZA ANDRADE DA SILVA BIGONHA
  • MARTIN ALEJANDRO MUSICANTE
  • SERGIO QUEIROZ DE MEDEIROS
  • UMBERTO SOUZA DA COSTA
  • Data: 23/02/2018

  • Mostrar Resumo
  • A World Wide Web é uma coleção de informações sempre crescente. Esta informação é distribuída entre documentos diferentes, disponibilizados através do Hypertext Transfer Protocol (HTTP). Mesmo que essa informação seja acessível aos usuários na forma de artigos de notícias, transmissões de áudio, imagens e vídeos, os agentes de software geral- mente não podem classificá-la. A falta de informações semânticas sobre esses documentos em um formato legível por máquina muitas vezes faz com que a análise seja imprecisa. Um número significativo de entidades adotaram Linked Data como uma forma de adicionar informações semânticas aos seus dados, e não apenas publicá-lo na Web. O resultado é uma coleção global de dados, chamada Web of Data, que forma um grafo global, composto por declarações no formato Resource Description Framework (RDF) de diversas fontes, cobrindo todos os tipos de tópicos. Para poder encontrar informações específicas nesses dados, as consultas são realizadas começando em um sujeito e analisando seus predicados nas instruções RDF. Dado que um rastro é uma lista de predicados em um caminho de informação, pode-se dizer que existe uma conexão entre um sujeito e um objeto se houver um rastro entre eles nas instruções RDF.

    O uso de HTTP como mecanismo padrão de acesso a dados e RDF como modelo de dados padrão simplifica o acesso a dados, o que nos motiva a pesquisar alternativas na forma como esses dados são buscados. Uma vez que a maioria das linguagens de consulta de banco de dados de grafo estão na classe de Linguagens Regulares, nós propomos seguir um caminho diferente e tentar usar uma classe de gramática menos restritiva, chamada Gramática Livre de Contexto Determinística, para aumentar a expressividade das con- sultas no banco de dados em grafo. Mais especificamente, aplicando o método de análise LR(1) para encontrar caminhos em um banco de dados de grafo RDF. Neste documento, apresentamos alguns dos conceitos necessários para uma melhor compreensão dos proble- mas e da forma de resolvê-los. Analisamos alguns trabalhos relacionados à nossa pesquisa e sugerimos uma nova solução, usando conceitos de análise LR(1) para consultar o banco de dados. Por último, analizamos a complexidade do nosso algoritmo e executamos alguns experimentos, comparando nossa solução com as outras propostas, mostrando que a nossa pode ter melhor performance em alguns cenários.


  • Mostrar Abstract
  • The World Wide Web is an always increasing collection of information. This information is spread among different documents, which are made available by using the Hypertext Transfer Protocol (HTTP). Even though this information is accessible to users in the form of news articles, audio broadcasts, images and videos, software agents often cannot classify it. The lack of semantic information about these documents in a machine readable format often causes the analysis to be inaccurate. A significant number of entities have adopted Linked Data as a way to add semantic information to their data, not just publishing it on the Web. The result is a global data collection, called the Web of Data, which forms a global graph, consisting of Resource Description Framework (RDF) statements from numerous sources, covering all sorts of topics. To be able to find specific information in this graph, queries are performed by starting at a subject and analyzing its predicates in the RDF statements. Given that a trace is a list of predicates in an information path, one can tell there is a connection between one subject and one object if there is a trace between them in the RDF statements.

    The use of HTTP as a standardized data access mechanism and RDF as a standard data model simplifies the data access, but accessing heterogeneous data on distinct loca- tions can have an increased time complexity and current query languages have a reduced query expressiveness, which motivates us to research alternatives in how this data is queried. This reduced expressiveness happens because most query languages reside in the Regular Languages class. In this work, we introduce some of the concepts needed for better understanding the given problems and how to solve them. We analyze some works related to our research and propose to use Deterministic Context-Free Grammars instead of Regular languages to increase the expressiveness of the graph database queries. More specifically, applying the LR(1) parsing method to find paths in an RDF graph database. Lastly, we analyze our algorithm’s complexity and make some experiments, comparing our solution to other proposals, and show that ours can have better performance in given scenarios.

7
  • ANDERSON PABLO NASCIMENTO DA SILVA
  •  Uma Plataforma de Monitoramento Inteligente de Arritmia Cardíaca em Fluxo de Tempo Real

  • Orientador : GIBEON SOARES DE AQUINO JUNIOR
  • MEMBROS DA BANCA :
  • FERNANDO ANTONIO MOTA TRINTA
  • GIBEON SOARES DE AQUINO JUNIOR
  • JOAO CARLOS XAVIER JUNIOR
  • THAIS VASCONCELOS BATISTA
  • Data: 27/02/2018

  • Mostrar Resumo
  • Na última década tem-se visto um rápido crescimento na capacidade de sistemas de computa

    ção para coletar e transportar grandes quantidades de dados. Os cientistas e engenheiros

    que coletam esses dados muitas vezes se voltaram para o aprendizado de máquinas, a

    m de encontrar soluções para o problema de transformar esses dados em informação. Por

    exemplo, em vários dispositivos médicos, como a disponibilidade de sistemas de monitoriza

    ção da saúde, caixas de medicamentos com sensores incorporados neles que permitem

    coletar os dados brutos, armazenar e analisar, e através da análise pode-se obter insights

    e decisões sobre tais conjuntos de dados. Com o uso de aplicações de saúde baseados em

    aprendizado de máquina, existe uma oportunidade para melhorar a qualidade e a eciência

    dos cuidados médicos e, consequentemente, melhorar o bem-estar dos pacientes. Desta

    forma, este trabalho tem como objetivo geral a construção de uma plataforma de monitoramento

    inteligente de arritmia cardíaca que possibilite monitorar, identicar e alertar

    prossionais da saúde, pacientes e/ou familiares em tempo real sobre a saúde do paciente

    hospitalizado. A arquitetura e implementação da plataforma foram baseados na API do

    Weka e, como parte deste trabalho, foi implementada uma prova de conceito do uso da

    plataforma envolvendo módulos e aplicações desenvolvidos em Java.


  • Mostrar Abstract
  • In the last decade, there has been a rapid growth in the ability of computer systems to collect and carry large amounts of data. Scientists and engineers who collect this data have often turned to machine learning to nd solutions to the problem of turning that data into information. For example, in various medical devices, such as the availability of health monitoring systems, drug boxes with sensors embedded in them that allow you to collect raw data, store and analyze, and through the analysis you can get insights and decisions on such data sets. With the use of health applications based on machine learning, there is an opportunity to improve the quality and efficiency of medical care and, consequently, improve the wellness of patients. Thus, this work has as general objective the construction of an intelligent cardiac arrhythmia monitoring platform that allows monitoring, identifying and alerting health professionals, patients and relatives in real time about the hospitalized patient's health. The architecture and implementation of the platform were based on the Weka API and, as part of this work, a proof of concept of the use of the platform involving modules and applications developed in Java was implemented.

8
  • ALTAIR BRANDÃO MENDES
  • Mandala - Interoperabilidade baseada em Sistemas de Sistemas no âmbito de Cidades Inteligentes

  • Orientador : THAIS VASCONCELOS BATISTA
  • MEMBROS DA BANCA :
  • ELISA YUMI NAKAGAWA
  • FREDERICO ARAUJO DA SILVA LOPES
  • GIBEON SOARES DE AQUINO JUNIOR
  • THAIS VASCONCELOS BATISTA
  • Data: 28/02/2018

  • Mostrar Resumo
  • Atualmente, a dependência que as cidades modernas possuem em relação aos sistemas de informação é enorme. Uma parcela significativa desses sistemas, independente de serem gerenciados por entes públicos ou privados, foi desenvolvida utilizando tecnologias e conceitos que hoje já são considerados ultrapassados. Além disso, por não terem sido projetados com o intuito de se comunicarem com outros sistemas de forma interoperável, muitos sistemas existentes nas cidades são soluções isoladas e sem padronização. Por outro lado, o dinamismo exigido pelas empresas, pelo governo e, principalmente, pela população, demanda a união destes sistemas, trabalhando de forma integrada e interoperável. Interoperabilidade é fundamental para o alcance da eficiência e da eficácia do uso de recursos, extremamente necessárias em uma cidade inteligente. Mais que isso, a união entre estes sistemas pode trazer resultados antes inimagináveis, quando comparada aos resultados adquiridos por cada sistema isolado. Tais características remetem ao conceito de Sistema de Sistemas (ou SoS, do termo em inglês System of Systems), que consiste em um conjunto de sistemas complexos independentes e heterogêneos  que possuem seus próprios propósitos e colaboram, uns com os outros, para satisfazer objetivos comuns. Em SoS o resultado da interação entre diferentes sistemas é mais que a mera soma dos sistemas envolvidos, uma vez que em um SoS podem emergir novas funcionalidades que não são providas por qualquer um dos sistemas operando isoladamente. O uso da ideia de SoS no contexto de cidades inteligentes, visando promover interoperabilidade entre os sistemas tem sido um aspecto pouco explorado. Nesse contexto, este trabalho propõe o Mandala, um middleware baseado em SoS que possibilita a interoperabilidade entre sistemas de informação no âmbito de cidades inteligentes. O objetivo é tornar transparente a heterogeneidade dos sistemas envolvidos, fornecendo um ambiente de integração e interoperação de sistemas  de informação.


  • Mostrar Abstract
  • Currently, the cities depend considerable on information systems. A large part of these systems, regardless of the form of public or private management, was developed using technologies and concepts that are now considered outdated. Moreover, because they were not designed to communicate with other systems in an interoperable way, many of these systems in the cities are isolated and non-standardized solutions. In contrast, the dynamism demanded by companies, government and, mainly, population presupposes the union of these systems, working in an integrated and interoperable way. This interoperability is critical to achieving the efficiency and effectiveness of the use of expected resources in an smart city. Furthermore, the union between these systems can bring previously unimaginable results, when compared to the results acquired by each isolated system. These characteristics refer to the concept of System of Systems, which is a set of complex, independent, heterogeneous systems that have their own purposes and collaborate with others to achieve common goals. The interaction between different systems made possible by a SoS is more than the sum of the systems involved, since it allows a SoS to offer new functionalities that are not provided by any of the systems operating alone. Based on the above mentioned characteristics, this paper proposes Mandala, a SoS-centric middleware that enables interoperability between information systems in smart cities. The goal is to make the heterogeneity of the systems involved transparent, providing an environment of integration and interoperation of information systems.

9
  • FÁBIO PHILLIP ROCHA MARQUES
  • Dos Alfabetos ao Exame de Proficiência: Revisão Sistemática de Aplicativos para Ensino e Revisão da Língua Japonesa

  • Orientador : LEONARDO CUNHA DE MIRANDA
  • MEMBROS DA BANCA :
  • ANDRE MAURICIO CUNHA CAMPOS
  • LEONARDO CUNHA DE MIRANDA
  • MARCIA JACYNTHA NUNES RODRIGUES LUCENA
  • ROMMEL WLADIMIR DE LIMA
  • Data: 28/05/2018

  • Mostrar Resumo
  • Japonês é uma língua com escrita, vocabulário, gramática e pronúncia diferentes das línguas ocidentais, pois apresenta três alfabetos (sendo dois silábicos e um logográfico), contém vocabulário, ortografia e fonologia construídos a partir de diferentes nações e possui, ainda, uma gramática com diversas regras e formas que, inclusive, podem diferir de acordo com o grau de formalidade entre o ouvinte e o falante. Estudar japonês exige, portanto, muita dedicação e prática. Para apoiar o estudo da língua, mais de 3.100 aplicativos são disponibilizados em lojas virtuais com a intenção de apoiar os estudantes no ensino e revisão do alfabeto, vocabulário, gramática e compreensão auditiva japonesa, além de preparar para o Japanese Language Proficiency Test (JLPT). No entanto, pouco foi investigado sobre o conteúdo, metodologia de ensino e revisão e características tecnológicas desses aplicativos. Esta pesquisa tem como objetivo revisar sistematicamente aplicativos focados no apoio ao estudo de japonês, baseado em um framework proposto para revisão quantitativa e qualitativa de software para o aprendizado de línguas. Uma análise individual de apps é realizada para cada componente da língua, iniciando pelos alfabetos, prosseguindo para o vocabulário, gramática e compreensão auditiva, de forma a estudar os aplicativos de cada componente da língua japonesa; e finalizando com a análise de aplicativos voltados à preparação para o JLPT, dado que existem aplicativos com conteúdo e apresentação ajustados especificamente para o exame. Descobertas são apresentadas e incluem um detalhamento das principais características de aplicativos do cenário atual, classificação das principais recomendações de aplicativos para as plataformas móveis Android e iOS, comparação entre os aplicativos das plataformas Android e iOS em relação ao apoio oferecido aos estudos e um estudo das características pouco presentes no cenário de aplicativos que são importantes no apoio ao estudo de japonês.


  • Mostrar Abstract
  • Japanese is a language with writing, vocabulary, grammar and pronunciation quite different from western languages, because it contains three alphabets (with two syllabic alphabets and the third one logographic), contains vocabulary, orthography and phonology built upon different nations and even has a grammar with many rules and forms, which may even differ according with the degree of formality between the listener and the speaker. Therefore, studying Japanese requires a lot of dedication and practice. To support the study of the language, more than 3100 applications are available in virtual stores with the intention of supporting students in learning and revising the Japanese alphabet, vocabulary, grammar and listening comprehension, as well as preparing for the Japanese Language Proficiency Test (JLPT). However, little has been investigated about the contents, teaching and reviewing methodology and technological features of these applications. This research aims to systematically review applications focused on supporting Japanese language study, based on a proposed framework for qualitative and quantitative review of language learning software. An individual evaluation is executed for each part of the language, starting with the alphabet, proceeding with vocabulary, grammar and listening comprehension, in order to study the applications of each component of the Japanese language; and finishing with the analysis of applications geared towards JLPT preparation, since there are applications with content and presentation adjusted specifically for the exam. Research findings are presented and include details of the main features of applications in the current scenario, a classification and comparison of the most recommended applications for the Android and iOS mobile platforms, comparison between Android and iOS platform apps in relation to the support provided to the studies and a study of features that do not usually appear in current applications but are very important for helping study Japanese nonetheless.

10
  • ISLAME FELIPE DA COSTA FERNANDES
  • Meta-heurísticas Híbridas Aplicadas ao Problema da Árvore Geradora Multiobjetivo

  • Orientador : ELIZABETH FERREIRA GOUVEA GOLDBARG
  • MEMBROS DA BANCA :
  • ELIZABETH FERREIRA GOUVEA GOLDBARG
  • MARCO CESAR GOLDBARG
  • SILVIA MARIA DINIZ MONTEIRO MAIA
  • THATIANA CUNHA NAVARRO DE SOUZA
  • Data: 06/07/2018

  • Mostrar Resumo
  • O Problema da Árvore Geradora Multiobjetivo (AGMO) é uma extensão NP-Difícil da Árvore Geradora Mínima (AGM). Devido a sua habilidade em modelar inúmeros problemas reais onde objetivos conflitantes devem ser otimizados simultaneamente, a AGMO tem sido intensamente estudada na literatura e muitos algoritmos exatos e heurísticos lhe foram propostos. Além disso, nos últimos anos, pesquisas têm demonstrado considerável desempenho dos algoritmos que combinam estratégias de várias meta-heurísticas. Estes algoritmos são chamados híbridos e trabalhos anteriores os aplicaram com sucesso a vários problemas de otimização. Neste trabalho, cinco novos algoritmos híbridos são propostos para duas versões da AGMO: três para a versão bi-objetivo (AG-Bi) baseada em dominância de Pareto e dois para a versão com muitos objetivos baseada no operador de média ponderada ordenada (AG-OWA). Esta pesquisa hibridizou diversas abordagens meta-heurísticas com respeito a diferentes categorias de hibridização. Experimentos computacionais avaliaram as novas abordagens com base no tempo computacional e na qualidade das soluções encontradas. Os resultados foram comparados com o estado da arte. 


  • Mostrar Abstract
  • The Multi-objective Spanning Tree Problem (MSTP) is an NP-hard extension of the Minimum Spanning Tree (MST). Once the MTSP models several real-world problems in which conflicting objectives need to be optimized simultaneously, it has been extensively studied in the literature and several exact and heuristic algorithms were proposed for it. Besides, over the last years, researchs have showed the considerable performance of algorithms that combine various metaheuristic strategies. They are called hybrid algorithms and previous works successfully applied them to several optimization problems. In this work, five new hybrid algorithms are proposed for two versions of the MSTP: three for the bi-objective version (BiST) based on Pareto dominance and two for the many-objective version based on the ordered weighted average operator (OWA-ST). This research hybridized elements from various metaheuristics. Computational experiments investigated the potential of the new algorithms concerning computational time and solution quality. The results were compared to the state-of-the-art.

11
  • JÉSSICA LAÍSA DIAS DA SILVA
  • Game Design de Jogos Digitais de Pensamento Computacional inspirados no Instrumento de Avaliação Bebras Challenge

  • Orientador : EDUARDO HENRIQUE DA SILVA ARANHA
  • MEMBROS DA BANCA :
  • EDUARDO HENRIQUE DA SILVA ARANHA
  • JACQUES DUÍLIO BRANCHER
  • MARCIA JACYNTHA NUNES RODRIGUES LUCENA
  • Data: 25/07/2018

  • Mostrar Resumo
  • Diversas competências são exigidas neste século, entre elas, as competências relacionadas à computação. Conforme Blinkstein (2008) afirma que a lista de habilidades exigidas para este século é bem extensa. Contudo, ele enfatiza o pensamento computacional com sendo uma das mais significativas como também a menos compreendida. O Pensamento computacional (PC) pode ser definido como um processo de resolução de problemas que compreende conceitos, habilidades e práticas da Ciência da Computação. Dentre o esforço internacional para disseminar o Pensamento Computacional temos em destaque o Teste Bebras. O principal objetivo do Teste é motivar os alunos do ensino primário e secundário, como também o público em geral a interessarem-se pela computação e o PC. O ensino do Pensamento Computacional é importante se difundido, porém é observado que muito ainda se falta nos jogos digitais para trabalharem as habilidades propostas para o ensino e aprendizagem do PC. Assim o presente trabalho tem o objetivo de Investigar a qualidade do Game Design de jogos educativos criados a partir de questões do Teste Bebras Challenge.


  • Mostrar Abstract
  • Several skills are required in this century, among them, computer-related skills. As Blinkstein (2008) states, the list of skills required for this century is quite extensive. However, he emphasizes computational thinking as being one of the most significant as well as least understood. Computational Thinking (PC) can be defined as a problem-solving process that encompasses concepts, skills, and practices in Computer Science. Among the international effort to disseminate Computational Thinking we have highlighted the Bebras Test. The main goal of the Test is to motivate primary and secondary school students as well as the general public to become interested in computing and the PC. The teaching of Computational Thinking is important if it is widespread, but it is observed that much is still lacking in the digital games to work the proposed skills for the teaching and learning of the PC. Thus the present work aims to investigate the quality of Game Design of educational games created from questions of the Bebras Challenge Test.

12
  • WENDELL OLIVEIRA DE ARAÚJO
  • Geração Procedural de Conteúdo para Criação de Fases de Jogos Educativos

  • Orientador : EDUARDO HENRIQUE DA SILVA ARANHA
  • MEMBROS DA BANCA :
  • EDUARDO HENRIQUE DA SILVA ARANHA
  • JACQUES DUÍLIO BRANCHER
  • MARCIA JACYNTHA NUNES RODRIGUES LUCENA
  • Data: 25/07/2018

  • Mostrar Resumo
  • Jogos digitais educativos tem se mostrado uma grande área de pesquisa que vem aumentando com o decorrer dos anos em todo o cenário internacional. Esse fato tem se dado pelo potencial que os jogos têm de diversão, imersão e estímulo à aprendizagem de maneira natural e personalizada. Dessa forma, um dos grandes desafios encontrados nessa área é o da criação de jogos que atendam aos conteúdos propostos para serem ensinados ou praticados. Nesse sentido, a geração procedural de conteúdo tem se apresentado como uma área que pode auxiliar do desenvolvimento de jogos educativos. A geração procedural de conteúdo (PCG) trata da criação automática de conteúdos como texturas, sons, objetos e, no contexto deste trabalho a geração de fases. Assim, a PCG contribui para a criação de novas fases sem que haja a necessidade de intervenção humana. Com isso, a pesquisa busca fazer uso de uma técnica de PCG para a criação de fases de jogos educativos que requeiram do jogador atingir certos objetivos pedagógicos ao longo do jogo. Para isso, propomos uma abordagem de geração em três etapas: (i) geração da estrutura básica da fase (ex.: somente chãos e paredes); (ii) A geração de elementos relacionados aos objetivos pedagógicos da fase; (iii) completar o restante da fase com inimigos e demais elementos de cenário. Deste modo, ela pode ser utilizada para criar diferentes desafios e cenários para que um aluno possa praticar determinado conteúdo, visto que sempre que um desafio é concluído, um novo desafio pode ser gerado para o aluno. Dessa forma, esta abordagem será investigada utilizando a técnica de PCG baseada em gramática. Portanto, buscamos verificar se a técnica em conjunto com a abordagem proposta auxilia na geração dos conteúdos e as cria de maneira eficaz, avaliando sua qualidade e funcionalidades com alunos do ensino fundamental. 


  • Mostrar Abstract
  • Educational digital games has been an area of research that has increased with the years throughout the international scene. This fact has been due to the potential that the games have of fun, immersion and stimulation to the learning of natural and personalized way. Thus, one of the great challenges found in this area is the creation of games that meet the contents proposed to be taught or practiced. In this sense, the procedural content generation has emerged as an area that can assist the development of educational games. The procedural content generation (PCG) deals with the automatic creation of contents such as textures, sounds, objects and, in the context of this work, the level’s generation. Thus, PCG contributes to the creation of new levels without the need for human intervention. With this, the research seeks to make use of PCG technique to create levels of educational games that require the player to achieve certain pedagogical goals throughout the game. For this, we propose a generation approach in three stages: (i) generation of the basic structure of the level (ex: only floors and walls); (ii) The generation of elements related to the pedagogical objectives of the level; (iii) complete the remainder of the level with enemies and other scenario elements. In this way, it can be used to create different challenges and scenarios so that a student can practice certain content, since whenever a challenge is completed, a new challenge can be generated for the student. In this way, this approach will be investigated using the grammar-based PCG technique. Therefore, we seek to verify if the technique in conjunction with the proposed approach assists in the generation of contents and creates them effectively, evaluating their quality and functionalities with elementary students.


13
  • RAFAEL FERREIRA TOLEDO
  • Um Mecanimo de Recuperação Baseado em Reescrita para Composições de Serviços Web

  • Orientador : UMBERTO SOUZA DA COSTA
  • MEMBROS DA BANCA :
  • GENOVEVA VARGAS-SOLAR
  • MARTIN ALEJANDRO MUSICANTE
  • UMBERTO SOUZA DA COSTA
  • Data: 26/07/2018

  • Mostrar Resumo
  •  

    As composições de serviços da Web são expostas a uma ampla variedade de falhas. Os serviços localizados remotamente podem representar possíveis problemas devido aos meios de conectivi- dade necessários para a comunicação. Além disso, mudanças implementadas por seu respectivo provedor durante as atualizações do sistema também podem ocasionar erros. Esses problemas representam eventos inesperados que comprometem a corretude e disponibilidade de uma de- terminada composição de serviços. Esta dissertação apresenta uma abordagem para melhorar a robustez das composições de serviços Web, recuperando de falhas ocorridas em diferentes momentos de sua execução. Primeiramente, apresentamos uma taxonomia de falhas como uma visão geral de trabalhos anteriores sobre recuperação de falhas em composições de serviços. A classificação resultante é usada para propor nosso método de autocorreção para orquestrações de serviços da Web. O método proposto, baseado no processo de refinamento das composições, leva em consideração as preferências do usuário para gerar as melhores soluções possíveis para a recuperação. Para validar nossa abordagem, produzimos um protótipo de implementação ca- paz de simular e analisar diferentes cenários de falhas. Nesse sentido, nosso trabalho apresenta algoritmos para gerar composições e serviços Web sintéticos. Nesse cenário, tanto o tempo de recuperação quanto a degradação da preferência do usu'ario são investigados após a execução de recuperaçções locais, parciais e totais. Essas estratégias representam diferentes níveis de intervenção na composição.



  • Mostrar Abstract
  • Web service compositions are exposed to a wide variety of failures. The service components re- motely located can represent potential problems due to the means of connectivity necessary for communication or because of changes implemented by their respective provider during system updates. Those problems represent unexpected events that compromise the correctness and availability of a given service composition. This dissertation presents an approach to improve the robustness of Web service compositions by recovering from failures occurred at different moments of their execution. We first present a taxonomy of failures as an overview of previous research works on the topic of fault recovery of service compositions. The resulting classifica- tion is used to propose our self-healing method for Web service orchestrations. The proposed method, based on the refinement process of compositions, takes user preferences into account to generate the best possible recovering compositions. To validate our approach, we produced a prototype implementation capable of simulating and analyzing different scenarios of faults. For that matter, our work introduces algorithms for generating synthetic compositions and Web services. In this setting, both the recovery time and the user preference degradation are investigated under different strategies, namely local, partial or total recovery. These strategies represent different levels of intervention on the composition.
14
  • FRANCISCO GENIVAN SILVA
  • Análise do Comportamento de Estudantes em Videoaulas

  • Orientador : EDUARDO HENRIQUE DA SILVA ARANHA
  • MEMBROS DA BANCA :
  • EDUARDO HENRIQUE DA SILVA ARANHA
  • FERNANDO MARQUES FIGUEIRA FILHO
  • ISABEL DILLMANN NUNES
  • FABIANO AZEVEDO DORÇA
  • Data: 27/07/2018

  • Mostrar Resumo
  • A Educação a Distância e o uso de sistemas e-learning contribuem para a grande
    geração de dados educacionais. Diante disso, a utilização de banco de dados e o
    armazenamento de logs de execução possibilitam que os dados fiquem mais facilmente
    acessíveis e propícios para investigação dos processos educacionais. Metodologias de extração
    automática de informações úteis a partir de grandes volumes de dados, em especial a
    Mineração de Dados, têm contribuído expressivamente para melhorias no campo da
    educação. Entretanto, a maioria dos métodos tradicionais está centrada unicamente nos dados
    ou em como eles são estruturados, não havendo preocupação maior com o processo
    educacional como um todo. Além disso, pouca atenção tem sido dada a dados do
    comportamento dos estudantes durante o uso de recursos e mídias educacionais. As
    videoaulas têm sido utilizadas como parte significativa de diversos cursos ofertados,
    demonstrando que a cultura do vídeo está cada vez mais disseminada e que faz parte do
    cotidiano dos estudantes. Diante disso, compreendemos, pois, que analisar o comportamento
    dos estudantes durante a execução dos vídeos pode contribuir para uma avaliação mais
    precisa da qualidade dos assuntos abordados e da forma como foram trabalhados. Deste
    modo, este trabalho de mestrado se constituiu da realização de estudos conduzidos de modo a
    investigar o modo como estudantes se comportam durante o uso das videoaulas para propor
    uma abordagem de avaliação deste recurso. A avaliação das videoaulas se dá por meio de um
    processo que envolve extração de informações de arquivos de log e modelagem de ações
    através da mineração de processos. Os resultados iniciais demonstram que o número de
    visualizações, o tempo gasto e o tempo de abandono do vídeo são variáveis que possuem
    grande capacidade de oferecer informações úteis sobre a aprendizagem dos alunos. Isto
    demonstra que avaliar o recurso educacional através da análise de suas ações pode contribuir
    substancialmente na área educacional, beneficiando o tratamento de questões como a
    identificação de gargalos no processo de aprendizagem e a antecipação de problemas,
    principalmente na educação a distância. Os resultados obtidos durante os primeiros estudos
    com o uso da Mineração de Processos em dados experimentais proporcionaram maior clareza
    acerca do comportamento dos alunos durante as videoaulas, dando o direcionamento
    necessário para as ações a serem tomadas por professores ou produtores de conteúdo. Em
    vista disso, o trabalho traz contribuições para a melhoria de aspectos chave das videoaulas a
    partir de uma abordagem multidisciplinar, ajudando diretamente educadores e gestores a
    promoverem uma formação educacional mais completa baseada em recursos com melhor
    qualidade.


  • Mostrar Abstract
  • Distance Education and the use of e-learning systems contribute to the great
    generation of educational data. Therefore, the use of databases and the storage of execution
    logs make the data more easily accessible and suitable for investigation of educational
    processes. Methodologies for automatic extraction of useful information from large volumes
    of data, especially data mining, have significantly contributed to improvements in the field of
    education. However, most traditional methods are focused solely on the data or how they are
    structured, with no major concern with the educational process as a whole. In addition, little
    attention has been paid to data on student behavior during resource use and educational
    media. Video lessons have been used as a significant part of several courses offered,
    demonstrating that the culture of video is increasingly disseminated and is part of students'
    daily lives. Therefore, we understand that analyzing the behavior of students during the
    execution of the videos can contribute to a more accurate evaluation of the quality of the
    subjects addressed and the way they were worked. Thus, this master's work consisted of
    carrying out studies conducted in order to investigate the way students behave during the use
    of video lessons to propose an approach to evaluate this resource. The evaluation of video
    lessons occurs through a process that involves extracting information from log files and
    modeling actions through process mining. The initial results demonstrate that the number of
    views, the time spent and the time of drop out of the video are variables that have great
    capacity to offer useful information about the students' learning. This demonstrates that
    evaluating the educational resource through the analysis of its actions can contribute
    substantially in the educational area, benefiting the treatment of issues such as the
    identification of bottlenecks in the learning process and the anticipation of problems,
    especially in distance education. The results obtained during the first studies using Process
    Mining in experimental data provided greater clarity about students' behavior during video
    lessons, giving the necessary direction for the actions to be taken by teachers or content
    producers. In view of this, the work brings contributions to the improvement of key aspects of
    videotapes from a multidisciplinary approach, directly helping educators and managers to
    promote a more complete educational formation based on resources with better quality.

15
  • FÁBIO ANDREWS ROCHA MARQUES
  • Desenvolvimento e Avaliação do Nihongo Kotoba Shiken: Um Exame Computadorizado de Conhecimento da Língua Japonesa

  • Orientador : LEONARDO CUNHA DE MIRANDA
  • MEMBROS DA BANCA :
  • ANDRE MAURICIO CUNHA CAMPOS
  • LEONARDO CUNHA DE MIRANDA
  • MARCIA JACYNTHA NUNES RODRIGUES LUCENA
  • ROMMEL WLADIMIR DE LIMA
  • Data: 27/07/2018

  • Mostrar Resumo
  • O estudo de línguas estrangeiras envolve a constante elaboração, aplicação e correção de avaliações de conhecimento. Nesse contexto, o uso de testes computadorizados tem facilitado estas tarefas, porém existem algumas limitações. Através da realização de estudos nas áreas de avaliação de conhecimento em línguas estrangeiras e automatização desta atividade, a presente pesquisa objetiva desenvolver uma forma de automatizar a avaliação de conhecimento na língua japonesa que não necessita de interação em tempo integral com um professor profissional da língua e que não esteja limitada a um conteúdo fixo da língua, i.e. o conteúdo do teste deve ser modificável. Serão apresentadas as etapas de pesquisa sobre o estudo e avaliação de conhecimento da língua japonesa através da tecnologia, concepção da metodologia de avaliação utilizada no exame, fluxo de execução e características do Nihongo Kotoba Shiken, e avaliações com um profissional da língua e algumas turmas de japonês em um contexto real de ensino.


  • Mostrar Abstract
  • The study of foreign languages involves the constant elaboration, application and correction of exams. In this context, the use of computerized tests has facilitated these tasks, but there are some limitations. By conducting studies in the areas of foreign language knowledge assessment and automation of this activity, the present research aims to develop a method to automate knowledge assessment in the Japanese language that does not require full interaction with a professional teacher of the language and which is not limited to a fixed content of the language, i.e. the content of the test must be modifiable. This work will present the research stages about the study and evaluation of Japanese language knowledge through the technology, the design of the evaluation methodology used in the exam, the flow of execution and characteristics of the Nihongo Kotoba Shiken, and assessments with a professional of the language and some Japanese language learning classes.

16
  • GABRIEL DE ALMEIDA ARAÚJO
  • Plataforma Interativa de Análise de Velocidade em Dados Sísmicos usando GPUs

  • Orientador : BRUNO MOTTA DE CARVALHO
  • MEMBROS DA BANCA :
  • BRUNO MOTTA DE CARVALHO
  • MONICA MAGALHAES PEREIRA
  • CARLOS CESAR NASCIMENTO DA SILVA
  • ARMANDO LOPES FARIAS
  • Data: 27/07/2018

  • Mostrar Resumo
  • Com o avanço da exploração de hidrocarbonetos, a indústria vem buscando continuamente meios de minimizar os riscos exploratórios, onde um desses meios é o aprimoramento das ferramentas utilizadas. Existem três etapas nessa exploração: a aquisição de dados sísmicos, o processamento sísmico e a interpretação sísmica. O presente trabalho se situa no processamento sísmico, mais especificamente em uma de suas etapas, a análise de velocidade sísmica, que tem como objetivo encontrar o campo de velocidade mais fidedigno da subsuperfície da terra através de algoritmos conhecidos de análise. Um dos objetivos desse trabalho é a criação de meios para facilitar essa análise de velocidade, através da implementação desses algoritmos de forma que eles funcionem integrados em uma única plataforma. Outro ponto que o avanço da exploração sísmica trouxe foi o aumento considerável do volume de dados sísmicos adquiridos e das tecnologias utilizadas, que elevaram consideravelmente a necessidade de computadores mais poderosos e também à busca de soluções de alto poder computacional. Com base nessa necessidade, será apresentada uma nova metodologia de análise de dados sísmicos usando GPUs e os resultados obtidos da sua utilização, mostrando sua viabilidade para acelerar algoritmos geofísicos, em especial algoritmos voltados para à análise de velocidade. Ao final serão discutidos os resultados e feita a comparação de desempenho dos algoritmos paralelos e sequenciais.


  • Mostrar Abstract
  • With the advancement of hydrocarbon exploration, the oil industry has been searching for ways to minimize exploratory risks, with one of these ways being the improvement of the used tools. There are three steps in this exploration: the seismic data acquisition, the seismic processing and seismic interpretation. This work is part of the seismic processing, more specifically of one of its stages, the seismic velocity analysis, which aims to find the seismic velocity field that offers reliable earth subsurface models through known algorithms of velocity analysis. One of the objectives of this work is the creation of tools to facilitate this velocity analysis by implementing these algorithms so that they work integrated in a single platform of analysis. Another point that this advance brought, was the considerable increase in the volume of seismic data acquired, which led to an increasing need of computer processing power. Given this need, we present a methodology for velocity analysis using GPUs and its results, showing the viability of using it to accelerate Geophysics algorithms, particularly algorithms for velocity analysis. Finally, case studies will be presented, showing the performance results of the algorithms in CPU and GPU versions.

17
  • GABRIELA OLIVEIRA DA TRINDADE
  • Visualização da Rastreabilidade em Projetos Ágeis através de Dados contidos em Ferramentas de Apoio à Gerência de Projetos


  • Orientador : MARCIA JACYNTHA NUNES RODRIGUES LUCENA
  • MEMBROS DA BANCA :
  • GILBERTO AMADO DE AZEVEDO CYSNEIROS FILHO
  • LYRENE FERNANDES DA SILVA
  • MARCIA JACYNTHA NUNES RODRIGUES LUCENA
  • Data: 27/07/2018

  • Mostrar Resumo
  • A rastreabilidade de software, conhecida pelo relacionamento entre quaisquer artefatos da engenharia de software, traz grandes vantagens no processo de desenvolvimento. As informações que ela fornece ajudam em tomadas de decisão diante de uma alteração, melhor entendimento do artefato, reusabilidade, manutenção, previsão de custos e prazos, entre outros. Com ambientes cada vez mais adeptos às metodologias ágeis, com o cliente lado a lado dando feedbacks constantes, a adequação a essas mudanças solicitadas tem sido uma prática comum durante o desenvolvimento de sistemas. E, para que as mudanças sejam feitas de forma segura, informações de rastreabilidade ajudam em decisões, com o objetivo de que a alteração não traga inconsistências, introdução de erros e geração de falhas no sistema.

    Algumas ferramentas de gerenciamento de projetos suportam elementos de rastreabilidade. Contudo com diversos dados que podem ser fornecidas com tal prática, fica difícil interpretá-los, principalmente quando são apresentados apenas textualmente. Sabendo que a visualização de informação traz possibilidade de uma análise com grandes volumes de dados de forma rápida e com mais clareza, oferecendo uma tomada de decisão mais segura e, permitindo descobrir informações antes não vistas, é possível verificar na literatura técnicas de visualização de informação de rastreabilidade. No entanto, tais técnicas necessitam de informações além desses dados, precisam considerar os pilares da informação expostos na academia (problemática, o que, quando e quem visualizar) para se ter uma visualização adequada.

    Com este intuito, este trabalho realiza entrevistas na indústria para responder aos pilares da informação considerados na proposta de uma visualização. Em seguida, uma análise baseada em Teoria Fundamentada é feita nos dados levantados. Então, no contexto montado de rastreabilidade, perfis definidos, necessidades e problemas descritos e, artefatos gerados em ambientes ágeis, é estudada na bibliografia as visualizações de informação existentes.

    Como resultado é realizada uma discussão e sugestão de visualização apropriada para informações de rastreabilidade com base nas sugestões da literatura e dos dados levantados da entrevista. Posteriormente, com  Heurísticas criadas, é feita uma avaliação das ferramentas de gerenciamento de projeto que se integram a plataforma de hospedagem e versionamento de dados Github, para averiguar se fornecem a visualização de informação de rastreabilidade notada.



  • Mostrar Abstract
  • Software traceability, known for the relationship between any software engineering artifacts, brings great advantages to the development process. The information it provides helps in decision making in the face of a change, better understanding of the artifact, reusability, maintenance, forecasting of costs and deadlines, among others. With environments increasingly adept at agile methodologies, with client side-by-side giving constant feedbacks, a adequacy to these requested changes has been a common practice during system development. And, in order for changes to be made safely, traceability information helps in making decisions, with a goal in which the change does not bring inconsistencies, introduce errors, and generate system failures.
    Some project management tools support traceability elements. However, with several data that can be provided with such a practice, it is difficult to interpret them, especially when they are presented only textually. Knowing that the visualization of information brings the possibility of an analysis with large volumes of data in a fast and clear way, offering a safer decision making and, allowing to discover information previously unseen, it is possible to verify in the literature techniques of visualization of information of traceability. However, such techniques require information in addition to these data, need to consider the pillars of information exposed in the academy (problematic, what, when and who to view) to have an adequate visualization.
    With this purpose, this work performs interviews in the industry to respond to the pillars of information considered in the proposal of a visualization. Then, an analysis based on Grounded Theory is done on the data collected. Then, in the assembled context of traceability, defined profiles, needs and problems described, and artifacts generated in agile environments, the existing information visualizations are studied in the bibliography.
    As a result, a discussion and suggestion of appropriate visualization for traceability information are made based on the suggestions in the literature and data collected from the interview. Later, with Heuristics created, an evaluation of the project management tools that integrate the platform of hosting and versioning of data Github is made, to see if they provide the noticed visualization of traceability information.

18
  • DANNYLO JOHNATHAN BERNARDINO EGÍDIO
  • Uma proposta de framework para facilitar o desenvolvimento de aplicações baseadas em IoT

  • Orientador : GIBEON SOARES DE AQUINO JUNIOR
  • MEMBROS DA BANCA :
  • GIBEON SOARES DE AQUINO JUNIOR
  • EDUARDO HENRIQUE DA SILVA ARANHA
  • DIEGO RODRIGO CABRAL SILVA
  • KIEV SANTOS DA GAMA
  • Data: 30/07/2018

  • Mostrar Resumo
  • Os últimos anos tem sido marcados por um crescente avanço na computação embarcada,

    tecnologias de sensoriamento e dispositivos conectados. Tal avanço impactou de maneira

    expressiva em paradigmas inovadores, tais como o de Internet das Coisas (IoT) que acredita

    que objetos inteligentes capazes de conectarem-se na rede poderão cooperar entre si

    para alcançar um objetivo comum. Tal crescimento alavancou iniciativas de fornecedores

    em produzir protocolos e padrões de comunicação que viabilizassem essa cooperação, no

    entanto, a diversidade considerável de dispositivos, e consequentemente de protocolos que

    surgiram, acabaram por dicultar esse processo. Inúmeros desaos foram surgindo, dentre

    eles a heterogeneidade e a interoperabilidade. Estes desaos tornaram o processo de

    desenvolvimento das aplicações IoT uma tarefa complexa e custosa, pois as capacidades

    destes protocolos e padrões voltadas à descoberta dos dispositivos na rede, comunicação

    entre eles, entre outras, se tornaram bastante especícas para cada dispositivo, obrigando

    o desenvolvedor a criar estratégias de integração complexas para lidar com essa limitação.

    Desta forma, este trabalho propõe um framework que buscará simplicar o processo de

    desenvolvimento de aplicações IoT através da virtualização de dispositivos, de maneira

    que aspectos heterogêneos ligados aos dispositivos serão abstraídos por esta virtualização,

    e operações comuns dos protocolos tais como descoberta de dispositivos e comunicação

    com estes serão abstraídos através de uma interface comum entre eles, integrando-os e

    diminuindo os impactos das características heterogêneas.


  • Mostrar Abstract
  • Recent years have been marked by a growing advance in embedded computing, sensoring

    technologies and connected devices. Such an advance has had a signicant and expressive

    impact on innovative paradigms such as the Internet of Things (IoT), which believes that

    intelligent objects capable of connecting in the network can cooperate among each other

    to achieve a common goal. Such growth has leveraged supplier initiatives to produce

    protocols and communication standards that would enable such cooperation, however,

    the considerable diversity of devices and consequently protocols that have emerged have

    made this process dicult, creating numerous challenges, including heterogeneity and

    interoperability. These challenges have made the IoT application development process a

    complex and costly task, since the capabilities of these protocols and standards aimed at

    discovering the devices on the network, communication among them, have become quite

    specic for each device, forcing the developer to create complex integration strategies to

    deal with this limitation. In this way, this work proposes a textit framework that will seek

    to simplify the process of development of IoT applications through device virtualization, so

    that heterogeneous aspects connected to devices will be abstracted by this virtualization,

    and common operations of protocols such as discovery of devices and communication with

    them will be abstracted through a common interface between them, integrating them and

    reducing the impacts of the heterogeneous characteristics.

19
  • ERITON DE BARROS FARIAS
  • CATÁLOGO DE RECOMENDAÇÕES PARA AUXILIAR ADOÇÃO OU TRANSFORMAÇÃO ÁGIL

  • Orientador : MARCIA JACYNTHA NUNES RODRIGUES LUCENA
  • MEMBROS DA BANCA :
  • FERNANDO MARQUES FIGUEIRA FILHO
  • MARCIA JACYNTHA NUNES RODRIGUES LUCENA
  • MARILIA ARANHA FREIRE
  • Data: 30/07/2018

  • Mostrar Resumo
  • Na academia é cada vez maior a quantidade de estudos sobre métodos ágeis. O desenvolvimento ágil de software exerce um impacto significativamente positivo no desempenho das equipes de desenvolvimento, na qualidade do software e na satisfação do usuário. Assim, dentre outros temas, a Adoção e Transformação Ágil são dois dos temas mais relevantes nos principais eventos sobre o ágil. Muitas equipes que trabalham com desenvolvimento ágil relatam que ainda falta um manual ou documento, onde se possa facilmente encontrar soluções para auxiliar equipes ágeis a realizarem processos de Transformação ou Adoção Ágil. Portanto, este trabalho tem o objetivo de analisar e categorizar informações que possam auxiliar equipes nesses processos. O resultado dessa análise foi organizado em um catálogo denominado de Catálogo de Recomendações para Auxiliar Adoção ou Transformação Ágil.


  • Mostrar Abstract
  • The number of studies on agile methods has increased in the academy. Agile software development has a significant positive impact on the performance of the development teams, software quality and users' satisfaction. Thus, among other topics, Agile Adoption and Transformation are two of the most relevant themes in the main events about agile. Many teams that work with agile development report that they miss a tutorial or document, in which it is possible to find solutions to help agile teams carry out processes of Agile Transformation or Adoption easily. Therefore, this work has the objective of analyzing and categorizing information that can assist teams in these processes. The result of this analysis was organized in a catalog called Recommendations Catalog to Assist Agile Adoption or Transformation.

20
  • VINÍCIUS ARAÚJO PETCH
  • Problema do Passeio Lucrativo com Passageiros e Restrições de Tempo – PPL-RT

  • Orientador : MARCO CESAR GOLDBARG
  • MEMBROS DA BANCA :
  • ELIZABETH FERREIRA GOUVEA GOLDBARG
  • MARCO CESAR GOLDBARG
  • MATHEUS DA SILVA MENEZES
  • SILVIA MARIA DINIZ MONTEIRO MAIA
  • Data: 06/08/2018

  • Mostrar Resumo
  • Este trabalho busca modelar e examinar soluções para o Problema do Passeio Lucrativo com Passageiros e Restrições de Tempo. O trabalho propõe um modelo matemático para o problema, algoritmo exato de solução e meta-heurísticas para a aproximação de solução. Para operacionalizar o experimento computacional necessário à presente pesquisa e por se tratar de um modelo não descrito na literatura, foram também criadas instâncias de teste. O trabalho realiza um experimento computacional para avaliar o desempenho da modelagem matemática e delinear a capacidade de aproximação de algoritmos meta-heurísticos para o problema. Por fim, descreve-se o cronograma para a defesa de mestrado e como o problema poderá ser desenvolvido em trabalhos futuros.


  • Mostrar Abstract
  • This paper seeks to model and examine solutions to the Profitable Tour Problem with Passengers and Time Constraints (PTP-TR). The work proposes a mathematical model for the problem, exact solution algorithm and metaheuristics for the solution approximation. In order to operationalize the computational experiment necessary to the present research and because it is a model not described in the literature, test instances were also created. The work performs a computational experiment to evaluate the performance of mathematical modeling and delineate the ability to approximate metaheuristic algorithms for the problem. Finally, it describes the schedule for the masters defense and how the problem can be developed in future works.

21
  • LUCAS MARIANO GALDINO DE ALMEIDA
  • Minerando Exceções Runtime não Documentadas em Bibliotecas Java a partir do GitHub: Um Estudo Exploratório

  • Orientador : ROBERTA DE SOUZA COELHO
  • MEMBROS DA BANCA :
  • ROBERTA DE SOUZA COELHO
  • UIRA KULESZA
  • EIJI ADACHI MEDEIROS BARBOSA
  • MARCELO DE ALMEIDA MAIA
  • Data: 14/08/2018

  • Mostrar Resumo
  • Exceções uncaught não são um cenário excepcional nos sistemas atuais. Estima-se que as exceções uncaught  representem dois terços dos crashs em sistemas Java. Tais exceções podem ser lançadas por problemas no código da aplicação, no hardware subjacente ou até mesmo por uma API reutilizada. Muito frequentemente, a documentação sobre as exceções sinalizadas pelos métodos da API está ausente ou incompleta. Como conseqüência, o desenvolvedor geralmente descobre essas exceções quando elas ocorrem no ambiente de produção causando crashes. Este trabalho relata um estudo exploratório que extraiu os stack traces inseridas em issues do GitHub para descobrir as interfaces excepcionais não documentadas de APIs. No geral, foram mineradas as issues 2.970 projetos Java hospedados no GitHub, dos quais foram extraídos e aproximadamente 66.118 stack traces. Neste estudo, a interface excepcional de um conjunto de aproximadamente 600 APIs do Maven foram investigadas. Os resultados do estudo de mineração mostram que as informações disponíveis nas stack traces embutidas nas issues podem, de fato, ser usadas para descobrir exceções não documentadas lançadas pelos métodos da API.


  • Mostrar Abstract
  • Uncaught exceptions are not an exceptional scenario in current applications. The uncaught exceptions are estimated to account for two thirds of system crashes. Such exceptions can be thrown on the application itself, by the underlying system or hardware, or even by a reused API. More often than not, the documentation about the runtime exceptions signaled by API methods are absent or incomplete. As a consequence, the developer usually discovers about such exceptions when they happen in production environment - leading to application crashes. This work reports an exploratory study that mined the exception stack traces embedded on GitHub issues to discover the undocumented exception interfaces of API methods. Overall the issues of 2.970 java projects hosted in GitHub were mined and 66.118  stack traces were extracted. Hence, a set of top maven APIs where investigated using this stack traces data set, and undocumented exception interfaces could be discovered. The results of the mining study show that the information embedded on issues can indeed be used to discover undocumented exceptions thrown by API methods.


22
  • JOÃO CARLOS EPIFANIO DA SILVA
  • Investigação do Ensino de Engenharia de Requisitos na Perspectiva da Academia e da Indústria: Foco em Documentação de Requisitos

  • Orientador : MARCIA JACYNTHA NUNES RODRIGUES LUCENA
  • MEMBROS DA BANCA :
  • MARCIA JACYNTHA NUNES RODRIGUES LUCENA
  • LYRENE FERNANDES DA SILVA
  • ISABEL DILLMANN NUNES
  • MARIA LENCASTRE PINHEIRO DE MENEZES E CRUZ
  • Data: 15/08/2018

  • Mostrar Resumo
  • Na literatura muitos problemas são apontados referentes ao processo da Engenharia de Requisitos. Pesquisas recentes demonstram que os ambientes de desenvolvimento de software enfrentam muitos desafios que vão desde a elicitação de requisitos até sua validação. Os desafios listados na literatura fazem parte de tópicos ensinados na disciplina de Engenharia de Requisitos oferecidos nos cursos de graduação em ciências da computação e cursos afins. Esses desafios impactam na qualidade do produtos e podem colocar em risco a continuidade de um projeto. Logo, acredita-se que possa existir um déficit no ensino da disciplina que impacta na indústria bem como a falta de paralelismo de ambos contextos. Diante desse cenário, este trabalho elencou metodologias e atividades que mudam o método tradicional de ensino de Engenharia de Requisitos. As atividades têm foco na interpretação de soluções e escrita de requisitos. Para isso foi necessário realizar uma revisão sistemática da literatura a fim de identificar como a disciplina é lecionada bem como um survey destinado a professores e indústria visando identificar as principais sugestões e dificuldades relacionadas com a disciplina de engenharia de requisitos. Verificou-se que os professores enfrentam muitos desafios no ensino e a indústria muitos problemas que podem ser tratados ainda na academia. A partir desses resultados concluiu-se que é necessário contornar os desafios apresentados, o que pode ser feito logo na academia, para que não impactem na indústria. Há também a necessidade de atividades mais práticas e novas abordagens na sala de aula. Na indústria, recomendamos a colaboração com a academia. Desta forma, uma vez identificadas as demandas do setor, a academia pode proporcionar aos futuros profissionais uma formação baseada nas habilidades esperadas.



  • Mostrar Abstract
  • In the literature, many problems are pointed out regarding the process of Requirements Engineering. Recent research shows that software development environments face many challenges ranging from requirement elicitation to validation. The challenges listed in the literature are part of topics within the academy in the lecture of Requirements Engineering. Those challenges impact on product quality and may compromise the continuity of a project. Therefore, we believe that maybe there is a deficit in the teaching of the lecture that impacts on the industry, besides a possible lack of parallelism in both contexts. Concerning that scenario, this work lists methodologies and activities that change the traditional method of teaching related to Requirements Engineering. The activities focus on interpreting solutions and writing requirements. For that, it was necessary to perform a systematic review of the literature in order to identify how the lecture is taught. Besides that, we did a survey directed to professors and industry aiming to identify the state of the lecture and difficulties within the area in the country. It was verified that professors and industry face many challenges. The industry challenges may be a consequence of academy teaching. It is necessary to get to know the challenges before they impact on the job market, which means that they need to be identified already in the academy.  From the results that we got, it was concluded that, indeed, it is essential to overcome the challenges presented still in the academy. There is Also a need for more practical activities and new approaches in the classroom. On the other hand, in the industry, we recommend that they collaborate with the academy. In this way, once the industry demands are identified, the academy can provide, for the future professionals, a formation based on expected skills.


23
  • JEFFERSON IGOR DUARTE SILVA
  • Uma Ferramenta baseada em Inteligência Artificial para a Exploração do Espaço de Projeto de Redes em Chip.

  • Orientador : MARCIO EDUARDO KREUTZ
  • MEMBROS DA BANCA :
  • DEBORA DA SILVA MOTTA MATOS
  • MARCIO EDUARDO KREUTZ
  • MONICA MAGALHAES PEREIRA
  • Data: 29/08/2018

  • Mostrar Resumo
  • "Com o crescente número de núcleos nos Sistemas em Chip (SoCs), as arquiteturas de barramento apresentaram algumas limitações no tocante a desempenho. Com as aplicações demandando mais largura de banda e menores latências, a tecnologia de barramento não conseguiu suprir as necessidades devido ao grande comprimento dos fios e o crescimento da capacitância. Diante deste cenário, as redes em chip (Networks on Chip, NoC) surgiram como uma forma de superar tais limitações encontradas nas arquiteturas baseadas em barramento. As NoCs são compostas por um conjunto de roteadores e enlaces de comunicação, cada componente tem suas próprias características, logo, explorar todas as possibilidades para cada componente é inviável devido ao amplo espaço de projeto. Portanto, alguns métodos para acelerar esse processo devem ser empregados. Nesse trabalho foi proposto o uso de técnicas de Inteligência Artificial (IA) para otimizar as arquiteturas de redes em chip. Isso foi alcançado devido ao desenvolvimento de uma ferramenta que emprega métodos de IA para explorar o espaço de projeto em termos de predição de latência para diferentes configurações de componentes para NoCs. Foram testados nove classificadores. Para avaliar a ferramenta proposta foram realizados testes com aplicações de audio e video, usando dois padrões de tráfego (Perfeitamente aleatório e Transposto) e quatro diferentes requisitos de comunicação. Os resultados preliminares demonstram uma acurácia de 85% usando árvores de decisão para prever os valores de latência. "


  • Mostrar Abstract
  • With the increasing number of cores in Systems on Chip (SoCs), bus architectures have suffer some limitations regarding performance. As applications demand more bandwidth and lower latencies, busses could not comply with such requirements due to longer wires and increased capacitancies. Facing this scenario, Networks-on-Chip (NoCs) emerged as a way to overcome limitations found in bus-based systems. NoCs are composed of a set routers and communication links. Each component has its own characteristics. Fully ex- ploring all possible NoC characteristics settings is unfeasible due to the huge design space to cover. Therefore, some methods to speed up this process are needed. In this work we propose the usage of Artificial Intelligence techniques to optimize NoC architectures. This is accomplished by developing an AI based tool to explore the design space in terms of latency prediction for different NoC components configuration. Up to now, nine classifiers were evaluated. To evaluate the tool tests were performed on Audio/Video applications with two traffic patterns, Perfect Shuffle and Matrix Transpose, with four different com- munication requirements. The preliminaries results show an accuracy up to 85% using a Decision Tree to predict latency values. 

24
  • JHOSEPH KELVIN LOPES DE JESUS
  • Abordagens baseadas em Teoria da Informação para Seleção Automatizada de Atributos

  • Orientador : ANNE MAGALY DE PAULA CANUTO
  • MEMBROS DA BANCA :
  • ANNE MAGALY DE PAULA CANUTO
  • BENJAMIN RENE CALLEJAS BEDREGAL
  • DANIEL SABINO AMORIM DE ARAUJO
  • ANDRÉ CARLOS PONCE DE LEON FERREIRA DE CARVALHO
  • Data: 21/09/2018

  • Mostrar Resumo
  •  

    Um dos principais problemas dos algoritmos de aprendizado de máquina é a maldição da dimensionalidade. Com o rápido crescimento de dados complexos em cenários do mundo real, a seleção de atributos se torna uma etapa de pré-processamento obrigatória em qualquer aplicação para reduzir a complexidade dos dados e o tempo computacional. Com base nisso, vários trabalhos foram produzidos para desenvolver métodos eficientes para realizar essa tarefa. A maioria dos métodos de seleção de atributos selecionam os melhores atributos baseado em alguns critérios específicos. Além disso, estudos recentes têm construído com sucesso modelos para selecionar atributos considerando as particularidades dos dados, assumindo que amostras similares devem ser tratadas separadamente. Embora algum avanço tenha sido feito, uma má escolha de um único algoritmo ou critério para avaliar a importância dos atributos, e a escolha arbitrária dos números de atributos feita pelo usuário podem levar a uma análise deficiente. A fim de superar algumas dessas questões, este trabalho apresenta o desenvolvimento de algumas duas vertentes de abordagens de seleção de atributos automatizadas. A primeira são métodos de fusão de múltiplos algoritmos de seleção de atributos, que utilizam estratégias baseadas em ranking e comitês de classificadores para combinar algoritmos de seleção de atributos em termos de dados (Fusão de Dados) e de decisão (Fusão de Decisão), permitindo aos pesquisadores considerar diferentes perspectivas na etapa de seleção de atributos. O segundo método (PF-DFS) traz uma melhoria de um algoritmo de seleção dinâmico (DFS) usando a ideia da otimização multiobjetivo pela fronteira de pareto, que nos permite considerar perspectivas distintas da relevância dos atributos e definir automaticamente o número de atributos para selecionar. As abordagens propostas foram testadas usando mais de 15 bases de dados reais e artificiais e os resultados mostraram que, quando comparado com métodos de seleção individuais, como o próprio DFS original, o desempenho de um dos métodos propostos é notavelmente superior. De fato, os resultados são promissores, uma vez que as abordagens propostas também alcançaram desempenho superiores quando comparados a métodos consagrados da redução de dimensionalidade, e ao usar os conjuntos de dados originais, mostrando que a redução de atributos ruidosos e/ou redundantes pode ter um efeito positivo no desempenho de tarefas de classificação.

     

  • Mostrar Abstract
  • One of the main problems of machine learning algorithms is the dimensionality problem. With the rapid growth of complex data in real-world scenarios, attribute selection becomes a mandatory pre-processing step in any application to reduce data complexity and computational time. Based on this, several works were produced to develop efficient methods to accomplish this task. Most attribute selection methods select the best attributes based on some specific criteria. In addition, recent studies have successfully constructed models to select attributes considering the particularities of the data, assuming that similar samples should be treated separately. Although some progress has been made, a poor choice of a single algorithm or criterion to assess the importance of attributes, and the arbitrary choice of attribute numbers made by the user can lead to poor analysis. In order to overcome some of these issues, this paper presents the development of some two strands of automated attribute selection approaches. The first are fusion methods of multiple attribute selection algorithms, which use ranking-based strategies and classifier committees to combine attribute selection algorithms in terms of data (Data Fusion) and decision (Fusion Decision) algorithms, allowing researchers to consider different perspectives in the attribute selection step. The second method (PF-DFS) brings an improvement of a dynamic selection algorithm (DFS) using the idea of Pareto frontier multiobjective optimization, which allows us to consider different perspectives of the relevance of the attributes and to automatically define the number of attributes to select . The proposed approaches were tested using more than 15 actual and artificial databases and the results showed that when compared to individual selection methods such as the original DFS itself, the performance of one of the proposed methods is notably higher. In fact, the results are promising since the proposed approaches have also achieved superior performance when compared to established dimensionality reduction methods, and by using the original data sets, showing that the reduction of noisy and / or redundant attributes may have a positive effect on the performance of classification tasks.

25
  • SAMUEL DA SILVA OLIVEIRA
  • Otimização de Topologia Irregular ParaAplicações Tempo Real e Não Tempo Real emMP-SoCs Baseadas em Redes-em-Chip.

  • Orientador : MARCIO EDUARDO KREUTZ
  • MEMBROS DA BANCA :
  • MARCIO EDUARDO KREUTZ
  • MONICA MAGALHAES PEREIRA
  • GUSTAVO GIRAO BARRETO DA SILVA
  • ALISSON VASCONCELOS DE BRITO
  • Data: 07/12/2018

  • Mostrar Resumo
  • Com o avanço nas arquiteturas multiprocessadas as redes-em-chip se tornaram uma solução viável na etapa de comunicação das mesmas. Devido existirem vários tipos de arquiteturas de comunicação entre as redes-em-chip, algumas usam topologias regulares, que são mais comuns e fáceis de se projetar. Outras, no entanto preveem alguma irregularidade nos padrões de comunicação, assim utilizam topologias irregulares. Uma boa exploração de espaço de projeto pode levar a configurações mais otimizadas. Este trabalho propõe uma rede com topologia irregular otimizada, onde a comunicação é baseada em tabelas de roteamento e uma ferramenta que busca realizar essa exploração através de um Algoritmo Genético. A rede proposta nesse trabalho apresenta roteadores heterogêneos (que podem ajudar na otimização da rede) e oferece suporte a pacotes tempo real e não tempo real. O objetivo principal desse trabalho consiste na proposta de uma exploração de espaço de projeto que objetiva encontrar redes otimizadas para latência média, uma maior porcentagem de pacotes tempo real entregues dentro do prazo estipulado e um ganho em área, através da diminuição do número de roteadores.


  • Mostrar Abstract
  • With the evolution of multiprocessing architectures, Networks-on-Chip (NoCs) have become a viable solution for the communication subsystem. Since there are many possible architectural implementations, some use regular topologies, which are more common and easier to design. Others however, follow irregularities in the communication pattern, turning into irregular topologies. A good design space exploration can give us the configuration with better performance among all architectural possibilities. This work proposes a network with optimized irregular topology, where the communication is based on routing tables and a tool that seeks to perform this exploration through a Genetic Algorithm. The network proposed in this work presents heterogeneous routers (which can help with network optimization) and supports real-time and non real- time packets. The goal of this work is to find a network (or a set of networks), through the design space exploration, that has the best average latency and the highest percentage of packets that meet their deadlines.

26
  • SAMUEL DE MEDEIROS QUEIROZ
  • Interoperabilidade Intra-Plataforma de Infraestrutura como Serviço: Um Estudo Exploratório com OpenStack

     

  • Orientador : THAIS VASCONCELOS BATISTA
  • MEMBROS DA BANCA :
  • ANDREY ELÍSIO MONTEIRO BRITO
  • JACQUES PHILIPPE SAUVÉ
  • NELIO ALESSANDRO AZEVEDO CACHO
  • THAIS VASCONCELOS BATISTA
  • Data: 10/12/2018

  • Mostrar Resumo
  • O surgimento de novas tecnologias digitais introduziu desafiadores requisitos técnicos e de negócio. A tradicional abordagem de prover infraestrutura computacional para aplicações, com suporte interno para gerenciamento de hardware, não se constitui em uma maneira efetiva, do ponto de vista técnico e econômico, para fornecer alto desempenho, confiabilidade e escalabilidade. Como a maior mudança de paradigma tecnológico na história da humanidade, a computação em nuvem provê diversas alternativas de modelos de implantação e serviço, adequadas a diversos requisitos, como segurança, latência, desempenho computacional, disponibilidade e custo. Portanto, várias empresas distribuem milhares de nuvens em todo o mundo, criando um mercado saudável por meio da concorrência, em que os provedores criam combinações exclusivas de recursos para diferenciar-se dos concorrentes. Conseqüentemente, no lado do consumidor, a escolha de um fornecedor geralmente se traduz em aprisionamento à tal fornecedor, que é uma situação em que as aplicações dependem muito da abordagem do fornecedor de expor recursos, dificultando a alternância entre os fornecedores sempre que for conveniente. Uma revisão preliminar da literatura sugere que o bloqueio de fornecedor, que tem sido amplamente investigado em Infraestrutura como Serviço (IaaS) em ambientes interplataforma, ainda não foi documentado como um problema intra-plataforma. Na indústria, o OpenStack prova que a falta de interoperabilidade é uma preocupação real, mesmo entre suas implementações. Portanto, este estudo propõe documentar a interoperabilidade entre plataformas, como um problema do OpenStack, detalhando suas situações de bloqueio, sua solução técnica, que é um middleware que abstrai as diferenças de implantação e as causas de bloqueio do fornecedor contra a interoperabilidade entre plataformas, como relatado na literatura.

    .


  • Mostrar Abstract
  • The emergence of new digital technologies come with challenging technical and business requirements. The traditional approach to provide computational infrastructure to application workloads, which relies on in-house management of hardware, does not present technical and cost-effective attributes to deliver high-performance, reliability and scalability. As the biggest technologic paradigm shift in the history of humanity, cloud computing allows diverse deployment and service model alternatives, suitable to diverse requirements, such as security, latency, computational performance, availability and cost. Therefore, numerous companies distribute thousands of clouds worldwide, creating an equitable market through competition, where players create unique features to differentiate from competitors. Consequently, in the consumer side, picking a vendor tipically translates into vendor lock-in, a situation where the applications heavily depend on the vendor’s approach of exposing features, making it difficult to switch between vendors whenever convenient or to support complex scenarios across multiple distributed heterogeneous clouds, such as federation. An immediate work-around for users is to pick cloud solutions that implement standards or post-facto open source platforms, such as OpenStack, which are assumed to provide native interoperability between installations. In the industry, however, OpenStack proves that the lack of interoperability is a real concern even between its deployments, due the high flexibility and complexity of supported use cases. Therefore, this investigation documents intra-platform interoperability, as in OpenStack, presenting in detail the Python client library created by the community to abstract deployment differences, counting with numerous and significant contributions from the author. Afterwards, an extensive validation of that library is performed across one testing and five production clouds from different vendors worldwide, because despite the fact the library is extensively used by the community, it had never been formally validated. The validation unveiled bugs, functionality and documentation gaps. Since the OpenStack intra-platform interoperability had never been documented in the literature, a systematic literature review followed, allowing a deep comparison of the state of the art of vendor lock-in taxonomy and approaches in opposition to that library, presenting its advantages, disadvantages and recommendations for users. Lastly, the suggestions for future work include support for multiple programming languages and the adoption of the client library as a standard for inter-platform interoperability.

27
  • ALLAN VILAR DE CARVALHO
  • O Problema do Caixeiro Viajante com Múltiplos Passageiros e Quota

  • Orientador : MARCO CESAR GOLDBARG
  • MEMBROS DA BANCA :
  • ELIZABETH FERREIRA GOUVEA GOLDBARG
  • MARCO CESAR GOLDBARG
  • MATHEUS DA SILVA MENEZES
  • SILVIA MARIA DINIZ MONTEIRO MAIA
  • Data: 14/12/2018

  • Mostrar Resumo
  • O presente trabalho científico apresenta o Problema do Caixeiro Viajante com Múltiplos Passageiros e Quota, variante do Problema do Caixeiro Viajante com Quota, que consiste na obtenção de uma rota pelo caixeiro o motorista do veículo, que pode compartilhar os assentos do carro com passageiros que solicitam caronas nas localidades de sua rota. Todo passageiro embarcado é obrigado a participar do rateio dos custos dos trechos de rota do caixeiro, que estiver no veículo. Um modelo matemático, um banco de instâncias e um conjunto de métodos de resolução composto por um exato, um heurístico ad hoc e sete metaheurísticos são propostos para o problema. Os resultados do método exato para as instâncias com 10 e 20 localidades são relatados, e análises quantitativas e qualitativas de experimentos computacionais que comparam métodos de resolução entre se são apresentadas.


  • Mostrar Abstract
  • This scientific work presents the Traveling Salesman Problem with Multiple Passengers and Quota, variant of the Traveling Salesman Problem with Quota, which is to generate a route for the salesman the driver of the vehicle, which can share the car seats with passengers who request rides in the localities of your route. Every passenger on board is obliged to participate in the apportionment of the costs of the sections of route of the salesman, who is in the vehicle. A mathematical model, an instance bank and a set of resolution methods composed of an exact one, an ad hoc heuristic and seven metaheuristics are proposed for the problem. The results of the exact method for the instances with 10 and 20 localities are reported, and quantitative and qualitative analyzes of computational experiments comparing methods of resolution between them are presented.

Teses
1
  • SAMUEL LINCOLN MAGALHÃES BARROCAS
  • Uma Estratégia para Validar a Geração de Códigos de Circus para Java

  • Orientador : MARCEL VINICIUS MEDEIROS OLIVEIRA
  • MEMBROS DA BANCA :
  • MARCEL VINICIUS MEDEIROS OLIVEIRA
  • MARTIN ALEJANDRO MUSICANTE
  • UMBERTO SOUZA DA COSTA
  • ALEXANDRE CABRAL MOTA
  • BRUNO EMERSON GURGEL GOMES
  • Data: 22/02/2018

  • Mostrar Resumo
  • O uso de Geradores Automáticos de Código para Métodos Formais não apenas minimiza esforços na implementação de Sistemas de Software, como também reduz a chance da existência de erros na execução destes Sistemas. Estas ferramentas, no entanto, podem ter faltas em seus códigos-fontes que causam erros na geração dos Sistemas de Software, e então a verificação de tais ferramentas é encorajada. Esta tese de Doutorado visa criar e desenvolver uma estratégia para verificar JCircus, um Gerador Automático de Código de um amplo sub-conjunto de Circus para Java. O interesse em Circus vem do fato de que ele permite a especificação dos aspectos concorrentes e de estado de um Sistema de maneira direta. A estratégia de verificação consiste nos seguintes passos: (1) extensão da Semântica Operacional de Circus existente e prova de que ela é sólida com respeito à Semântica Denotacional existente de Circus na Teoria Unificada de Programação (UTP), que é um framework que permite prova e unificação entre diferentes teorias; (2) desenvolvimento e implementação de uma estratégia que verifica o refinamento do código gerado por JCircus, através de uma toolchain que engloba um Gerador de Sistema de Transições Rotuladas com Predicado (LPTS) para Circus e um Gerador de Modelos que aceita como entrada o LPTS e gera um Oráculo que usa o verificador de modelos Java Pathfinder, que checa o refinamento do código gerado por JCircus. Combinado com técnicas baseadas em cobertura de código, nós visamos aumentar a confiabilidade do código gerado de Circus para Java.


  • Mostrar Abstract
  • The use of Automatic Code Generators for Formal Methods not only minimizes efforts on the implementation of Software Systems, as also reduces the chance of existing errors on the execution of such Systems. These tools, however, can themselves have faults on their source codes that causes errors on the generation of Software Systems, and thus verification of such tools is encouraged. This PhD thesis aims at creating and developing a strategy to verify JCircus, an automatic code generator from a large subset of Circus to Java. The interest in Circus comes from the fact that it allows the specification of concurrent and state-rich aspects of a System in a straightforward manner. The strategy of verification consists on the following steps: (1) extension of the existing operational semantics to Circus and proof that it is sound with respect to the existing denotational semantics of circus in the Unifying Theories of Programming (UTP), a framework that allows proof and unification of different theories; (2) development and implementation of a strategy that refinement-checks the generated code by JCircus, through a toolchain that encompasses a Labelled Predicate Transition System (LPTS) Generator for Circus and a Model Generator that inputs this LPTS and generates an Oracle that uses the Java Pathfinder code model-checker that refinement-checks the generated code by JCircus. Combined with coverage-based testing techniques, we envisage improving the reliability of the Code Generation from Circus to Java.

2
  • ROMERITO CAMPOS DE ANDRADE
  • Roteamento Multicast Multisessão - Modelos e Algoritmos.

  • Orientador : MARCO CESAR GOLDBARG
  • MEMBROS DA BANCA :
  • ELIZABETH FERREIRA GOUVEA GOLDBARG
  • MARCO CESAR GOLDBARG
  • MATHEUS DA SILVA MENEZES
  • PAULO HENRIQUE ASCONAVIETA DA SILVA
  • SILVIA MARIA DINIZ MONTEIRO MAIA
  • Data: 14/05/2018

  • Mostrar Resumo
  • A tecnologia multicast tem sido amplamente estudada ao longo dos anos e apresenta-se como uma solução para melhor utilização dos recursos da rede. Várias abordagens já foram avaliadas para o problema considerando desde o uso de uma sessão com apenas uma fonte a um cenário com múltiplas sessões e múltiplas fontes por sessão. Neste trabalho, é feito um estudo dos modelos matemáticos para o problema com múltiplas sessões e múltiplas fontes. Dois modelos matemáticos foram propostos: uma versão multissessão mono-objetivo que visa a otimização da capacidade residual sujeito a um limite de custo e uma versão multiobjetivo com três funções-objetivo. Ambos os modelos levam em conta o cenário multissessão com uma fonte por sessão. Além disso, um estudo algorítmico foi realizado sobre um modelo da literatura que utiliza múltiplas fontes por sessão. Três conjuntos de algoritmos foram propostos. O primeiro conjunto trata do problema mono-objetivo proposto e considera as abordagens Ant Colony Optimization, Genética, GRASP e ILS. O segundo conjunto consiste dos algoritmos propostos para o modelo multiobjetivo. Foram projetados os seguintes algoritmos: NSGA2, ssNSGA2, GDE3, MOEA/D e SMS-EMOA. Além disso, foi projetado um algoritmo transgenético com subpopulações baseadas em operadores de criação de solução direcionados por objetivos do problema. Também foi utilizado o conceito de soluções de elite. No total, 8 versões do algoritmo transgenético foram avaliadas. O terceiro conjunto de algoritmos consiste da heurística MMVD proposta para o modelo da literatura com múltiplas fontes por sessão. Esta heurística é baseada no uso de diagramas de Voronoi. O processo experimental foi realizado com amplo número de instâncias configuradas de modo a avaliar diferentes situações. Os resultados foram comparados utilizando métodos estatísticos não-paramétricos. A análise final indicou que o ILS e o Genético obtiveram resultados muito similares, entretanto o ILS possui melhor tempo de processamento. A versão cross0 do algoritmo transgenético obteve o melhor resultado em praticamente todos os cenários avaliados. A heurística MMVD obteve excelentes resultados sobre algoritmos da literatura.

     


  • Mostrar Abstract
  • Multicast Technology has been studied over the last two decades and It has shown to be a good approach to save network resources. Many approaches have been considered to solve the multicast routing problem considering only one session and one source to attending session‘s demand, as well, multiple sessions with more than one source per session. In this thesis, the multicast routing problem is explored taking in consideration the modelsand the algorithms designed to solve it when where multiple sessions and sources. Two new models are proposed with different focuses. First, a mono-objective model optimizing residual capacity, Z, of the network subject to a budget is designed and the objective is to maximize Z. Second, a multi-objective model is designed with three objective functions: cost, Z and hops counting. Both models consider multisession scenario with one source per session. Besides, a third model is examined. This model was designed to optimize Z in a scenario with multiple sessions with support to more than one source per session. An experimental analysis was realized over the models considered. For each model, a set of algorithms were designed. First, an Ant Colony Optimization, a Genetic algorithm, a GRASP and an ILS algorithm were designed to solve the mono-objective model – optimizing Z subject to a budget. Second, a set of algorithm were designed to solve the multi-objective model. The classical approaches were used: NSGA2, ssNSGA2, SMS-EMOA, GDE3 and MOEA/D. In addition, a transgenetic algorithm was designed to solve the problem and it was compared against the classical approaches. This algorithm considers the use of subpopulations during the evolution. Each subpopulation is based on a solution construction operator guided by one of the objective functions. Some solutions are considered as elite solutions and they are considered to be improved by a transposon operator. Eight versions of the transgenetic algorithm were evaluated. Third, an algorithm was designed to solve the problem with multiple sessions and multiple sources per sessions. This algorithm is based on Voronoi Diagrams and it is called MMVD. The algorithm designed were evaluated on large experimental analysis. The sample generated by each algorithm on the instances were evaluated based on non-parametric statistical tests. The analysis performed indicates that ILS and Genetic algorithm have outperformed the Ant Colony Optimization and GRASP. The comparison between ILS and Genetic has shown that ILS has better processing time performance. In the multi-objective scenario, the version of Transgenetic called cross0 has shown to be statistically better than the other algorithms in most of the instances based on the hypervolume and addictive/multiplicative epsilon quality indicators. Finally, the MMVD algorithm has shown to be better than the algorithm from literature based on the experimental analysis performed for the model with multiple session and multiple sources per session.

3
  • ANTONIO DIEGO SILVA FARIAS
  • Funções Mistura Generalizada e Aplicações

  • Orientador : REGIVAN HUGO NUNES SANTIAGO
  • MEMBROS DA BANCA :
  • BENJAMIN RENE CALLEJAS BEDREGAL
  • EDUARDO SILVA PALMEIRA
  • REGIVAN HUGO NUNES SANTIAGO
  • RONEI MARCOS DE MORAES
  • SANDRA APARECIDA SANDRI
  • Data: 29/06/2018

  • Mostrar Resumo
  • Na literatura é bastante comum encontrar problemas que necessitam de mecanismos eficazes em realizar a tarefa de combinar entradas de uma mesma natureza em um valor do mesmo tipo que as entradas. As funções de agregação são bastante eficientes na realização deste trabalho, podendo ser utilizadas, por exemplo, para modelar os conectivos da lógica fuzzy e também em problemas de tomada de decisão. Uma importante família de agregações, pertencente à classe das funções do tipo média, foi introduzida por Yager, em 1988, que as denominou de funções de “Média Ponderada Ordenada” (Ordered Weighted Averaging - OWA). Essas funções são uma espécie de média ponderada, cujos pesos são estáticos e não são associados as entradas particulares, mas as suas respectivas magnitudes, ou seja, a importância de uma entrada é determinada pela magnitude de seu valor. No entanto, a estabilidade dos pesos de uma OWA traz algumas limitações, uma vez que os pesos, que devem ser previamente escolhidos, podem ser ótimos para algumas entradas e péssimos para outras. Mais recentemente, tem-se verificado que funções não pertencentes à classe das agregações também podem ser bastante eficazes em combinar entradas de um mesmo tipo, como por exemplo, as “Préagregações” (Preaggrega-tions), as funções “Mistura (Mixture) e “Mistura Generalizada” (Generalized Mixture - GM), que não necessitam da Condição de Monotonicidade obrigatória para as funções de agregação. As funções mistura e mistura generalizada também são médias ponderadas, mas diferentemente das OWA de Yager, possuem pesos dinâmicos, o que possibilita um melhor ajuste a cada uma das entradas da função. Este trabalho generaliza as funções “Mistura Generalizada” (Generalized Mixture - GM), dando origem as funções “Mistura Generalizada Limitada” (Bounded Generalized Mixture -BGM) e propõe as “OWA dinâmicas” (Dynamic Ordered Weighted Averaging - DYOWA) defi-nidas sobre reticulados.


  • Mostrar Abstract
  • In the literature it is quite common to find problems that need efficient mechanisms in accomplishing 
    the task of combining entries of the same nature in a value of the same type as the inputs. The
    aggregation functions are quite efficient in the accomplishment of this work, being able to be used,
    for example, to model the connectives of the fuzzy logic and also in problems of decision making. An
    important family of aggregations, belonging to the middle class of functions, was introduced by Yager
    in 1988, who called them ordered weighted averaging functions (OWA). These functions are a kind of
    weighted average, whose weights are not associated with the particular inputs, but their respective
    magnitudes, that is, the importance of an input is determined by their value. More recently, it has
    been found that non-aggregate class functions may also be able to combine inputs, such as pre-
    aggregations and mixture functions, which may not satisfy the mandatory monotonicity condition for
    aggregation functions. Thus, the objective of this work is to present a detailed study on aggregations
    and preaggregations, in order to provide a good theoretical basis in an area that has a wide possibility
    of applications. We present a detailed study of generalized mixing functions - GM, which extend the
    Yager OWA functions, and propose some ways to generalize the GM functions: limited generalized mixing
    functions and dynamic ordered weighted averaging functions.
4
  • EDMILSON BARBALHO CAMPOS NETO
  • Enhancing the SZZ Algorithm to Deal with Refactoring Changes

  • Orientador : UIRA KULESZA
  • MEMBROS DA BANCA :
  • DANIEL ALENCAR DA COSTA
  • EDUARDO HENRIQUE DA SILVA ARANHA
  • INGRID OLIVEIRA DE NUNES
  • MARCELO DE ALMEIDA MAIA
  • ROBERTA DE SOUZA COELHO
  • UIRA KULESZA
  • Data: 20/07/2018

  • Mostrar Resumo
  • SZZ algorithm was proposed by Śliwerski, Zimmermann, and Zeller (hence the SZZ abbreviation) to identify fix-inducing changes. Despite the wide adoption of this algorithm, SZZ still faces limitations, which have been reported by recent researcher work over the last years. No several research work widely surveys how SZZ has been used, extended and evaluated by the software engineering community. Moreover, not much research work has proposed improvements to SZZ. In this context, this thesis has a goal to explore the existing limitations documented in the literature about SZZ, to enhance the state-of-the-art of SZZ proposing solutions to some of these limitations. First, we perform a systematic mapping study to answer what is the state-of-the-art of the SZZ algorithm and to explore how it has been used, its limitations, proposed improvements, and evaluations. Our results in this study show that the vast majority of the analyzed papers use SZZ as a foundation for their empirical studies (79%), while only a few propose direct improvements to SZZ (6%) or evaluate it (4%). We also observe that SZZ has many limitations unaddressed, such as the bias related to refactoring changes, which have not been addressed by any previous SZZ implementation. Second, we conduct an empirical study to investigate the relationship between refactoring changes and SZZ results. We use RefDiff, a tool that has the highest precision reported in the literature to detect code refactorings. We analyze an extensive dataset that included 31,518 issues of ten systems, with 64,855 bug-fix and 20,298 fix-inducing changes. We run RefDiff both in bug-fix and fix-inducing changes generated by a recent SZZ implementation — MA-SZZ. The results indicate a refactoring ratio of 6.5% fix-inducing changes and 19.9% in bug-fix changes. We incorporated RefDiff into MASZZ and proposed a Refactoring-Aware SZZ implementation (RA-SZZ). RA-SZZ reduces 20.8% of the lines that were flagged as fix-inducing changes by MA-SZZ. These results suggest that refactoring really can impact SZZ results. By using an evaluation framework, we found that RA-SZZ reduces of disagreement ratio compared to prior ones, but our results suggest that RA-SZZ still needs to improve its accuracy. Finally, we evaluated the RA-SZZ accuracy using a validated dataset constructed by using a well-accepted dataset. Moreover, we revisited known SZZ limitation to improve its accuracy, e.g., integrating a novel refactoring-detection tool — RMiner. We observe that after refining RA-SZZ, in the median, 44% of lines that are flagged as fix-inducing lines per issue are correct, while only 29% are valid in MA-SZZ-generated results. We also manually analyzed RA-SZZ results and we found that there are still refactorings and equivalent changes to be recognized by SZZ. This result reinforces that detecting refactoring indeed increases the SZZ accuracy. Besides, our thesis results contribute to SZZ maturation by suggesting that refactoring impact in SZZ may be even higher if it addresses new improvements in future work.


  • Mostrar Abstract
  • O algoritmo SZZ foi inicialmente proposto Sliwerski, Zimmermann e Zeller (origem da abreviação SZZ) para identificar as mudanças que introduzem erro no código. Contudo, embora bem aceito pela comunidade acadêmica, muitos pesquisadores têm reportado, ao longo dos anos, limitações associadas ao algoritmo SZZ. Por outro lado, não existe nenhum trabalho que tenha pesquisado profundamente como o SZZ é usado, estendido ou avaliado pela comunidade de engenharia de software. Além disso, poucos trabalhos têm proposto melhorias ao algoritmo SZZ. Nesse contexto, esta tese tem como objetivo revelar as existentes limitações documentadas na literatura sobre o algoritmo SZZ para melhorar o seu estado da arte, propondo soluções para algumas dessas limitações. Primeiramente, nós realizamos um mapeamento sistemático para identificar qual o estado da arte do algoritmo SZZ e explorar como ele tem sido utilizado, suas limitações, melhorias propostas e avaliações. Nós adotamos uma técnica de pesquisa existente conhecida como “snowballing” (em português, bola de neve) para conduzir estudo sistemáticos na literatura. Assim, nós partimos de dois renomados artigos e lemos todas as suas 589 citações e referências, resultando em 190 artigos a serem analisados. Nossos resultados desse estudo mostram que a maioria dos artigos usam o SZZ como base de estudos empíricos (83%), enquanto apenas poucos artigos realmente propõem melhorias diretas ao SZZ (3%) ou o avaliam (7%). Nós também observamos que o SZZ possui muitas limitações não consertadas, tais como o viés relacionado a mudanças semanticamente equivalentes, por exemplo, refatorações, que não foram endereçadas por nenhuma implementação anterior do SZZ. Posteriormente, nós conduzimos um estudo empírico para investigar a relação entre refatorações e os resultados do SZZ. Nós utilizamos para isso o RefDiff, a ferramenta de detecção de refatoração com a maior precisão reportada na literatura. Nós executamos o RefDiff tanto nas mudanças analisadas pelo SZZ como responsáveis pelo conserto dos erros (do inglês, “issue-fix changes”) como nas mudanças identificadas pelo algoritmo como que induziram ao conserto (do inglês, “fix-inducing changes”). Os resultados desse estudo indicam uma taxa de refatoração de 6,5% nas fix-inducing changes e 20% nas issue-fix changes. Além disso, nós identificamos que 39% das fix-inducing changes derivam de issue-fix changes com refatorações, logo tais mudanças não deveriam nem ter sido analisadas pelo SZZ. Esses resultados sugerem que refatorações realmente podem impactar os resultados do SZZ. Por fim, nós pretendemos evoluir este segundo estudo expandindo os tipos de refatorações identificadas, incorporando outras ferramentas de detecção de refatoração ao nosso algoritmo. Além disso, nós planejamos executar um terceiro estudo para avaliar nossa implementação melhorada do SZZ para lidar com mudanças semanticamente equivalente usando um framework de avaliação em um mesmo conjunto de dados anteriormente utilizado na literatura. Nós esperamos que os resultados dessa tese possam contribuir para a maturação do SZZ e, consequentemente, poder aproximá-lo de uma maior aceitação do algoritmo SZZ na prática.

5
  • IGOR ROSBERG DE MEDEIROS SILVA
  • BO-AMHM: Uma Arquitetura Multiagente para Hibridização de Meta-Heurísticas para problemas Biobjetivo

  • Orientador : ELIZABETH FERREIRA GOUVEA GOLDBARG
  • MEMBROS DA BANCA :
  • ELIZABETH FERREIRA GOUVEA GOLDBARG
  • GIVANALDO ROCHA DE SOUZA
  • MARCO CESAR GOLDBARG
  • MYRIAM REGATTIERI DE BIASE DA SILVA DELGADO
  • SILVIA MARIA DINIZ MONTEIRO MAIA
  • Data: 03/08/2018

  • Mostrar Resumo
  • Várias pesquisas têm apontado a hibridização de meta-heurísticas como uma forma eciente de tratar problemas de otimização combinatória. Hibridização permite a combinação de diferentes técnicas, explorando vantagens e compensando desvantagens de cada uma delas. A AMHM é uma arquitetura adaptativa promissora para a hibridização de metaheurísticas, originalmente desenvolvida para problemas mono-objetivo. Essa arquitetura baseia-se nos conceitos de Sistemas Multiagente e Otimização por Nuvem de Partículas. No presente trabalho, nós propomos uma extensão da AMHM para o cenário biobjetivo. A arquitetura proposta é chamada BO-AMHM. Para adaptar a AMHM ao contexto biobjetivo, nós redenimos alguns conceitos tais como posição e velocidade das partículas. Neste estudo a arquitetura proposta é aplicada ao Problema do Caixeiro Viajante Simétrico biobjetivo. Quatro técnicas foram hibridizadas: PAES, GRASP, NSGA2 e Anytime-PLS. Testes com 11 instâncias biobjetivo foram realizados e os resultados mostraram que a BO-AMHM é capaz de prover conjuntos não dominados melhores em comparação aos obtidos por algoritmos existentes na literatura e versões híbridas desses algoritmos desenvolvidas neste trabalho.


  • Mostrar Abstract
  • Several researches have pointed the hybridization of metaheuristics as an eective way to deal with combinatorial optimization problems. Hybridization allows the combination of dierent techniques, exploiting the strengths and compensating the weakness of each of them. MAHM is a promising adaptive framework for hybridization of metaheuristics, originally designed for single objective problems. This framework is based on the concepts of Multiagent Systems and Particle Swarm Optimization. In this study we propose an extension of MAHM to the bi-objective scenario. The proposed framework is called BOMAHM. To adapt MAHM to the bi-objective context, we redene some concepts such as particle position and velocity. In this study the proposed framework is applied to the biobjective Symmetric Travelling Salesman Problem. Four methods are hybridized: PAES, GRASP, NSGA2 and Anytime-PLS. Experiments with 11 bi-objective instances were performed and the results show that BO-MAHM is able to provide better non-dominated sets in comparison to the ones obtained by algorithms existing in literature as well as hybridized versions of those algorithms proposed in this work.

6
  • DENIS FELIPE
  • MOSCA/D: Algoritmos Científicos Multiobjetivo Baseados em Decomposição

  • Orientador : ELIZABETH FERREIRA GOUVEA GOLDBARG
  • MEMBROS DA BANCA :
  • ELIZABETH FERREIRA GOUVEA GOLDBARG
  • MARCO CESAR GOLDBARG
  • SILVIA MARIA DINIZ MONTEIRO MAIA
  • MATHEUS DA SILVA MENEZES
  • MYRIAM REGATTIERI DE BIASE DA SILVA DELGADO
  • Data: 17/08/2018

  • Mostrar Resumo
  • Este trabalho apresenta uma versão multiobjetivo dos Algoritmos Científicos baseada em
    decomposição (MOSCA/D). Tal abordagem é uma nova meta-heurística inspirada pelos
    processos da pesquisa científica para resolver problemas de otimização multiobjetivo. O
    MOSCA/D usa o conceito de tema para direcionar o esforço computacional da busca
    para regiões promissoras do espaço objetivo, fixando diferentes variáveis de decisão em
    cada iteração. Um modelo probabilístico baseado na estatística TF-IDF auxilia a escolha
    de tais variáveis. Experimentos computacionais aplicaram o MOSCA/D a 16 instâncias
    do problema da mochila multidimensional multiobjetivo (MOMKP) com até 8 objetivos.
    Os resultados foram comparados ao NSGA-II, SPEA2, MOEA/D, MEMOTS, 2PPLS,
    MOFPA e HMOBEDA, cobrindo três algoritmos multiobjetivo clássicos, dois algoritmos
    do estado da arte do problema e dois algoritmo publicados mais recentemente para o
    problema, respectivamente. Testes estatísticos mostraram evidências de que o MOSCA/D
    pode competir com outras abordagens consolidadas da literatura e pode agora ser considerado o novo algoritmo do estado da arte para o MOMKP em instâncias com mais de
    dois objetivos, considerando os indicadores de qualidade hipervolume e epsilon.


  • Mostrar Abstract
  • This work presents a multi-objective version of the Scientific Algorithms based on decomposition (MOSCA/D). Such approach is a new metaheuristic inspired by the processes
    of scientific research to solve multi-objective optimization problems. MOSCA/D uses the
    concept of theme to direct the computational effort of the search to promising regions
    of the objective space, fixing different decision variables in each iteration. A probabilistic
    model based on the TF-IDF statistic assists the choice of such variables. Computational
    experiments applied MOSCA/D to 16 instances of the multi-objective multidimensional
    knapsack problem (MOMKP) with up to 8 objectives. The results were compared to
    NSGA-II, SPEA2, MOEA/D, MEMOTS, 2PPLS, MOFPA and HMOBEDA, covering three classical multi-objective algorithms, two state of the art algorithms for the problem
    and two most recently published algorithms for the problem, respectively. Statistical tests
    showed evidence that MOSCA/D can compete with other consolidated approaches from
    literature and can now be considered the new state of the art algorithm for the MOMKP
    in instances with more than two objectives, considering the hypervolume and epsilon
    quality indicators.

7
  • JOSÉ AUGUSTO SARAIVA LUSTOSA FILHO
  • Diversidade e similaridade como critério de seleção de classificadores em comitês de seleção dinâmica

  • Orientador : ANNE MAGALY DE PAULA CANUTO
  • MEMBROS DA BANCA :
  • ANNE MAGALY DE PAULA CANUTO
  • ARAKEN DE MEDEIROS SANTOS
  • BRUNO MOTTA DE CARVALHO
  • DANIEL SABINO AMORIM DE ARAUJO
  • GEORGE DARMITON DA CUNHA CAVALCANTI
  • Data: 24/08/2018

  • Mostrar Resumo
  • As técnicas de classificadores de padrões são consideradas atividades chave na área de
    reconhecimento de padrões, onde busca-se atribuir uma amostra de testes à uma classe. A
    utilização de classificadores individuais geralmente apresentam deficiências nas taxas de
    reconhecimento quando comparado à utilização de múltiplos classificadores para executar
    a mesma tarefa de classificação. Conforme a literatura, comitês de classificadores proveem
    melhores taxas de reconhecimento quando os classificadores candidatos apresentam erros
    não correlacionados em diferentes sub-espaços do problema. Diversos trabalhos exploram
    diversidade em comitês de classificadores baseados em seleção estática e apontam que
    a diversidade entre os classificadores base é um fator que influência positivamente nas
    taxas de acurácias dos comitês, no entanto no contexto de comitês baseados em seleção
    dinâmica há pouca literatura relacionada e carência de pesquisas que exploram a influência
    da diversidade e similaridade. Nesse contexto, essa tese de doutorado explora diversos
    métodos de seleção de classificadores, baseados em seleção dinâmica, adicionando um
    critério de seleção que prioriza diversidade e/ou similaridade entre os classificadores base.
    Dessa forma os experimentos avaliados visam elucidar empiricamente a relevância da
    diversidade e/ou similaridade entre os classificadores base de comitês baseados em seleção
    dinâmica.


  • Mostrar Abstract
  • Pattern classification techniques can be considered the most important activitie in pattern
    recognition area where aims assing a unknown sample test to a class. Generally individual
    classifiers haven’t good recognition rates compared to multiple classifiers. Thus ensemble
    of classifiers can be used to increase the accuracy of classification systems. Ensemble
    systems provide good recognition rates when the classifiers members of the ensemble
    system have uncorrelated errors in different sub-spaces of the problem; This characteristic
    is measured by diversity measures. In this context, the present thesis explores ensemble
    systems using dynamic selection. Ao contrário de comitês que utilizam seleção estática,
    em comitês de classificadores utilizando seleção dinâmica, para cada padrão de teste
    estima-se o nível de competência de cada classificador de um conjunto inicial. Apenas
    os classificadores mais competentes são selecionados para classificar o padrão de teste.
    O presente trabalho objetiva explorar, avaliar e propor métodos para seleção dinâmica
    de classificadores baseando-se em medidas de diversidade. Unlike emseble sysetm using
    static selection, in ensembles using dynamic selection for each test pattern is estimated
    the competence level for the initial set of classifiers. Only the most relevant classifiers are
    selected to classify the test pattern. This paper aims to explorer, evaluate and propose
    methods for ensemble systems based on diversity measures. To achieve this goal, several
    ensemble systems in the literature using dynamic selection are exploited, as well as hybrid
    versions of them are proposed in order to quantify, by experiments, the influence of diversity
    measure among classifiers members in ensemble systems. Therefore the contribution of this
    work is empirically elucidate the advantages and disadvantages of using diversity measures
    in dynamic selection of classifiers.

8
  • RONILDO PINHEIRO DE ARAUJO MOURA
  • Comitê de agrupamentos hierárquicos que preserva a T-transitividade

  • Orientador : BENJAMIN RENE CALLEJAS BEDREGAL
  • MEMBROS DA BANCA :
  • ANNE MAGALY DE PAULA CANUTO
  • BENJAMIN RENE CALLEJAS BEDREGAL
  • FLAVIO BEZERRA COSTA
  • ARAKEN DE MEDEIROS SANTOS
  • EDUARDO SILVA PALMEIRA
  • Data: 05/10/2018

  • Mostrar Resumo
  • A ideia principal de aprendizagem por comitês é aprimorar os resultados de métodos de aprendizagem de máquina combinando múltiplos modelos. Inicialmente aplicada a problemas de aprendizagem supervisionada, esta abordagem permite produzir resultados com qualidade superior em relação a um único modelo. Da mesma forma, aprendizagem de comitê aplicados ao aprendizado não supervisionado, ou consenso de agrupamento, produz agrupamentos de alta qualidade. A maioria dos métodos de comitê para agrupamento de dados são destinados a algoritmos particionais, e apresentam resultados de qualidade superior aos agrupamentos simples. Deste modo, é razoável esperar que a combinação e agrupamentos hierárquicos podem levar a um agrupamento hierárquico de melhor qualidade. Os estudos recentes não consideram as particularidades inerentes aos diferentes
    métodos de agrupamento hierárquico durante o processo do consenso. Este trabalho investiga a consistência dos resultado do consenso considerando diferentes métodos de agrupamento hierárquico utilizados para compor o comitê. Propomos uma abordagem que preserva um tipo de transitividade presente nos dendrogramas. Neste algoritmo, os dendrogramas representando os resultados individuais dos agrupamentos bases são convertidos em matrizes ultramétricas. Então, após um processo de fuzzificação, alguns operadores de agregação com a capacidade de preservar algum tipo de transitividade geram uma matriz consenso. O agrupamento hierárquico final é obtido a partir da matriz consenso. A análise de resultados dos experimentos realizados em conjuntos de dados conhecidos e a visualização da operação do algoritmo em conjuntos de dados visuais (duas
    dimensões) evidencia que esta abordagem consegue melhorar a acurácia uma vez que preserva a propriedade da consistência.

  • Mostrar Abstract
  • The main idea of ensemble learning is improved machine learning results by combining several models. Initially applied to supervised learning, this approach usually produces better results in comparison with single methods. Similarly, unsupervised ensemble learning, or consensus clustering, create individual clustering that is more robust in comparison to unique methods. The most common methods are designed for flat clustering, and show
    superior in quality to clustering unique methods. Thus, it can be expected that consensus of hierarchical clustering could also lead to higher quality in creating hierarchical clustering. Recent studies not been taken to consider particularities inherent in the different methods of hierarchical grouping during the consensus process. This work investigates the impact of the ensemble consistency in the final consensual results considering the differents hierarchical methods uses in the ensemble. We propose a process that retains intermediate transitivity in dendrograms. In this algorithm, firstly, the dendrograms describing the base clustering are converted to an ultrametric matrix. Then, after one fuzzification process, the consensus functions based on aggregation operator with preserve transitivity property is applied to the matrices and form the final consensus matrix. The final clustering will be a dendrogram obtained from this aggregate matrix. Analyzing the results of the experiments performed on the known datasets and also visualizing algorithm’s process on the visual (two-dimensional) datasets shows this approach can significantly improve the accuracy performance once retaining the consistency property.

9
  • EDUARDO ALEXANDRE FERREIRA SILVA
  • Concepção Arquitetural de Sistema-de-Sistemas Intensivo em Software Orientado por Missões

  • Orientador : THAIS VASCONCELOS BATISTA
  • MEMBROS DA BANCA :
  • ABDELHAK-DJAMEL SERIAI
  • ELISA YUMI NAKAGAWA
  • FLAVIO OQUENDO
  • KHALIL DRIRA
  • MARCEL VINICIUS MEDEIROS OLIVEIRA
  • THAIS VASCONCELOS BATISTA
  • Data: 17/12/2018

  • Mostrar Resumo
  • As missões representam uma preocupação fundamental no desenvolvimento de sistemas de sistemas (SoS), uma vez que podem estar relacionadas tanto às capacidades dos sistemas constituintes quanto às interações entre esses sistemas que contribuem para a realização dos objetivos globais do SoS. Por esta razão, os modelos de missão são pontos de partida promissores para o processo de desenvolvimento do SoS e podem ser usados como base para a especificação, validação e verificação de modelos arquiteturais do SoS. Especificar, validar e verificar modelos de arquitetura para SoS são tarefas difíceis comparadas aos sistemas usuais, a complexidade interna desse tipo de sistema depende especialmente dos comportamentos emergentes, ou seja, características que emergem da cooperação entre as partes constituintes do SoS que muitas vezes não podem ser precisamente previsto.

    Este trabalho tem como objetivo endereçar a relação sinérgica entre a missão e modelos de arquitetura, dedicando uma atenção especial ao comportamento emergente que surge para uma determinada configuração do SoS. Propomos um processo de desenvolvimento para modelagem arquitetural de SoS, centrado nos chamados modelos de missão. Nesta proposta, o modelo de missão é usado para derivar, validar / verificar arquiteturas de SoS. Em um primeiro momento fornecemos um modelo de missão formal, então geramos a definição estrutural para a arquitetura usando a transformação de modelo. Mais tarde, conforme o arquiteto especificar os aspectos comportamentais do sistema, usando essa arquitetura podemos gerar arquiteturas concretas que serão verificadas e validadas usando abordagens baseadas em simulação. A verificação usa um modelo estatístico para verificar se as propriedades estão satisfeitas, com um grau de confiança. A validação é destinada a comportamentos e missões emergentes, mas pode ser estendida a qualquer aspecto do modelo de missão. A simulação também permite a identificação de comportamentos emergentes imprevisíveis. Um conjunto de ferramentas que integra ferramentas existentes e implementa todo o processo também é apresentado.


  • Mostrar Abstract
  • Missions represent a key concern in the development of systems-of-systems (SoS) since they can be related to both capabilities of constituent systems and interactions among these systems that contribute to the accomplishment of global goals of the SoS. For this reason, mission models are promising starting points to the SoS development process and they can be used as a basis for the specification, validation and verification of SoS architectural models. Specifying, validating and verifying architectural models for SoS are difficult tasks compared to usual systems, the inner complexity of this kind of systems relies especially on the emergent behaviors, i.e. features that emerge from the cooperation between the constituent parts of the SoS that often cannot be accurately predicted.

    This work is concerned with such a synergetic relationship between mission and architectural models, giving a special attention to the emergent behavior that arise for a given configuration of the SoS. We propose a development process for architectural modeling of SoS, centered in the so-called mission models. In this proposal, the mission model is used to both derive, validate/verify architectures of SoS. In a first moment we dene a formal mission model, then we generate the structural definition for the architecture using model transformation. Later, as the architect specify the behavioral aspects of the system, using this architecture, we can generate concrete architectures that will be verified and validated using simulation-based approaches. The verification uses statistical model checking to verify whether the properties are satisfied, within a degree of confidence. The validation is aimed to emergent behaviors and missions, but can be extended to any aspect of the mission model. The simulation also allows the identification of unpredicted emergent behaviors. A toolset that integrates existing tools and implements the whole process is also presented.

     
2017
Dissertações
1
  • ILUENY CONSTANCIO CHAVES DOS SANTOS
  • Gestão de Requisitos Legais com Foco na Conformidade dos Sistemas com a Legislação Vigente

  • Orientador : MARCIA JACYNTHA NUNES RODRIGUES LUCENA
  • MEMBROS DA BANCA :
  • MARCIA JACYNTHA NUNES RODRIGUES LUCENA
  • EDUARDO HENRIQUE DA SILVA ARANHA
  • JOSUÉ VITOR DE MEDEIROS JÚNIOR
  • GILBERTO AMADO DE AZEVEDO CYSNEIROS FILHO
  • Data: 16/01/2017

  • Mostrar Resumo
  • Os sistemas de informação desempenham um papel vital no apoio aos processos de negócio das empresas. Frequentemente, os softwares são um importante ativo estratégico para diversas organizações. Cada vez mais, leis e regulamentos são elaborados com o objetivo de estabelecer restrições aos sistemas de software existentes e empresas são obrigadas a desenvolver sistemas complexos que estejam em conformidade com a legislação vigente. Os requisitos legais referem-se ao conjunto de leis e regulamentos aplicáveis ao domínio do negócio do software que se pretende desenvolver. Estes requisitos são altamente sensíveis às alterações que ocorrem na legislação. As leis, assim como a sociedade, as organizações e os softwares, também evoluem. Constantemente uma nova lei é promulgada, uma lei antiga é alterada, revogada ou uma importante decisão judicial é emitida. O dinamismo das leis exige uma adaptação contínua dos requisitos legais modelados. Ao longo dos últimos anos, diversas pesquisas foram desenvolvidas abordando esta temática, mas poucas tratam dos desafios que envolvem o monitoramento e a avaliação da conformidade legal durante todo ciclo de vida dos sistemas. Os prejuízos obtidos por uma organização que não se preocupa com a conformidade legal dos requisitos de seus softwares podem ir de perdas financeiras até prejuízos com sua reputação. Neste contexto, observou-se que o gerenciamento de requisitos, notadamente através do uso da rastreabilidade dos requisitos do sistema, podem desempenhar um papel fundamental no processo de verificação da conformidade legal dos sistemas. Este trabalho apresenta uma proposta de abordagem capaz de auxiliar o gestor da equipe de desenvolvimento nas atividades de manutenção do software e de verificação da sua conformidade com as leis vigentes. Um estudo de caso foi realizado com o objetivo de avaliar a abordagem proposta. Os resultados obtidos demonstram que o esforço despendido pela equipe, na execução de boas práticas, úteis na manutenção dos elos de rastreabilidade dos requisitos legais de um software, podem auxiliar no processo de verificação de sua conformidade legal.


  • Mostrar Abstract
  • It is common sense that information systems play a vital role in supporting the business processes of companies. Often the software is a strategic important asset for many organizations. Increasingly, laws and regulations are drawn up with the aim of establishing restrictions on existing software systems and companies are required to develop complex systems that comply with current legislation. Legal requirements refer to the set of laws and regulations applying to the software business domain to be developed. These requirements are highly sensitive to changes that occur in the legislation. The laws, as well as society, organizations and software also evolve. Constantly a new law is enacted, an old law is amended, revoked or an important court decision is issued. The dynamism of the laws requires continuous adaptation of the modeled legal requirements. Over the past few years, several studies have been developed addressing this issue, but few address the challenges involving the monitoring and evaluation of legal compliance throughout the system life cycle. The losses made by an organization that does not care about the legal compliance of their software requirements can range from financial losses to losses on its reputation. In this context, it was observed that the management requirements, notably through the use of traceability of system requirements, can play a key role in the process of verifying the legal compliance of the systems. This paper presents an approach proposed able to assist the development team manager in software maintenance activities and verification of compliance with applicable laws. A case study should be conducted in order to evaluate the effectiveness of the proposed tool.

     

2
  • CARINE AZEVEDO DANTAS
  • Seleção de atributos baseado em algoritmos de agrupamento para tarefas de classificação

  • Orientador : ANNE MAGALY DE PAULA CANUTO
  • MEMBROS DA BANCA :
  • ANNE MAGALY DE PAULA CANUTO
  • BRUNO MOTTA DE CARVALHO
  • DANIEL SABINO AMORIM DE ARAUJO
  • JOAO CARLOS XAVIER JUNIOR
  • ADRIANA TAKAHASHI
  • Data: 10/02/2017

  • Mostrar Resumo
  • Com o aumento do tamanho dos conjuntos de dados utilizados em sistemas de classi-
    cação, a seleção dos atributos mais relevantes se tornou uma das principais tarefas da
    fase de pré-processamento. Em um conjunto de dados é esperado que todos os atributos
    que o descreve sejam relevantes, porém isso nem sempre acontece. Selecionar o conjunto
    de atributos mais relevantes ajuda a reduzir a dimensionalidade dos dados sem afetar
    o desempenho, ou até mesmo melhorá-lo, para que se possa obter melhores resultados
    quando utilizado na classicação de dados. Os métodos de seleção de características existentes
    selecionam os melhores atributos para uma base de dados como um todo, sem levar
    em consideração as particularidades de cada instância. A Seleção de atributos baseada
    em algoritmos de agrupamento, método proposto deste trabalho, seleciona os atributos
    mais relevantes para cada grupo de instâncias, utilizando algoritmos de agrupamento
    para agrupá-las de acordo com as suas semelhanças. Este trabalho efetua uma análise
    experimental de diferentes técnicas de agrupamento aplicadas a essa nova abordagem de
    seleção de atributos. Para isso, são utilizados os algoritmos de agrupamento k-Médias,
    DBscan e Expectation-Maximization(EM) como métodos de seleção. São efetuadas aná-
    lises de desempenho e estatísticas para vericar qual desses algoritmos de agrupamento
    melhor se adequa a essa nova Seleção de Atributos. Assim, a contribuição deste trabalho é
    apresentar uma nova abordagem, através de uma versão Semidinâmica e outra Dinâmica,
    para seleção de atributos baseada em algoritmos de agrupamento e determinar qual dos
    métodos de agrupamento realiza uma melhor seleção e obtém um melhor desempenho na
    construção de classicadores mais acurados.


  • Mostrar Abstract
  • With the increase of the size on the data sets used in classication systems, selecting
    the most relevant attribute has become one of the main tasks in pre-processing phase.
    In a dataset, it is expected that all attributes are relevant. However, this is not always
    veried. Selecting a set of attributes of more relevance aids decreasing the size of the data
    without aecting the performance, or even increase it, this way achieving better results
    when used in the data classication. The existing features selection methods elect the
    best attributes in the data base as a whole, without considering the particularities of
    each instance. The Unsupervised-based Feature Selection, proposed method, selects the
    relevant attributes for each instance individually, using clustering algorithms to group
    them accordingly with their similarities. This work performs an experimental analysis
    of dierent clustering techniques applied to this new feature selection approach. The
    clustering algorithms k-Means, DBSCAN and Expectation-Maximization (EM) were used
    as selection method. Analyzes are performed to verify which of these clustering algorithms
    best ts to this new Feature Selection approach. Thus, the contribution of this study is to
    present a new approach for attribute selection, through a Semidynamic and a Dynamic
    version, and determine which of the clustering methods performs better selection and get
    a better performance in the construction of more accurate classifiers.

3
  • adorilson bezerra de araujo
  • Estudo Empírico de Análise da Compatibilidade de Aplicações Android com Diferentes Versões da API da Plataforma

  • Orientador : UIRA KULESZA
  • MEMBROS DA BANCA :
  • UIRA KULESZA
  • EDUARDO HENRIQUE DA SILVA ARANHA
  • RODRIGO BONIFACIO DE ALMEIDA
  • Data: 14/02/2017

  • Mostrar Resumo
  • A plataforma Android é atualmente a mais popular para o desenvolvimento de aplicações móveis, ocupando mais de 80% do mercado de sistemas operacionais para dispositivos móveis, criando uma demanda por customizações de aplicações para lidar com diferentes dispositivos, tais como, tamanho de tela, poder de processamento e memória disponível, idiomas e necessidades específicas dos usuários. Já foram disponibilizadas 23 novas versões da plataforma Android desde o seu lançamento. De forma a permitir a execução com sucesso das aplicações em diferentes dispositivos, é fundamental oferecer suporte à múltiplas versões da API (Application Programming Interface).

    Esta dissertação de mestrado tem como objetivo principal: analisar, caracterizar e comparar técnicas utilizadas por aplicações Android para oferecer suporte a múltiplas versões da API. Em especial, o trabalho busca: (i) identificar na literatura quais as técnicas indicadas para suporte à múltiplas versões da API Android; (ii) analisar aplicações reais para quantificar o uso dessas técnicas indicadas; e (iii) comparar as características e consequências do uso de tais técnicas. Um estudo empírico foi conduzido para atingir tal objetivo, no qual foram analisadas 25 aplicações Android populares. Os resultados do estudo mostram que existem três técnicas para prover suporte a múltiplas versões da API: i) pacote de compatibilidade, variabilidades de granularidade grossa da API que envolvam um conjunto de classes; ii) re-implementação de recurso, para situações pontuais e granularidade grossa em nível de classe ou quando o recurso não está disponível em pacote de compatibilidade; e iii) uso explícito da nova API, variabilidades de granularidade fina da API que envolva a chamada de métodos específicos. Através da análise de 25 aplicações identificamos que pacote de compatibilidade foi utilizada por 23 aplicações, re-implementação de recurso por 14 e uso explícito da nova API por 22. A API de fragmentos contêm os elementos mais comuns dentre os lançados em versões superiores da plataforma que são usados pelas aplicações durante sua evolução, sendo referenciados por 68% delas. No geral, as aplicações poderiam aumentar o seu mercado em potencial com adaptações de, em média, 15 trechos de código, por outro lado, os desenvolvedores das aplicações têm se preocupado em evitar código-morto em função da API da plataforma. Na análise de 7 aplicações, 4 delas continham código-morto, mas os quais em geral não representam mais do que 0,1% do seu código total


  • Mostrar Abstract
  • Android platform is currently the most popular platform for the development of mobile applications, representing more than 80% of the operating systems market for mobile devices. This causes demands for application customizations to handle different devices such as screen size, processing power and available memory, languages and specific user needs. Twenty-three new versions of Android platform have been released since its first release. In order to enable the successful execution of applications on different devices, it is essential to support multiple versions of the Application Programming Interface (API).

    This dissertation aims mainly to analyze, characterize and compare techniques used by Android applications to support multiple versions of the API. In particular, the work seeks: (i) to identify the used techniques to support multiple versions of the Android API in the literature; (ii) to analyze real applications to quantify the use of these indicated techniques; and (iii) to compare the characteristics and consequences of using such techniques. An empirical study, in which 25 popular Android apps were analyzed, was conducted to achieve this goal. The results of the study show that there are three techniques to support multiple versions of the API: i) compatibility package, API gross granularity variabilities involving a set of classes; ii) re-implementation of resource, for specific situations and gross granularity at class level or when resource is not available in compatibility package; and iii) explicit use of the new API, fine granularity variabilities of the API that involves calling of specific methods. Through the analysis of 25 applications, we have identified that compatibility package was used by 23 applications, re-implementation of resource was used by 14 applications and the explicit use of the new API was used by 22 applications. The API fragments contains the most common elements among those released in higher versions of the platform that are used by applications during their evolution, and it is referenced by 68% of them. In general, applications could increase their potential market with adaptations of, on average, 15 code snippets. On the other hand, application developers have been worried about how avoiding dead code based on platform API. In the analysis of 7 applications, 4 of them contained dead code, but it did not represent more than 0.1% of total code

4
  • RAIMUNDO LEANDRO ANDRADE MARQUES
  •  Algoritmo Evolucionário de Múltiplas Populações Híbridas Aplicado ao Problema da Árvore Geradora Mínima com Restrição de Grau Multiobjetiva

     

  • Orientador : MARCO CESAR GOLDBARG
  • MEMBROS DA BANCA :
  • ELIZABETH FERREIRA GOUVEA GOLDBARG
  • LUCÍDIO DOS ANJOS FORMIGA CABRAL
  • MARCO CESAR GOLDBARG
  • MATHEUS DA SILVA MENEZES
  • SILVIA MARIA DINIZ MONTEIRO MAIA
  • Data: 17/02/2017

  • Mostrar Resumo
  • O problema da árvore geradora mínima com restrição de grau multiobjetiva vem ganhando nos últimos anos, a atenção dos pesquisadores da área de otimização combinatória, em grande parte por sua ampla aplicação em problemas práticos relacionados à modelagem de redes. Esse problema é considerado NP-difícil, ainda em sua versão mono-objetiva, para um grau de restrição de pelo menos . Esse trabalho propõe a resolução do problema através de um algoritmo evolucionário chamado MMPEA. Essa abordagem utiliza-se de arquivos externos compartilhados e diferentes técnicas de otimização multiobjectivo executadas paralelamente, para uma melhor cobertura do espaço de busca. As técnicas escolhidas para implementação do MMPEA foram o MPAES, o NSGA2, e o SPEA2, as quais também foram utilizadas para comparação de desempenho computacional. Foram realizados 5040 testes ao todo, incluindo instâncias de diferentes tipos, com tamanhos entre 50 e 1000 vértices. Devido à natureza multiobjetiva do problema, os resultados dos experimentos são expressos através dos indicadores de qualidade hipervolume e épsilon binário, e avaliados quanto a sua significância através do teste estatístico de Mann-Whitney.


  • Mostrar Abstract
  • In recent years, the Multiobjective Degree Constrained Minimum Spanning Tree Problem, has taken the attention of combinatorial optimization researchers, especially due to its wide usability in practical network modeling design problems. This is a NP-hard problem, even in its mono-objective version for a degree of at least . The new algorithm proposed here called MMPEA, uses shared external archives and different multiobjective optimization techniques in a parallel execution to a better survey of the search space. This MMPEA version adopts the MPAES, NSGA2 and SPEA2 algorithms in its implementation which also are used in the comparison tests. A total of 5040 empirical tests are presented here, including different graph generators, and instances of size 50 up to 1000 vertices.  For a matter of multi-objective trait, the results for these experiments are presented by means of hypervolume and -binary indicators. The significance of computational experiments is evaluated by the Mann-Whitney statistical test.

5
  • RANMSÉS EMANUEL MARTINS BASTOS
  • O Problema do Caixeiro Viajante com Passageiros e Lotação

  • Orientador : MARCO CESAR GOLDBARG
  • MEMBROS DA BANCA :
  • ELIZABETH FERREIRA GOUVEA GOLDBARG
  • LUCÍDIO DOS ANJOS FORMIGA CABRAL
  • MARCO CESAR GOLDBARG
  • MATHEUS DA SILVA MENEZES
  • SILVIA MARIA DINIZ MONTEIRO MAIA
  • Data: 17/02/2017

  • Mostrar Resumo
  • O Problema do Caixeiro Viajante com Passageiros e Lotação é uma versão do PCV clássico onde o caixeiro é o motorista de um veículo que compartilha os custos de viagem com passageiros. Além de dividir os custos do percurso, o caixeiro pode se valer, também, dos descontos das high-occupancy vehicle lanes, que são faixas de trânsito que isentam veículos lotados do pagamento de pedágio. Esta dissertação aborda o estudo desse novo problema de otimização combinatória, compreendendo desde a correlação que o mesmo possui com outros problemas amplamente já abordados na literatura, por meio de uma revisão de trabalhos relacionados, até a concepção de instâncias artificiais para servirem como referenciais de comparação para os algoritmos experimentais desenvolvidos para sua solução.


  • Mostrar Abstract
  • The Traveling Salesman with Passengers and High Occupancy Problem is a version of the classic TSP where the salesman is the driver of a vehicle who shares travels’ expenses with passengers. Besides shared expenses, the driver also benefits from discounts of the high-occupancy vehicle lanes, i.e. traffic lanes in which high occupancy vehicles are exempted from tolls. This  paper presents a succinct mathematical model for this problem and an algorithm based on Simulated Annealing and Variable Neighborhood Search metaheuristics. The results of the heuristic algorithm are compared with the optimal solutions obtained by an exact algorithm.This work addresses the study of this novel combinatorial optimization problem, going from the relationship it draws with other ones widely covered by the literature, by the means of a revision of related work, until the conception of artificial test cases to fulfill the purpose of serving as comparison subjects to the experimental algorithms developed to solve it.

6
  • TAIZA RABELLO MONTENEGRO
  • ExceptionPolicyExpert: Uma Ferramenta para Auxiliar no Desenvolvimento do Tratamento de Exceções 

  • Orientador : ROBERTA DE SOUZA COELHO
  • MEMBROS DA BANCA :
  • ROBERTA DE SOUZA COELHO
  • FERNANDO MARQUES FIGUEIRA FILHO
  • EIJI ADACHI MEDEIROS BARBOSA
  • FERNANDO JOSÉ CASTOR DE LIMA FILHO
  • Data: 20/02/2017

  • Mostrar Resumo
  • Na medida em que aumenta a dependência da sociedade com os sistemas de software, aumenta também a demanda pela robustez destes sistemas. O tratamento de exceções é uma das técnicas mais utilizadas para a construção de sistemas de software robustos. A política de tratamento de exceções é o conjunto de regras que define como as exceções devem ser manuseadas. Porém, na maioria dos casos, essa política não está definida de forma explícita, sendo um desafio para o desenvolvedor criar o código de tratamento de exceções. Este trabalho propõe uma ferramenta em formato de plug-in do Eclipse, denominada ExceptionPolicyExpert, que tem o objetivo de orientar o desenvolvedor na implementação desse tipo de código de forma a atender uma política previamente definida. Esta ferramenta analisa o código fonte e verifica se há alguma violação à política de tratamento de exceções, alertando o desenvolvedor para não conformidade, caso exista. Para auxiliar o levantamento dos requisitos da ferramenta, foi realizado um estudo qualitativo com desenvolvedores, utilizando técnicas de Grounded Theory, que buscou entender quais eram os principais desafios deles no momento da implementação do código de tratamento de exceções. O estudo mostrou que a maioria deles não recebem orientações a respeito da política de tratamento de exceções e nem tem acesso à política de tratamento de exceções a ser seguida. Consequentemente, muitas vezes lidam com esse código de forma indevida. Dessa forma, foi proposta uma ferramenta que visa trazer informações sobre a política de tratamento de exceções para a IDE, de forma que auxilie o desenvolvedor na implementação do código excepcional sem violar a política. A avaliação da ferramenta mostrou que ela auxilia o desenvolvedor a tomar decisões no momento da implementação do código de tratamento de exceções.


  • Mostrar Abstract
  • As our society becomes more and more dependent of software systems the demand robustness requirements increases. The exception handling mechanism is one of the most used techniques to enable the development of robust software systems develop. The exception handling policy comprises the set of rules that specify how exceptions should be thrown and handled inside a system. But usually the policy is not explicitly defined. As a consequence, it becomes a challenge for developers to create the exception handling code according to it. This work proposes an Eclipse plug-in, called ExceptionPolicyExpert, to guide the developer on how to implement this kind of code by checking policy violations and providing recommendations to developers concerning how to exceptions should be handled and signaled. In order to support the creation of such tool, we performed a qualitative study, using Grounded Theory techniques, to understand which are the main challenges that the developers have during the implementation of the exception handling code. This study showed that most of the developers did not receive any instructions regarding the exception handling policy and they often handle exceptions in a wrong way. Therefore, the proposed tool aims to provide information to developer regarding the exception handling policy integrated to the IDE - helping him/her to develop exception handling code and preventing policy violations. The tool evaluation showed that the tool helps the developer to make decisions when implementing the exception handling code.

7
  • NARALLYNNE MACIEL DE ARAÚJO
  • Dados Abertos do Governo Brasileiro: Entendendo as Perspectivas de Fornecedores de Dados e Desenvolvedores de Aplicações ao Cidadão

  • Orientador : FERNANDO MARQUES FIGUEIRA FILHO
  • MEMBROS DA BANCA :
  • FERNANDO MARQUES FIGUEIRA FILHO
  • NELIO ALESSANDRO AZEVEDO CACHO
  • NAZARENO ANDRADE
  • Data: 21/02/2017

  • Mostrar Resumo
  • Dados Abertos Governamentais (DAGs) são vistos como uma forma de promover transparência, bem como de fornecer informações para a população por meio da abertura de dados relacionados a diversos setores governamentais. Cidadãos, ao fazerem uso de aplicações desenvolvidas com esse tipo de dado, conseguem obter o conhecimento sobre determinada esfera pública; o governo, por sua vez, é capaz de promover a transparência necessária e proporcionar melhorias dos seus órgãos por meio da interação com cidadãos que utilizam tais aplicações. No entanto, a criação e o sucesso de projetos que usam DAGs certamente depende de desenvolvedores capazes de extrair, processar e analisar essas informações, como também da qualidade com que esses dados são disponibilizados pelos seus fornecedores. Esta pesquisa foi dividida em duas fases: a primeira fase, procurou investigar a perspectiva dos desenvolvedores que utilizam DAGs brasileiros para o desenvolvimento de aplicações que objetivam promover maior transparência aos cidadãos; na segunda fase, foram investigadas as perspectivas de cidadãos responsáveis por publicar esses dados em portais de dados abertos, i.e. fornecedores de DAGs. Por meio de vinte e quatro entrevistas semiestruturadas com doze desenvolvedores e doze fornecedores, este trabalho reporta o que os motivam a trabalhar com DAGs, bem como as dificuldades enfrentadas por eles nesse processo. Os resultados indicam que ambos atores buscam promover transparência para a população, mas esbarram na baixa qualidade dos DAGs, barreiras culturais, dentre outroes problemas. Neste trabalho, tais problemas são apresentados e caracterizados qualitativamente. Também são apresentadas recomendações, de acordo com as perspectivas de desenvolvedores e fornecedores de dados, com o objetivo de trazer benefícios ao ecossistema de DAGs brasileiro e aos cidadãos.


  • Mostrar Abstract
  • Open Government Data (OGD) are seen as a way to promote transparency, as well as providing information to the population by opening data related to various government sectors. Citizens, by using applications developed with this type of data, gain knowledge about a certain public sphere; governments, in turn, are able to promote transparency and improvements through the interaction with citizens who use such applications. However, the creation and success of projects that use OGD depends on developers who are able to extract, process and analyze this information, as well as on the quality of data made available by their suppliers. This research was conducted in two phases: the first phase sought to investigate the perspective of the developers who use Brazilian OGD for the development of applications that aim to promote greater transparency to citizens; in the second phase, we investigate the perspectives of citizens responsible for publishing OGD in portals, i.e. OGD providers. Through twenty-four semi-structured interviews with twelve developers and twelve suppliers, this work reports what motivates them to work with OGD, as well as the barriers they face in this process. Our findings indicate that both actors seek to promote transparency for the population, however they struggle with the poor quality of OGD, cultural barriers, among other issues. In this work, we present and qualitatively characterize these issues. We also provide recommendations, according to the perspectives of developers and data providers, with the aim of bringing benefits to the Brazilian OGD ecosystem and citizens.

8
  • JORGE PEREIRA DA SILVA
  • EcoCIT: Uma Plataforma Escalável para Desenvolvimento de Aplicações de IoT

     

     

  • Orientador : THAIS VASCONCELOS BATISTA
  • MEMBROS DA BANCA :
  • FLAVIA COIMBRA DELICATO
  • NELIO ALESSANDRO AZEVEDO CACHO
  • PAULO DE FIGUEIREDO PIRES
  • THAIS VASCONCELOS BATISTA
  • Data: 24/03/2017

  • Mostrar Resumo
  • O paradigma de Internet das Coisas (do inglês, Internet of Things –IoT)  abrange uma infraestrutura de hardware e software que conecta dispositivos físicos, denominados como coisas, ao mundo digital. Estima-se que em 2020 existirão cerca de 100 bilhões de dispositivos de IoT conectados cujos dados e serviços servirão como base para a construção de uma miríade de aplicações. No entanto, desenvolver aplicações no contexto de IoT não é uma tarefa trivial. Dada a grande quantidade e variedade de dispositivos envolvidos, tais aplicações precisam ser construídas atendendo requisitos de escalabilidade a fim de suportar um grande número de dispositivos conectados, além de armazenar e processar a enorme quantidade de dados por eles produzida. Além disso, aplicações nesse contexto também precisam lidar com uma diversidade de protocolos distintos. Nesse contexto, plataformas de middleware tem surgido como soluções promissoras para facilitar o desenvolvimento de aplicações. Tais plataformas oferecem interfaces padronizadas para acesso aos dispositivos, abstraindo para os desenvolvedores detalhes de comunicação via rede, protocolos e formatos de dados utilizados pelos diversos dispositivos. Nessa perspectiva, o presente trabalho apresenta a plataforma EcoCIT, uma plataforma de middleware escalável que provê suporte para a integração de dispositivos de IoT à internet, bem como ao desenvolvimento e execução de aplicações de IoT com requisitos de escalabilidade através do uso de tecnologias escaláveis e serviços computacionais providos sob demanda por plataformas de computação em nuvem.


  • Mostrar Abstract
  • The Internet of Things (IoT) paradigm encompasses a hardware and software infrastructure that connects physical devices, known as things, to the digital world. It is estimated that in 2020 there will be nearly 100 billion of connected IoT devices whose data and services will be used for building a myriad of applications. However, developing applications in the IoT context is not a trivial task. Given the large number and variety of devices involved, these applications need to be built and executed in a scalable way to support a large number of connected devices as well as to store and process the huge amount of data they produce. Additionally, applications in this context also need to deal with several different protocols. In this context, middleware platforms have emerged as promising solutions to facilitate application development. These platforms offer standardized interfaces for access to devices, abstracting the developers of details of communication via network, protocols and data formats used by various devices. In this perspective, this work presents the EcoCIT platform, a scalable middleware platform that provides support for the integration of IoT devices to the Internet, as well as the development and execution of IoT applications with scalability requirements through the use of scalable technologies and on-demand computing services provided by cloud computing platforms.

9
  • ISAAC NEWTON DA SILVA BESERRA
  • Acquisition and analysis of the first keystroke dynamics biometrics database for user verification in the online collaborative game League of Legends.

  • Orientador : MARJORY CRISTIANY DA COSTA ABREU
  • MEMBROS DA BANCA :
  • BRUNO MOTTA DE CARVALHO
  • CARLOS NASCIMENTO SILLA JÚNIOR
  • CHARLES ANDRYE GALVAO MADEIRA
  • MARJORY CRISTIANY DA COSTA ABREU
  • Data: 26/06/2017

  • Mostrar Resumo
  • The popularity of computer games has grown exponentially in the last few years,
    reaching a point where they stopped being just a child's play and became actual sports.
    Being so, many players invest lots of time and money to improve and become the best. As
    a result, many online games companies protect users' accounts in a variety of ways, such
    as secondary passwords, e-mail conrmation when accessed on other devices and mobile
    text messages. However, none of these techniques apply when it comes to account sharing.
    In the competitive scenario, players are divided by their level of skill, which is obtained
    from their achievements and victories; thus, when a player shares his/her account, s/he is
    classied in a level which does not correspond to his/her actual skill, causing an imbalance
    in matches. The game League of Legends greatly suers with this practice, which is
    popularly known as Elo Job, which is forbidden by the game company itself and, when
    discovered, causes the player to be permanently banned from the game. As the game
    uses the keyboard keystroke dynamics for most of its actions, a continuous verication
    during the game would be ideal, as it could potentially identify whether the player is
    really the owner of the account. As a result, the system could penalise players who share
    their accounts. For this work, a keystroke-based biometrics database was populated with
    data collected from real players. The data were analyzed and tested with several classiers,
    obtaining a hit rate of 65.90%, which is not enough to make a good identication. However,
    the combination of the features of the keystroke dynamics with the mouse dynamics
    showed much better results, reaching a promising hit rate of 90.0%.


  • Mostrar Abstract
  • The popularity of computer games has grown exponentially in the last few years,
    reaching a point where they stopped being just a child's play and became actual sports.
    Being so, many players invest lots of time and money to improve and become the best. As
    a result, many online games companies protect users' accounts in a variety of ways, such
    as secondary passwords, e-mail conrmation when accessed on other devices and mobile
    text messages. However, none of these techniques apply when it comes to account sharing.
    In the competitive scenario, players are divided by their level of skill, which is obtained
    from their achievements and victories; thus, when a player shares his/her account, s/he is
    classied in a level which does not correspond to his/her actual skill, causing an imbalance
    in matches. The game League of Legends greatly suers with this practice, which is
    popularly known as Elo Job, which is forbidden by the game company itself and, when
    discovered, causes the player to be permanently banned from the game. As the game
    uses the keyboard keystroke dynamics for most of its actions, a continuous verication
    during the game would be ideal, as it could potentially identify whether the player is
    really the owner of the account. As a result, the system could penalise players who share
    their accounts. For this work, a keystroke-based biometrics database was populated with
    data collected from real players. The data were analyzed and tested with several classiers,
    obtaining a hit rate of 65.90%, which is not enough to make a good identication. However,
    the combination of the features of the keystroke dynamics with the mouse dynamics
    showed much better results, reaching a promising hit rate of 90.0%.

10
  • LUCAS TOMÉ AVELINO CÂMARA
  • Acquisition and analysis of the first mouse dynamics biometrics database for user verification in the online collaborative game League of Legends

  • Orientador : MARJORY CRISTIANY DA COSTA ABREU
  • MEMBROS DA BANCA :
  • BRUNO MOTTA DE CARVALHO
  • CARLOS NASCIMENTO SILLA JÚNIOR
  • CHARLES ANDRYE GALVAO MADEIRA
  • MARJORY CRISTIANY DA COSTA ABREU
  • Data: 26/06/2017

  • Mostrar Resumo
  • Digital games are very popular around the world. Some of them are really competitive
    and even considered sports on some countries. League of Legends is the most played game
    today with millions of players, and even world championships are transmitted on the
    internet for the entire world. Account sharing is one of the biggest problem on this game,
    because more skilled players can play on someone else account and help to improve their
    skill level account, causing unbalanced matches on the game. Account sharing is harder
    to solve than account stealing, because the owner wants to allow other person to access
    their account. A mouse dynamics system can be a solution to detect account sharing,
    since the mouse is a lot used by players during a match. Because of this, to investigate the
    efficiency of mouse dynamics on account sharing detection on games is a really interesting
    research, but there is no public database of mouse dynamics for online games or similar
    situations. So a new database was collected and presented in this work. Some statistic
    analysis and classification experiments shown that mouse dynamics features can be used
    for identification of League of Legends players on a smaller context, with a correctness of
    93.2203%.

  • Mostrar Abstract
  • Digital games are very popular around the world. Some of them are really competitive
    and even considered sports on some countries. League of Legends is the most played game
    today with millions of players, and even world championships are transmitted on the
    internet for the entire world. Account sharing is one of the biggest problem on this game,
    because more skilled players can play on someone else account and help to improve their
    skill level account, causing unbalanced matches on the game. Account sharing is harder
    to solve than account stealing, because the owner wants to allow other person to access
    their account. A mouse dynamics system can be a solution to detect account sharing,
    since the mouse is a lot used by players during a match. Because of this, to investigate the
    efficiency of mouse dynamics on account sharing detection on games is a really interesting
    research, but there is no public database of mouse dynamics for online games or similar
    situations. So a new database was collected and presented in this work. Some statistic
    analysis and classification experiments shown that mouse dynamics features can be used
    for identification of League of Legends players on a smaller context, with a correctness of
    93.2203%.
11
  • TERESA DO CARMO BARRÊTO FERNANDES
  • ExMinerSOF: Minerando InformaçoÞes Excepcionais do StackOverflow 

  • Orientador : ROBERTA DE SOUZA COELHO
  • MEMBROS DA BANCA :
  • FRANCISCO DANTAS DE MEDEIROS NETO
  • LYRENE FERNANDES DA SILVA
  • ROBERTA DE SOUZA COELHO
  • UIRA KULESZA
  • Data: 30/06/2017

  • Mostrar Resumo
  • Exceções não capturadas não são cenários excepcionais nas aplicações Java atuais. Eles são, na verdade, uma das principais causas de falha das aplicações Java - que podem originar-se de erros de programação (e.g., acesso a referências nulas); falhas no hardware ou em APIs utilizadas.
    Essas exceções não capturadas (do inglês: uncaught) resultam em stack traces que são frequentemente usados pelos desenvolvedores como fonte de informações para a depuração. Atualmente, essa informação é frequentemente usada pelos desenvolvedores em mecanismos de busca ou sites de perguntas e respostas (do inglês: Question and Answer - Q&A) para tentar compreender melhor a causa do crash e assim poder resolvê-lo.
    Este estudo fez a mineração de stack traces incluídas nas perguntas e respostas do StackOverflow (SOF). O objetivo deste estudo foi: (i) identificar características comuns das stack traces e (ii) investigar como tais informações podem ser usadas para evitar exceções não capturadas durante o desenvolvimento de software.
    Neste estudo, 121.253 exceções foram extraídas e analisadas em combinação com inspeções de postagens do SOF. Este estudo fornece insights sobre como as informações incorporadas nas stack traces podem ser usadas para descobrir exceções potencialmente acionadas por métodos de APIs, mas que não possuem documentação.
    Também é proposta a ferramenta ExMinerSOF, que alerta o desenvolvedor sobre as exceções que podem ser potencialmente sinalizadas por um método de API, mas que não fazem parte da documentação. Essas informações são descobertas aplicando uma estratégia de mineração apresentada neste trabalho. Ao fazê-lo, a ferramenta permite que o desenvolvedor evite falhas com base em falhas relatadas por outros desenvolvedores.

     

  • Mostrar Abstract
  • Uncaught exceptions are not an exceptional scenario in current Java applications. They are actually one of the main causes of applications crashes, which can originate from programming errors on the application itself (null pointer dereferences); faults in underlying hardware or re-used APIs.
    Such uncaught exceptions result in exception stack traces that are often used by developers as a source of information for debugging. Currently, this information is ofttimes used by developers on search engines or Question and Answer sites while the developer tries to: better understand the cause of the crash and solve it.
    This study mined the exception stack traces embedded on StackOverflow (SOF) questions and answers. The goal of this work was to two-fold: to identify common characteristics of such stack traces and to investigate how such information can be used to prevent uncaught exceptions during software development. Overall 121.253 exception stack traces were extracted and analyzed in combination with Q&A inspections. This work provides insights on how the information embedded on exception stack traces can used to discover exceptions that can be potentially thrown by API methods but are not part of the API documentation.
    Hence, this study proposes ExMinerSOF tool, which alerts the developer about the exceptions that can be potentially signaled by an API method but are not part of the API documentation - and was discovered by applying a mining strategy in SOF repository. Doing so, the tool enable the developer to prevent faults based on failures reported by the crowd.

12
  • EMERSON BEZERRA DE CARVALHO
  • Análise Experimental de Variações da Heurística de Lin e Kernighan para o Problema do Caixeiro Viajante Multiobjetivo

  • Orientador : ELIZABETH FERREIRA GOUVEA GOLDBARG
  • MEMBROS DA BANCA :
  • CAROLINA DE PAULA ALMEIDA
  • ELIZABETH FERREIRA GOUVEA GOLDBARG
  • MARCO CESAR GOLDBARG
  • SILVIA MARIA DINIZ MONTEIRO MAIA
  • Data: 24/07/2017

  • Mostrar Resumo
  • A heurística de Lin e Kernighan (LK) é um dos métodos mais eficientes para o Problema do Caixeiro Viajante (PCV). Devido a este fato, diferentes implementações para a LK foram propostas na literatura e esta heurística é também usada como parte de diversos algoritmos meta-heurísticos. A heurística LK tem sido utilizada no contexto do PCV multiobjetivo (PCVM) conforme proposta originalmente por seus autores, isto é, com o foco mono-objetivo. Este trabalho investiga variações da heurística LK no contexto multiobjetivo. É investigado o potencial de extensões da LK combinadas com outras técnicas meta-heurísticas. Resultados de um experimento computacional para instâncias do PCVM com 2, 3 e 4 objetivos são reportados.


  • Mostrar Abstract
  • The Lin and Kernighan’s heuristic (LK) is one of the most effective methods for the Traveling Salesman Problem (TSP). Due to this fact, different implementations for the LK were proposed in literature and this heuristic is also used as part of various meta-heuristic algorithms. LK has been used in the context of the multi-objective TSP (MTSP) as originally proposed by its authors, i.e., with a single objective focus. This study investigates variants of the LK heuristic in the multi-objective context. We investigate the potential of LK extensions combined with other metaheuristic techniques. Results of a computational
    experimental are reported for MTSP instances with 2, 3 and 4 objectives.

13
  • NELSON ION DE OLIVEIRA
  • Um Ambiente Interativo de Apoio ao Ensino de Lógica de Programação nos Cursos Técnicos (EaD) do Instituto Metrópole Digital/UFRN.

  • Orientador : MARCEL VINICIUS MEDEIROS OLIVEIRA
  • MEMBROS DA BANCA :
  • ALEX SANDRO GOMES
  • JORGE TARCISIO DA ROCHA FALCAO
  • MARCEL VINICIUS MEDEIROS OLIVEIRA
  • MARCIA JACYNTHA NUNES RODRIGUES LUCENA
  • Data: 24/07/2017

  • Mostrar Resumo
  • O principal objetivo deste trabalho é apresentar uma proposta de intervenção no material
    didático da disciplina de Lógica de Programação dos cursos técnicos ofertados na modalidade
    a distância, do Instituto Metrópole Digital da Universidade Federal do Rio Grande do
    Norte. Essa intervenção foi proposta como resultado de uma pesquisa mista-exploratória
    online com centenas de alunos dos referidos cursos ofertados. Para a implementação da
    proposta, realizou-se análise frequência descritiva sobre dados quantitativos acerca do desempenho
    acadêmico de 2.500 discentes dos primeiros semestres letivos dos anos de 2015 e
    2016. Foram aplicados questionários online com mais de 600 alunos para identificar o perfil
    desses estudantes. Também realizaram-se entrevistas semiestruturadas com efetivo de 37
    alunos, com critérios de score e idade para a definição dos grupos de entrevista. Com base
    nos dados obtidos e analisados na pesquisa, implementou-se uma proposta de intervenção
    inserindo um recurso no material didático utilizado na disciplina de Lógica de Programação
    para o referido curso. Essa intervenção adiciona o recurso que permite a realização,
    pelo aluno, de exercícios de programação utilizando uma linguagem de programação de
    alto nível aliada ao recurso de feedback automatizado.


  • Mostrar Abstract
  • The main objective of this work is to present a proposal for intervention in the didactic
    material of the discipline of Programming Logic of the technical courses offered at distance
    modality, from the Digital Metropolis Institute of the Federal University of Rio Grande
    do Norte. This intervention was proposed as a result of an mixed-exploratory research
    with hundreds of students of the offered courses. For the implementation of the proposal,
    a descriptive frequency analysis was performed on quantitative data about the academic
    performance of 2,500 students from the first semesters of the years 2015 and 2016. Online
    questionnaires were applied with more than 600 students to identify the profile of these
    students. We also conducted semi-structured interviews with 37 students, with score and
    age criteria to define the groups interview. Based on the data obtained and analyzed in
    the research, an proposal intervention was implemented by inserting a resource in the
    didactic material used in the Programming Logic discipline that course. This intervention
    adds the feature that allows the student to perform programming exercises using a highlevel
    programming language coupled with the automated feedback feature.

14
  • LEO MOREIRA SILVA
  • PerfMiner Visualizer: Uma Ferramenta para Análise da Evolução do Atributo de Qualidade de Desempenho em Sistemas de Software
  • Orientador : UIRA KULESZA
  • MEMBROS DA BANCA :
  • FELIPE ALVES PEREIRA PINTO
  • LYRENE FERNANDES DA SILVA
  • RENATO LIMA NOVAIS
  • UIRA KULESZA
  • Data: 26/07/2017

  • Mostrar Resumo
  • Durante o processo de manutenção e evolução de um sistema de software, o mesmo pode sofrer diversas modificações, as quais podem trazer consequências negativas, diminuindo a sua qualidade e aumentando sua complexidade. Essa deterioração também pode afetar o desempenho dos sistemas ao longo do tempo. Assim, sem o devido acompanhamento, o atributo de qualidade de desempenho pode deixar de ser atendido adequadamente. A área de visualização de software propõe o uso de técnicas cujo objetivo é melhorar o entendimento do software e tornar mais produtivo o seu processo de desenvolvimento. Neste contexto, este trabalho apresenta uma ferramenta de visualização de desvios de desem- penho de evoluções subsequentes de um sistema de software com o intuito de auxiliar a análise da evolução do desempenho entre versões de um software. A ferramenta permite, através de visualizações de grafos de chamadas e sumarização de cenários, que desenvolvedores e arquitetos possam identificar cenários e métodos que tiveram variações no seu desempenho, incluindo as potenciais causas desses desvios através dos respectivos commits. O trabalho também apresenta um estudo empírico que avalia o uso da ferramenta aplicando-a em 10 versões de evolução de 2 sistemas open-source de domínios diferentes e submetendo questionários online para obter feedback dos seus desenvolvedores e arquitetos. Os resultados do estudo conduzido trazem evidências preliminares da eficácia das visualizações providas pela ferramenta em comparação com dados tabulares. Além disso, o algoritmo de supressão de nós da visualização do grafo de chamadas foi capaz de reduzir entre 73,77% e 99,83% a quantidade de nós a serem exibidos para o usuário, permitindo que ele possa identificar mais facilmente as possíveis causas das variações.

  • Mostrar Abstract
  • During the maintenance and evolution process of a software system, it can undergo several modifications, which can have negative consequences, reducing its quality and increasing its complexity. This deterioration can also affect system performance over time. Thus, without due monitoring, the performance quality attribute may no longer be adequately met. The software visualization area proposes the use of techniques whose objective is to improve the understanding of the software and to make its development process more productive. In this context, this work presents a tool to visualize performance deviations from subsequent evolutions of a software system to assist the analysis of performance evolution between software versions. The tool allows, through call graph and scenario summarization visualizations, that developers and architects can identify scenarios and methods that have had variations in their performance, including the potential causes of such deviations through commits. This work also presents an empirical study that evaluates the use of the tool by applying it to 10 evolutionary versions of 2 open-source systems from different domains and by submitting online questionnaires to obtain feedback from its developers and architects. The results of the conducted study bring preliminary evidence of the effectiveness of visualizations provided by the tool compared to tabular data. In addition, the nodes suppression algorithm of the call graph visualization was able to reduce between 73.77% and 99.83% the number of nodes to be displayed to the user, allowing him to be able to identify more easily the possible causes of variations.

15
  • FÁBIO FERNANDES PENHA
  • SMiLe: Uma Notação Textual Modular para Modelos de Requisitos IStar

  • Orientador : MARCIA JACYNTHA NUNES RODRIGUES LUCENA
  • MEMBROS DA BANCA :
  • FERNANDA MARIA RIBEIRO DE ALENCAR
  • LYRENE FERNANDES DA SILVA
  • MARCIA JACYNTHA NUNES RODRIGUES LUCENA
  • Data: 28/07/2017

  • Mostrar Resumo
  • Sistemas computacionais estão presentes em todos os lugares, assumindo um papel determinante nas mais diversas atividades e áreas. Os ambientes cujos sistemas são necessários e concebidos, serão cada vez mais complexos, sociais e técnicos. Assim surge o Framework iStar como uma linguagem de modelagem usada para prospectar modelos tanto, de Dependência, como de Raciocínio Estratégicos (Strategic Dependency model e Strategic Rationale model). Estes modelos capturam e representam os motivos e as relações dos envolvidos no ambiente estudado. Esta abordagem vem sendo utilizada em diversas situações, tais como telecomunicações, controle de tráfego aéreo, agricultura e saúde. Apesar disso, o Framework vem encontrando dificuldade para uma ampla aceitação na indústria, sendo que alguns trabalhos apontam fraquezas do Framework iStar diante de sistemas complexos ou que envolve muitos atores. Neste contexto, o objetivo desta dissertação é apresentar e implementar uma notação textual que complemente os modelos gráficos do Framework iStar buscando lidar com alguns desafios relacionados ao uso dos Modelos Istar, tais como, modularidade e escalabilidade. 


  • Mostrar Abstract
  • Computational systems are present everywhere, assuming a determining role in the most diverse activities and areas. The environments, whose systems are needed and designed, will be increasingly complex, social and technical. Thus, the iStar Framework emerges as a modeling language used to prospect both Dependency and Strategic Dependency model and Strategic Rationale models. These models capture and represent the motives and relationships of those involved in the studied environment. This approach has been used in several situations, such as telecommunications, air traffic control, agriculture and health. Despite this, the Framework has been finding it difficult to be widely accepted in the industry, and some studies point out weaknesses of the iStar Framework in the face of complex systems or involving many actors. In this context, the objective of this dissertation is to present and implement a textual notation that complements the iStar Framework's graphical models in order to deal with some challenges related to the use of Istar Models, such as modularity and scalability.

16
  • HUGO HENRIQUE DE OLIVEIRA MESQUITA
  • UMA ABORDAGEM PARA O DESENVOLVIMENTO DE JOGOS DIGITAIS EDUCATIVOS NO ENSINO BÁSICO

  • Orientador : EDUARDO HENRIQUE DA SILVA ARANHA
  • MEMBROS DA BANCA :
  • ALBERTO SIGNORETTI
  • EDUARDO HENRIQUE DA SILVA ARANHA
  • THIAGO REIS DA SILVA
  • UIRA KULESZA
  • Data: 28/07/2017

  • Mostrar Resumo
  • Os jogos educativos digitais são apontados como uma boa ferramenta quando utilizados em sala de aula, pois insere os alunos em um ambiente lúdico de aprendizagem, de maneira que, proporciona o desenvolvimento de diversas habilidades. No entanto, nem sempre é possível para o professor conseguir jogos que se adequam ao perfil educacional que deseja, tornando muitas vezes inviável a sua utilização no contexto escolar. Com base neste contexto, este trabalho apresenta o design e implementação de uma plataforma que visa proporcionar aos professores e alunos a possibilidade de criar jogos de uma maneira simples e intuitiva, e que permita aos professores adequar o conteúdo dos jogos aos seus objetivos pedagógicos. Os resultados desta pesquisa contribuem para as inovações futuras, nos campos teórico e prático, na definição de uma abordagem baseada em componentes e desenvolvimento de uma plataforma ambos promovendo o desenvolvimento de jogos digitais educativos com diferentes objetivos pedagógicos. Diante dos resultados apresentados, considera-se que a plataforma proposta em conjunto com a sua abordagem motivadora, apresentou resultados potencialmente eficazes.


  • Mostrar Abstract
  • Digital educational games are pointed out as a good tool when used in the classroom, as it inserts the students in a playful learning environment, in a way that provides the development of several skills. However, it is not always possible for the teacher to find games that fit the educational needs that he or she wishes, making it often unfeasible for use in the school context. Based on this scenario, this work presents the design and implementation of a platform that aims to provide teachers and students with the possibility of creating games in a simple and intuitive way, and that allows teachers to adapt the content of the games to their pedagogical objectives. The results of this research contribute to future innovations in the theoretical and practical fields, in the definition of a component-based approach and the development of a platform, promoting the development of digital educational games with different pedagogical objectives. Results suggest that the proposed platform together with its motivational approach have effective results.

17
  • GABRIEL ALVES VASILJEVIC MENDES
  • Brain-Computer Interface Games based on Consumer-Grade Electroencephalography Devices: Systematic Review and Controlled Experiments

  • Orientador : LEONARDO CUNHA DE MIRANDA
  • MEMBROS DA BANCA :
  • BRUNO MOTTA DE CARVALHO
  • FABRICIO LIMA BRASIL
  • LEONARDO CUNHA DE MIRANDA
  • SELAN RODRIGUES DOS SANTOS
  • Data: 31/07/2017

  • Mostrar Resumo
  • Brain-computer interfaces (BCIs) are specialized systems that allow users to control a computer or a machine using their brain waves. BCI systems allow patients with severe physical impairments, such as those suffering from amyotrophic lateral sclerosis, cerebral palsy and locked-in syndrome, to communicate and regain physical movements with the help of specialized equipment. With the development of BCI technology in the second half of the 20th century and the advent of consumer-grade BCI devices in the late 2000s, brain-controlled systems started to find applications not only in the medical field, but in areas such as entertainment. One particular area that is gaining more evidence due to the arrival of consumer-grade devices is the field of computer games, which has become increasingly popular in BCI research as it allows for more user-friendly applications of BCI technology in both healthy and unhealthy users. However, numerous challenges are yet to be overcome in order to advance in this field, as the origins and mechanics of the brain waves and how they are affected by external stimuli are not yet fully understood. In this sense, a systematic literature review of BCI games based on consumer-grade technology was performed. Based on its results, two BCI games, one using attention and the other using meditation as control signals, were developed in order to investigate key aspects of player interaction: the influence of graphical elements on attention and control; the influence of auditory stimuli on meditation and work load; and the differences both in performance and multiplayer game experience, all in the context of neurofeedback-based BCI games.


  • Mostrar Abstract
  • Brain-computer interfaces (BCIs) are specialized systems that allow users to control a computer or a machine using their brain waves. BCI systems allow patients with severe physical impairments, such as those suffering from amyotrophic lateral sclerosis, cerebral palsy and locked-in syndrome, to communicate and regain physical movements with the help of specialized equipment. With the development of BCI technology in the second half of the 20th century and the advent of consumer-grade BCI devices in the late 2000s, brain-controlled systems started to find applications not only in the medical field, but in areas such as entertainment. One particular area that is gaining more evidence due to the arrival of consumer-grade devices is the field of computer games, which has become increasingly popular in BCI research as it allows for more user-friendly applications of BCI technology in both healthy and unhealthy users. However, numerous challenges are yet to be overcome in order to advance in this field, as the origins and mechanics of the brain waves and how they are affected by external stimuli are not yet fully understood. In this sense, a systematic literature review of BCI games based on consumer-grade technology was performed. Based on its results, two BCI games, one using attention and the other using meditation as control signals, were developed in order to investigate key aspects of player interaction: the influence of graphical elements on attention and control; the influence of auditory stimuli on meditation and work load; and the differences both in performance and multiplayer game experience, all in the context of neurofeedback-based BCI games.

18
  • JEAN GLEISON DE SANTANA SILVA
  • Algoritmos de Solução para o Problema do Caixeiro Viajante com Passageiros e Quota

  • Orientador : MARCO CESAR GOLDBARG
  • MEMBROS DA BANCA :
  • MARCO CESAR GOLDBARG
  • ELIZABETH FERREIRA GOUVEA GOLDBARG
  • SILVIA MARIA DINIZ MONTEIRO MAIA
  • MATHEUS DA SILVA MENEZES
  • Data: 31/07/2017

  • Mostrar Resumo
  • O Problema do Caixeiro Viajante com Passageiros e Quota pertence à classe de Problemas do Caixeiro Viajante com Quota. Neste problema, considera-se uma vantagem econômica quando o caixeiro, viajando em um veículo privado, embarcar passageiros que passam a dividir as despesas da viagem com ele. O modelo pode representar situações reais onde o motorista tem uma rota de visita de cidade predefinida, onde cada à cidade está associado um bônus, sendo demandada a coleta de um valor mínimo desses bônus, Na função objetivo leva-se em conta a possibilidade da redução dos custos do caixeiro embarcando pessoas em seu veículo. Um modelo matemático, seis algoritmos evolucionários e um heurístico são apresentados para o problema. O comportamento dos algoritmos propostos é analisado em um experimento computacional com 48 instâncias.

     

     


  • Mostrar Abstract
  • The Traveling Salesman Problem with Ridesharing and Quota belongs to the class of Quota Traveling Salesman problems. In this problem, it is considered the economic advantage achieved when the salesman, traveling in a private vehicle, gives ride to passengers who share travel expenses with him. The model can represent real situations where a driver programs a route to visit cities, each of which associated with a bonus, with the requirement of collecting a minimum sum of bonuses and taking into account the possibility of reducing costs due to people embarked in his vehicle. A math model, six evolutionary algorithms and one heuristic are presented for the problem addressed. The behavior of the proposed algorithms is analyzed on a computational experiment with 48 instances.

19
  • JOÃO HELIS JUNIOR DE AZEVEDO BERNARDO
  • The Impact of Adopting Continuous Integration on the Delivery Time of Merged Pull Requests: An Empirical Study

  • Orientador : UIRA KULESZA
  • MEMBROS DA BANCA :
  • DANIEL ALENCAR DA COSTA
  • EDUARDO HENRIQUE DA SILVA ARANHA
  • MARCELO DE ALMEIDA MAIA
  • ROBERTA DE SOUZA COELHO
  • UIRA KULESZA
  • Data: 31/07/2017

  • Mostrar Resumo
  • Continuous Integration (CI) is a software development practice that leads developers to integrate their work more frequently. Software projects have broadly adopted CI to ship new releases more frequently and to improve code integration. The adoption of CI is usually motivated by the allure of delivering new software content more quickly and frequently. However, there is little empirical evidence to support such claims. Over the last years, many available software projects from social coding environments such as GitHub have adopted the CI practice using CI facilities that are integrated into these environments (e.g., Travis-CI). In this dissertation, we empirically investigate the impact of adopting CI on the time-to-delivery of pull requests (PRs), through the analysis of 167,037 PRs of 90 GitHub projects that are implemented in 5 different programming languages. The results show that a median of 13.8% of merged pull requests have their delivery postponed by at least one release before adopting CI, while after adopting CI, a median of 24% of merged PRs have their delivery postponed to future releases. Contrary to what one might speculate, we find that PRs tend to wait longer to be delivered after the adoption of CI in the majority (53%) of the studied projects. The large increase of PR submissions after CI is a key reason as to why these projects deliver PRs more slowly after adopting CI. 77.8% of the projects increase the rate of PR submissions after adopting CI. To investigate the factors that are related to the time-to-delivery of merged PRs, we train linear and logistic regression models, which obtain sound median R-squares of 0.72-0.74, and good median AUC values of 0.85-0.90. A deeper analysis of our models suggests that, before and after the adoption of CI, the intensity of code contributions to a release may increase the delivery time due to a higher integration-load (regarding integrated commits) of the development team. Finally, we are able to accurately identify merged pull requests that have a prolonged delivery time. Our regression models obtained median AUC values of 0.92 to 0.97.


  • Mostrar Abstract
  • Integração Contínua (IC) é uma prática de desenvolvimento de software que leva os desenvolvedores a integrarem seu código-fonte mais frequentemente. Projetos de software têm adotado amplamente a IC com o intuito de melhorar a integração de código e lançar novas releases mais rapidamente para os seus usuários. A adoção da IC é usualmente motivada pela atração de entregar novas funcionalidades do software de forma mais rápida e frequente. Todavia, há poucas evidências empíricas para justificar tais alegações. Ao longo dos últimos anos, muitos projetos de software disponíveis em ambientes de codificação social, como o GitHub, tem adotado a prática da IC usando serviços que podem ser facilmente integrados nesses ambientes (por exemplo, Travis-CI). Esta dissertação investiga empiricamente o impacto da adoção da IC no tempo de entrega de pull requests (PRs), através da análise de 167.037 PRs de 90 projetos do GitHub que são implementados em 5 linguagens de programação diferentes. Os resultados mostram que em mediana 13,8% dos PRs tem sua entrega adiada por pelo menos uma release antes da adoção da IC, enquanto que após a adoção da IC, em mediana 24% dos PRs tem sua entrega adiada para futuras releases. Ao contrário do que se pode especular, observou-se que PRs tendem a esperar mais tempo para serem entregues após a adoção da IC na maioria (53%) dos projetos investigados. O grande aumento das submissões de PRs após a IC é uma razão fundamental para que projetos demorem mais tempo para entregar PRs depois da adoção da IC. 77,8% dos projetos aumentam a taxa de submissões de PRs após a adoção da IC. Com o propósito de investigar os fatores relacionados ao tempo de entrega de merged PRs, treinou-se modelos de regressão linear e logística, os quais obtiveram R-Quadrado mediano de 0.72-0.74 e bons valores medianos de AUC de 0.85-0.90. Análises mais profundas de nossos modelos sugerem que, antes e depois da adoção da IC, a intensidade das contribuições de código para uma release pode aumentar o tempo de entrega de PRs devido a uma maior carga de integração (em termos de commits integrados) da equipe de desenvolvimento. Finalmente, apresentamos heurísticas capazes de identificar com precisão os PRs que possuem um tempo de entrega prolongado. Nossos modelos de regressão obtiveram valores de AUC mediano de 0.92 a 0.97.

20
  • LUIZ FERNANDO VIRGINIO DA SILVA
  • Extraindo Dados de Tráfego a partir de Vídeos em Tempo Real

  • Orientador : BRUNO MOTTA DE CARVALHO
  • MEMBROS DA BANCA :
  • BRUNO MOTTA DE CARVALHO
  • ANNE MAGALY DE PAULA CANUTO
  • ALUISIO IGOR REGO FONTES
  • Data: 31/07/2017

  • Mostrar Resumo
  • Alguns dos maiores problemas nas grandes cidades estão relacionados com o trânsito em vias públicas. Problemas como congestionamentos e acidentes impactam diretamente de modo negativo na sociedade e são muitas vezes atribuídos à falta de planejamento urbano por parte dos governantes, à falta de políticas públicas e pesquisas que proporcionem uma solução, mesmo que de forma parcial, ao problema. Estas pesquisas dependem de dados que devem ser coletados in loco nas principais avenidas e ruas da cidade, trabalho este que precisaria de uma demanda grande de pessoal e que, por se tratar de algo realizado de forma manual, tende ao erro. Ao circular pelas principais cidades é comum vermos sistemas de CFTV sendo utilizados como principal meio de vigilância no trânsito. Desta forma, foi pensada então em uma solução capaz de coletar estes dados de forma automática, e em tempo real, utilizando imagens de vídeos oriundas destas câmeras e utilizá-los para subsidiar pesquisas, assim como detectar possíveis ações no trânsito. O método proposto consiste em uma aplicação que deve seguir os seguintes passos: (i) detectar objetos utilizando segmentação por movimento; (ii) aplicar, em cada objeto segmentado, técnicas de reconhecimento como algoritmos de aprendizado de máquina ou descritores de ponto para refinar a busca na detecção de veículos, assim como categorizá-los. Nesta etapa, tratamos as situações de oclusão, fenômeno de sobreposição de objetos, e; (iii) rastrear cada objeto, agora refinado, utilizando filtros de Kalman ou o método de Senior a fim de obtermos dados relevantes do tráfego. Inicialmente estamos coletando direção, velocidade e intensidade do fluxo através da contagem volumétrica, que podem ser utilizados para qualquer fim, não só para o objetivo final do que é aqui proposto. Finalmente, demonstramos a eficiência da abordagem proposta em experimentos com vídeos coletados sob diferentes condições de iluminação.


  • Mostrar Abstract
  • Some of the major problems in large cities are related to traffic in public streets. Problems such as traffic jams and vehicle accidents directly impact society in a negative way, and are usually attributed to lack of urban planning from government, the lack of public policy or researches aimed at solving this problems, even if partially. These researches depend on data that must be collected in loco on the main avenues and streets of a city, demanding a big human force to collected them manually, also possibly incurring in error because of its manual characteristic. It is common to see CFTV systems around the city being used as the main mean of traffic monitoring. Thus, we devised a solution capable of collecting these data automatically in real-time, using videos captured using these cameras. The proposed solution consists of the following steps: (i) detect objects usign motion segmentation; (ii) apply pattern recognition methods such as machine learning mehtods or point descriptors to identify and classify vehicles. In this stage, we deal with the problem of occluded vehicles, e; (iii) track each object, now using Kalman filters or the mehtod of Senior in order to obtain relevant traffic data. Initially, we are collecting direction, velocity and flow intensity trhough volumetric counting, that can be used for other purposes, and not only the one handled here. Finally, we demostrate the efficiency of the proposed approach on experiments using videos acquired under different lightning conditions.

     

21
  • ZAILTON SACHAS AMORIM CALHEIROS
  • O Problema do Caixeiro Viajante com Passageiros

  • Orientador : MARCO CESAR GOLDBARG
  • MEMBROS DA BANCA :
  • MARCO CESAR GOLDBARG
  • ELIZABETH FERREIRA GOUVEA GOLDBARG
  • SILVIA MARIA DINIZ MONTEIRO MAIA
  • MATHEUS DA SILVA MENEZES
  • Data: 31/07/2017

  • Mostrar Resumo
  • Este trabalho apresenta um modelo de compartilhamento de assentos veicular de modo a reduzir os custos de viagem de motoristas e passageiros, contribuindo de maneira significativa ao meio ambiente e à sociedade. O problema também é descrito através de um modelo de programação linear e são discutidas algumas variantes de um subproblema importante para resolução do modelo proposto. Além disso, algumas abordagens computacionais são implementadas, compostas de algoritmos evolucionários (genético e mémetico) e construtivos (formigas e GRASP). Além da adaptação de algoritmos já existes para o problema do caixeiro viajante tradicional como o algoritmo de Lin-Kernighan. Após a realização de experimentos, o algoritmos baseado em formiga revela-se promissor para instâncias assimétricas enquanto que o algoritmo de Lin-Kernighan leva vantagem pela sua robustez através da implementação de Helsgaun e desempenha bom resultados para instâncias simétricas.

     

     

     


  • Mostrar Abstract
  • This thesis presents a vehicle seat sharing model in order to reduce travel costs for drivers and passengers, contributing significantly to the environment and society. The problem is also described by a linear programming model and it is discussed in some variants of an important subproblem for solving the main problem. Besides, some computational approaches are implemented, composed by evolutionary (genetic and memetic) e constructive (ant optimization) algorithms. In addition to the adaptation of already existing algorithms for the travaling salesman problem as the Lin-Kernighan algorithm. After performing experiments, ant-based algorithms prove itself promising for asymmetric instances while the Lin-Kernighan algorithm takes advantage of its robustness through the implementation of Helsgaun and has a good performance for symmetric instances.

22
  • DALAY ISRAEL DE ALMEIDA PEREIRA
  • Uma extensão de uma ferramenta para o suporte formal ao desenvolvimento baseado em componentes

  • Orientador : MARCEL VINICIUS MEDEIROS OLIVEIRA
  • MEMBROS DA BANCA :
  • AUGUSTO CEZAR ALVES SAMPAIO
  • MARCEL VINICIUS MEDEIROS OLIVEIRA
  • MARTIN ALEJANDRO MUSICANTE
  • Data: 18/08/2017

  • Mostrar Resumo
  • O desenvolvimento de sistemas baseado em componentes é considerado uma evolução para o processo de desenvolvimento de software. Usando essa abordagem, a manutenção do sistema é facilitada, trazendo mais segurança e reuso. A composição de componentes (e suas interações), entretanto, é ainda a maior fonte de problemas e requer uma análise mais detalhada. Métodos formais são uma ferramenta precisa para a especificação de sistemas e possui uma base matemática forte que traz, entre outros benefícios, mais segurança para os sistemas. O método formal CSP permite a especificação de sistemas concorrentes e a verificação de propriedades inerentes a esses sistemas. CSP tem um conjunto de ferramentas que auxiliam na sua verificação, como FDR2 e FDR3. Porém, a verificação de algumas propriedades podem levar muito tempo, como, por exemplo, a verificação da ausência de deadlock. BRICK surge como uma abordagem baseada em CSP para o desenvolvimento de sistemas assíncronos baseados em componentes que garante a ausência de deadlock por construção. Essa abordagem usa CSP para especificar constantes e interações entre os componentes a fim de permitir uma verificação do sistema em si. Entretanto, o uso prático dessa abordagem pode ser muito complexo e cansativo. A fim de automatizar o uso de BRICK nós desenvolvemos uma ferramenta (BTS - BRICK Tool Support) que automatiza a verificação da composição de componentes por, automaticamente, gerar e checar as condições impostas pela abordagem utilizando FDR2. Porém, devido ao grande número e a complexidade das verificações feitas em FDR2, a ferramenta pode levar muito tempo no processo de verificação. Neste trabalho, nós apresentamos uma extensão para BTS que melhora a maneira pela qual a ferramenta faz as verificações, trocando FDR2 para FDR3 e adicionando um provador de SMT que, concorrentemente, checa algumas das propriedades das especificações. Nós também melhoramos os casos de uso para avaliarmos a nossa ferramenta.

  • Mostrar Abstract
  • The component-based development of systems is considered an important evolution in the software
    development process. Using this approach, the system maintenance is facilitated, bringing
    more reliability and reuse of components. However, the composition of components (and their
    interactions) is still the main source of problems and requires a more detailed analysis. This
    problem is even more relevant when dealing with safety-critical applications. An approach
    for specifying this kind of applications is the use Formal Methods, which are an accurate tool
    for system specification that has strong mathematical background which brings, among other
    benefits, more safety. As an example, the formal method CSP allows the specification of concurrent
    systems and the verification of properties inherent to such systems. CSP has a set of
    tools for its verification, like, for instance, FDR. Using CSP, one can detect and solve problems
    like deadlock and livelock in a system, although it can be costly in terms of time spent
    in verifications. In this context, BRICK has emerged as a CSP based approach for developing
    asynchronous component-based systems, which guarantees deadlock freedom by construction.
    This approach uses CSP to specify the constraints and interactions between the components to
    allow a formal verification of the system. However, the practical use of this approach can be
    too complex and cumbersome. In order to automate the use of the BRICK approach we have
    developed a tool (BTS - BRICK Tool Support) that automates the verifications of component
    compositions by automatically generating and checking the side conditions imposed by the approach
    using FDR. But, due to the number and complexity of the verifications made in FDR,
    the tool can still take too much time in this process.
    In this dissertation proposal, we present an extension to BTS that improves the way how
    it make verifications by replacing the FDR used inside the tool by its most recent version and
    adding a SMT-solver, that, concurrently, checks some properties of the specification. We also
    evaluated the tool with a new case study, comparing the verifications made in the older version
    of the tool with this new approach of verification. The internal structure of the tool has also
    been improved in order to make it easier to be extended, which is also an contribution of our
    work.

23
  • ALAN DE OLIVEIRA SANTANA
  • Geração de Ambientes Virtuais de Ensino-Aprendizagem para Cursos Baseados na Realização de Projetos

  • Orientador : EDUARDO HENRIQUE DA SILVA ARANHA
  • MEMBROS DA BANCA :
  • EDUARDO HENRIQUE DA SILVA ARANHA
  • MARCIA JACYNTHA NUNES RODRIGUES LUCENA
  • ROBERTO ALMEIDA BITTENCOURT
  • Data: 30/11/2017

  • Mostrar Resumo
  • Os altos índices de reprovação e evasão em cursos de computação torna-se um fator limitador para o desenvolvimento de diversas áreas profissionais, tornando a oferta de mão de obra especializada escassa. Neste sentido, cursos de desenvolvimento de jogos podem mitigar este fator, pois permitem abstrair as informações e entender onde se aplicada cada conceito estudado de forma lúdica. Neste contexto a utilização do modelo PBL agrega valor por permitir que o estudante aprenda a aprender, desenvolvendo características pessoais de interpretação e resolução de problemas de forma eficiente, além de competências relativas ao trabalho em equipe. Porém, os cursos baseados em PBL possuem turmas reduzidas para permitir que o professor possa auxiliar os alunos de forma mais eficiente. Em contrapartida, esse fator limita a abertura de mais vagas, devido ao custo com professores, materiais por turma, entre outros, tanto na educação presencial quanto a distância. Uma forma de mitigar estes gastos e melhorar a eficiência dos cursos baseados em PBL através de tutores virtuais digitais. Estes tutores apresentam características que simulam um professor e os permitem direcionar e auxiliar os estudantes, todavia, com maior tempo disponível, permitindo que os alunos aprendam em seu próprio ritmo. Neste contexto, observasse que dentro de uma turma, os alunos também apresentam objetivos e capacidades diferentes. Desta forma, o objetivo desta dissertação é propor uma arquitetura de geração de tutores virtuais para diferentes perfis de alunos, para ser aplicado em cursos de programação de jogos baseados no modelo PBL. Para permitir avaliar a demanda e contribuições que esta proposta pode ocasionar, foram realizados estudos afim de levantar os dados necessários para desenvolver os tutores para cada perfil de aluno e avaliar os resultados benéficos que cada tutor permite trazer a cada perfil. Assim o primeiro estudo foi desenvolver uma revisão sistemática da literatura a fim de observar como tutores eram desenvolvidos, principalmente ligados a computação afetiva. Após os resultados deste estudo um protótipo foi desenvolvido para aulas direcionadas e objetivas baseadas em missões (atividades ligadas ao modelo PBL), e contendo no sistema um personagem virtual animado que atual como expositor dos conteúdos. Este protótipo foi aplicado a um experimento com alunos do nível médio que permitiu o desenvolvimento de um novo tutor para um novo perfil de alunos, mais interativo. Este novo protótipo foi desenvolvido baseado no chatbot ALICE e na linguagem AIML. Após a conclusão deste tutor, um experimento foi realizado utilizando ambos tutores para avaliar a proposta de um gerador de tutores para serem aplicados a uma mesma turma. Este experimento foi aplicado a alunos de graduação em licenciatura objetivando permitir que estes professores replicassem o estudo em suas turmas em um futuro próximo. Por fim os dados foram analisados e foi possível responder as questões de pesquisas desenvolvidas durante o estudo. Os resultados apresentados nesta obra, mostraram que os alunos se divertiram durante as aulas, motivadas pelo fator lúdico ligado as aulas de programação de jogos e dos tutores virtuais. Este fator permitiu que os alunos apresentassem bons resultados durante o desenvolvimento dos jogos, com mais de 75% dos alunos concluindo os problemas propostos, com os demais apresentando em torno de 90% de andamento dos problemas. Outro ponto observado foi que as turmas apresentaram distinção de perfil em ordem de 56% para 44% de dispersão entre os tutores que mais se adaptaram a seu perfil. Estes dados sugerem a possibilidade de inserir um gerador de tutores para perfis diferentes de alunos nesta turma, porém, são necessários outros estudos para evidenciar de forma mais contundente este dado apresentado. Em geral os tutores tornaram as aulas mais dinâmicas e produtivas mostrando-se excelentes ferramentas de suporte aos alunos no desenvolvimento de jogos baseados em PBL.


  • Mostrar Abstract
  • The high rates of failure and avoidance in computing courses become a limiting factor for the development of several professional areas, making the supply of skilled labor scarce. In this sense, courses of game development can mitigate this factor, since they allow to abstract the information and to understand where each concept studied is applied in a playful way. In this context, the use of the PBL model adds value by allowing the student to learn to learn, developing personal characteristics of interpretation and problem solving in an efficient way, as well as skills related to teamwork. However, PBL-based courses have reduced classes to enable the teacher to assist students more effectively. In contrast, this factor limits the opening of more places, due to the cost with teachers, materials per class, among others, both in faceto-face and in distance education. A way to mitigate these costs and improve the efficiency of PBL-based courses through digital virtual tutors. These tutors have features that simulate a teacher and allow them to direct and assist students, however, with more time available, allowing students to learn at their own pace. In this context, note that within a class, students also have different goals and abilities. In this way, the objective of this dissertation is to propose an architecture of generation of virtual tutors for different profiles of students, to be applied in programming courses of games based on the PBL model. In order to evaluate the demand and contributions that this proposal can cause, studies were carried out in order to collect the necessary data to develop the tutors for each student profile and to evaluate the beneficial results that each tutor can bring to each profile. Thus the first study was to develop a systematic review of the literature in order to observe how tutors were developed, mainly related to affective computation. After the results of this study, a prototype was developed for targeted and objective classes based on missions (activities related to the PBL model), and contained in the system an animated virtual character that is currently exhibiting the contents. This prototype was applied to an experiment with middle-level students that allowed the development of a new tutor for a new, more interactive profile of students. This new prototype was developed based on the ALICE chatbot and the AIML language. Upon completion of this tutor, an experiment was conducted using both tutors to evaluate the proposal of a tutors generator to be applied to the same class. This experiment was applied to undergraduate students in order to allow these teachers to replicate the study in their classes in the near future. Finally, the data were analyzed and it was possible to answer the research questions developed during the study. The results presented in this work showed that the students had fun during the classes, motivated by the ludic factor connected to the programming classes of games and virtual tutors. This factor allowed the students to present good results during the development of the games, with more than 75% of the students concluding the problems proposed, with the others presenting around 90% of the problems. Another point observed was that the groups presented a profile distinction in order of 56% to 44% of dispersion among the tutors who most adapted to their profile. These data suggest the possibility of inserting a tutors generator for different profiles of students in this class, however, other studies are needed to show more clearly this presented data. In general, tutors have made classes more dynamic and productive, proving to be excellent tools to support students in the development of PBL-based games.

Teses
1
  • DANIEL ALENCAR DA COSTA
  • Understanding the Delivery Delays of Addressed Issues in Large Software Projects

  • Orientador : UIRA KULESZA
  • MEMBROS DA BANCA :
  • UIRA KULESZA
  • EDUARDO HENRIQUE DA SILVA ARANHA
  • FERNANDO MARQUES FIGUEIRA FILHO
  • AHMED HASSAN
  • MARCELO DE ALMEIDA MAIA
  • MARCO TULIO DE OLIVEIRA VALENTE
  • Data: 08/02/2017

  • Mostrar Resumo
  • The timely delivery of addressed software issues (i.e., bug fixes, enhancements, and new features) is what drives software development. Previous research has investigated what impacts the time to triage and address (or fix) issues. Nevertheless, even though an issue is addressed, i.e., a solution is coded and tested, such an issue may still suffer delay before being delivered to end users. Such delays are frustrating, since end users care most about when an addressed issue is available in the software system (i.e, released). In this matter, there is a lack of empirical studies that investigate why addressed issues take longer to be delivered compared to other issues.

    In this thesis, we perform empirical studies to understand which factors are associated with the delayed delivery of addressed issues. In our studies, we find that 34% to 98% of the addressed issues of the ArgoUML, Eclipse and Firefox projects have their integration delayed by at least one release. Our explanatory models achieve ROC areas above 0.74 when explaining delivery delay. We also find that the workload of integrators and the moment at which an issue is addressed are the factors with the strongest association with delivery delay. We also investigate the impact of rapid release cycles on the delivery delay of addressed issues. Interestingly, we find that rapid release cycles of Firefox are not related to faster delivery of addressed issues. Indeed, although rapid release cycles address issues faster than traditional ones, such addressed issues take longer to deliver. Moreover, we find that rapid releases deliver addressed issues more consistently than traditional ones. Finally, we survey 37 developers of the ArgoUML, Eclipse, and Firefox projects to understand why delivery delays occur. We find that the allure of delivering addressed issues more quickly to users is the most recurrent motivator of switching to a rapid release cycle. Moreover, the allure of improving the flexibility and quality of addressed issues is another advantage that are perceived by our participants. Additionally, the perceived reasons for the delivery delay of addressed issues are related to decision making, team collaboration, and risk management activities. Moreover, delivery delay likely leads to user/developer frustration according to our participants. Our thesis is the first work to study such an important topic in modern software development. Our studies highlight the complexity of delivering issues in a timely fashion (for instance, simply switching to a rapid release cycle is not a silver bullet that would guarantee the quicker delivery of addressed issues). 


  • Mostrar Abstract
  • The timely delivery of addressed software issues (i.e., bug fixes, enhancements, and new features) is what drives software development. Previous research has investigated what impacts the time to triage and address (or fix) issues. Nevertheless, even though an issue is addressed, i.e., a solution is coded and tested, such an issue may still suffer delay before being delivered to end users. Such delays are frustrating, since end users care most about when an addressed issue is available in the software system (i.e, released). In this matter, there is a lack of empirical studies that investigate why addressed issues take longer to be delivered compared to other issues.

    In this thesis, we perform empirical studies to understand which factors are associated with the delayed delivery of addressed issues. In our studies, we find that 34% to 98% of the addressed issues of the ArgoUML, Eclipse and Firefox projects have their integration delayed by at least one release. Our explanatory models achieve ROC areas above 0.74 when explaining delivery delay. We also find that the workload of integrators and the moment at which an issue is addressed are the factors with the strongest association with delivery delay. We also investigate the impact of rapid release cycles on the delivery delay of addressed issues. Interestingly, we find that rapid release cycles of Firefox are not related to faster delivery of addressed issues. Indeed, although rapid release cycles address issues faster than traditional ones, such addressed issues take longer to deliver. Moreover, we find that rapid releases deliver addressed issues more consistently than traditional ones. Finally, we survey 37 developers of the ArgoUML, Eclipse, and Firefox projects to understand why delivery delays occur. We find that the allure of delivering addressed issues more quickly to users is the most recurrent motivator of switching to a rapid release cycle. Moreover, the allure of improving the flexibility and quality of addressed issues is another advantage that are perceived by our participants. Additionally, the perceived reasons for the delivery delay of addressed issues are related to decision making, team collaboration, and risk management activities. Moreover, delivery delay likely leads to user/developer frustration according to our participants. Our thesis is the first work to study such an important topic in modern software development. Our studies highlight the complexity of delivering issues in a timely fashion (for instance, simply switching to a rapid release cycle is not a silver bullet that would guarantee the quicker delivery of addressed issues). 

2
  • DEMOSTENES SANTOS DE SENA
  • Uma Abordagem de Apoio à Extração da Política de Tratamento de Exceções

  • Orientador : ROBERTA DE SOUZA COELHO
  • MEMBROS DA BANCA :
  • ROBERTA DE SOUZA COELHO
  • EDUARDO HENRIQUE DA SILVA ARANHA
  • UIRA KULESZA
  • EIJI ADACHI MEDEIROS BARBOSA
  • FRANCISCO DANTAS DE MEDEIROS NETO
  • RODRIGO BONIFACIO DE ALMEIDA
  • Data: 13/02/2017

  • Mostrar Resumo
  • Os mecanismos de tratamento de exceções são recursos fornecidos pelas principais linguagens de programação para auxiliar no desenvolvimento de sistemas robustos. A política de tratamento de exceções corresponde ao conjunto de regras de design do tratamento excepcional e definem os elementos de código (métodos, classes ou pacotes) responsáveis pela sinalização, propagação, captura das exceções e as respectivas ações de tratamento. Historicamente, as políticas de tratamento de exceções dos sistemas são postergadas ou ignoradas no processo de desenvolvimento. Entretanto, estudos empíricos demonstraram que o tratamento inadequado de exceções é uma possível fonte de defeitos. Devido à natureza implícita dos fluxos de exceções, a identificação do tratamento de exceções torna-se uma tarefa complexa. Para amenizar os problemas decorrentes do tratamento inadequado e da falta de compreensão do tratamento de exceções, algumas abordagens propuseram expor graficamente os fluxos excepcionais e outras abordagens definiram linguagens de especificação das regras de tratamento com suporte ferramental para auxiliar na definição e checagem das regras. Porém nenhuma das abordagens propostas oferece suporte ao momento da definição das regras, de forma a auxiliar o arquiteto a extrair as regras a partir da análise de código pré-existente.

    Este trabalho apresenta uma proposta para preencher a lacuna existente entre os passos de definição da política e sua compreensão e checagem. Para apoiar a execução da abordagem proposta, foi desenvolvida uma suíte de ferramentas de análise estática que permite: (i) coletar os fluxos excepcionas e as respectivas ações de tratamentos; (ii) a definição dos agrupamentos; (iii) a extração das regras; e, (iv) a checagem das regras e identificação das causas das violações à política. A abordagem é demonstrada em dois estudos empíricos. No primeiro estudo empírico foram analisadas 656 bibliotecas (libs) Java do repositório central Maven com objetivo de extrair e caracterizar a política de tratamento de exceções destas libs. Este estudo revelou que 80,9% das bibliotecas possuem fluxos excepcionais que implementam pelo menos um anti-pattern do tratamento excepcional. O segundo estudo empírico teve como objetivo investigar os benefícios que a extração das regras excepcionais pode ter na compreensão e refinamento da política de tratamento de exceções. Dois sistemas de informação Web (i.e., IProject e SIGAA) foram utilizados neste segundo estudo. Neste estudo pudemos observar que todas as regras extraídas pelo suporte ferramental correspondiam às regras reportadas pelos arquitetos, e que os resultados do processo de extração permitiram que novas regras fossem adicionadas pelos arquitetos. Essas regras adicionadas correspondiam à 57,1% (IProject) e 52,8% (SIGAA/Graduação) das regras da política dos sistemas analisados. O processo de checagem das regras definidas com o apoio da abordagem mostrou que 35,6% e 45,7% dos fluxos excepcionais do IProject e SIGAA/Graduação, respectivamente, violavam alguma das regras de tratamento de exceções.


  • Mostrar Abstract
  • The Exception handling (EH) mechanisms is a technique embedded in most of the mainstream programming languages to support the development of robust systems. The exception handling policy is composed by the set of exception handling design rules and which specify the elements (methods, classes and packages) responsible for raising, propagating and catching of exceptions as well as the handling actions. Historically, implementation of the exception handling code is postponed or ignored in the software process development. As a consequence, empirical studies have demonstrated that the inappropriate exception handling is a source of bug hazards. Due to the implicit nature of exception flows, the identification of exception handling code is a complex task. In order to address the problems resulting from the not-understood or inadequate exception handling, some approaches have been proposed. Some of them expose the exception flows (e.g. graphically) and others define exception handling rule languages with tool support for EH policy definition and checking. However, none of the proposed approaches provide support to the phase of exception policy definition.

    This work proposes an approach helps the architect to extract the EH rules by performing an analysis on the existing code. Doing so, this approach fills a gap previous the EH policy definition, its comprehension and checking. In order to support the proposed approach, a static tool suite was developed, which performs: (i) the discovery of exception flows and its handling actions, (ii) the definition of compartments (iii) the semi-automatic rule extraction process, and (iv) the rule checking and identification of rule violation causes. This approach was performed in two empirical studies. In the first study, 656 libraries from Maven central repository were analyzed. The main goal of this study was revealed and characterized the exception handling policy of analyzed libraries. This study revealed that 80.9% of analyzed libraries have exception flows that implement at least an exceptional anti-pattern. In the second study, we investigated the benefits of rule extraction process in the understanding and the refinement of exception handling policy. Two web information systems (i.e., IProject and SIGAA) were analyzed in this second study. We found that all of extracted rules belonged in the set of rules reported by the architects and the result of extract process allowed that new rules were added to the policy. These added rules corresponded to 57.1% (IProject) and 52.8% (SIGAA/Graduação) of the rules of analyzed systems. The checking process of defined rules supported by our approach verified that 35.6% (IProject) and 45.7% (SIGAA/Graduação) of exception flows violated some defined rule.

3
  • THIAGO REIS DA SILVA
  • Investigando o Uso de Aulas On-line de Programação de Jogos Digitais no Ensino Básico

  • Orientador : EDUARDO HENRIQUE DA SILVA ARANHA
  • MEMBROS DA BANCA :
  • AYLA DÉBORA DANTAS DE SOUZA REBOUÇAS
  • EDUARDO HENRIQUE DA SILVA ARANHA
  • MARCIA JACYNTHA NUNES RODRIGUES LUCENA
  • ROMMEL WLADIMIR DE LIMA
  • SÉRGIO CASTELO BRANCO SOARES
  • Data: 11/03/2017

  • Mostrar Resumo
  • A introdução de atividades ou mesmo matérias relacionadas ao ensino de programação nas escolas tem sido discutida cada vez mais, com entusiasmo nas associações e comissões que tratam do ensino de Computação. No Brasil, a Sociedade Brasileira de Computação recomenda que noções de programação sejam ensinadas a partir do Ensino Básico, argumentando que as habilidades associadas, quando construídas desde cedo, contribuem para o desenvolvimento de raciocínio lógico e resolução de problemas, o que ajuda a aumentar o número de profissionais da área além de trabalhar o despertar vocacional dos jovens. Os jogos digitais são elementos que vêm sendo muito utilizados na inserção do ensino de programação nas escolas por oferecerem momentos lúdicos e interativos no processo de aprendizagem, são atrativos ao aluno e aumentam a disposição deste para aprender. Nesse contexto, este trabalho de doutorado propõe: (i) criar uma metodologia de ensino de programação de jogos digitais on-line que possa ser utilizada em larga escala; (ii) ensinar programação de jogos nas escolas através de videoaulas; e (iii) a condução de estudos empíricos que busquem identificar os benefícios e limitações da metodologia proposta.


  • Mostrar Abstract
  • The introduction of activities or even related subjects to the teaching of programming in schools has been increasingly discussed, with enthusiasm in the associations and commissions that deal with teaching of Computing.
    In Brazil, the Brazilian Computer Society recommends that notions of programming be taught from K-12 Education, arguing that the associated skills, when built early, contribute to the development of logical reasoning and problem solving, which helps to increase the Number of professionals in the area in addition to working the vocational awakening of young people. Digital games are elements that have been used a lot in the insertion of the teaching of programming in the schools for offering playful and interactive moments in the learning process, are attractive to the student and increase the student's readiness to learn. In this context, this doctoral work proposes: (i) to create a methodology for teaching online digital game programming that can be used on a large scale; (Ii) teach video game programming in schools; And (iii) conducting empirical studies that seek to identify the benefits and limitations of the proposed methodology.

4
  • HANIEL MOREIRA BARBOSA
  • Novas técnicas de instanciação e produção de demonstrações para a resolução SMT
  • Orientador : DAVID BORIS PAUL DEHARBE
  • MEMBROS DA BANCA :
  • ANDREW REYNOLDS
  • CATHERINE DUBOIS
  • DAVID BORIS PAUL DEHARBE
  • ERIKA ÁBRAHÁM
  • JOAO MARCOS DE ALMEIDA
  • PASCAL FONTAINE
  • PHILIPP RÜMMER
  • STEPHAN MERZ
  • Data: 05/09/2017

  • Mostrar Resumo
  • Várias aplicações do mundo real, como verificação formal, síntese de programas, geração au-
    tomática de testes e análise de programas, dependem de solucionadores de satisfatibilidade mó-
    dulo teorias (SMT) como backends para descarregar automaticamente obrigações de demon-
    stração. Embora esses solucionadores sejam extremamente eficientes no tratamento de fórmulas
    livres de quantificadores, mesmo que muito grandes, contendo símbolos de teorias, como os arit-
    méticos, eles ainda tem problemas para lidar com fórmulas quantificadas.
    
    Nossa primeira contribuição nesta tese é fornecer um arcabouço uniforme e eficiente para
    raciocinar com fórmulas quantificadas em CDCL(T), o cálculo mais comumente utilizado em
    solucionadores SMT, em que, geralmente, várias técnicas de instanciação são empregadas para
    lidar com quantificadores. Mostramos que as principais técnicas de instanciação podem ser
    embutidas em um arcabouço único para lidar com fórmulas quantificadas contendo igualdade e
    funções não interpretadas. Esta arquitetura é baseada no problema de E -ground (dis)unificação,
    uma variação do clássico problema de E -unificação rígida. Apresentamos um cálculo correto
    e completo para resolver este problema na prática: Fechamento de Congruência com Variáveis
    Livres (CCFV). Uma avaliação experimental da implementação do CCFV no solucionador SMT
    veriT apresenta melhorias significativas para este, tornando-o competitivo com solucionadores
    de última geração em várias bibliotecas de referência provenientes de aplicações do mundo real.
    
    Nossa segunda contribuição é um arcabouço para o processamento de fórmulas em solu-
    cionadores SMT, com a geração de demonstrações detalhadas. Nosso objetivo é aumentar a
    confiabilidade nos resultados dos sistemas de raciocínio automatizado, fornecendo justificativas
    que podem ser verificadas eficientemente de forma independente, e para melhorar sua usabilidade
    por aplicações externas. Os assistentes de demonstração, por exemplo, geralmente requerem
    a reconstrução da justificativa fornecida pelo solucionador em uma determinada obrigação de
    demonstração.
    
    Os principais componentes do nosso arcabouço de produção de demonstrações são um algo-
    ritmo de recursão contextual genérico e um conjunto extensível de regras de inferência. Clausi-
    ficação, skolemização, simplificações específicas de teorias e expansão de expressões ‘let’ são
    instâncias desta arquitetura. Com estruturas de dados adequadas, a geração de demonstrações
    acrescenta apenas uma sobrecarga de tempo linear, e as demonstrações podem ser verificadas
    em tempo linear. Implementamos esta abordagem também no solucionador veriT. Isso nos per-
    mitiu simplificar drasticamente o código de processamento, enquanto aumentamos o número de
    problemas para os quais as demonstrações detalhadas podem ser produzidas.

  • Mostrar Abstract
  • A variety of real world applications, such as formal verification, program synthesis, automatic testing, and program analysis, rely on satisfiability modulo theories (SMT) solvers as backends to automatically discharge proof obligations. While these solvers are extremely efficient at handling large ground formulas with theory symbols, such as arithmetic ones, they still struggle to deal with quantifiers.
    
    Our first contribution in this thesis is in providing a uniform and efficient framework for reasoning with quantified formulas in CDCL(T), the calculus more commonly used in SMT solvers, in which generally various instantiation techniques are employed to handle quantifiers.  We show that the major instantiation techniques can be all cast in a unifying framework for quantified formulas with equality and uninterpreted functions. This framework is based on the problem of E-ground (dis)unification, a variation of the classic rigid E-unification problem.  We introduce a sound and complete calculus to solve this problem in practice: Congruence Closure with Free Variables (CCFV). An experimental evaluation of the implementation of CCFV in the SMT solver veriT validates the approach. veriT exhibits significant improvements and is now competitive with state-of-the-art solvers in several benchmark libraries stemming from real world applications.
    
    Our second contribution is a framework for processing formulas in SMT solvers, with generation of detailed proofs. Our goal is to increase the reliability on the results of automated reasoning systems, by providing justifications which can be efficiently checked independently, and to improve their usability by external applications. Proof assistants, for instance, generally require the reconstruction of the justification provided by the solver in a given proof obligation.
    
    The main components of our proof-producing framework are a generic contextual recursion algorithm and an extensible set of inference rules. Clausification, skolemization, theory-specific simplifications, and expansion of ‘let’ expressions are instances of this framework. With suitable data structures, proof generation adds only a linear-time overhead, and proofs can be checked in linear time. We also implemented the approach in veriT. This allowed us to dramatically simplify the code base while increasing the number of problems for which detailed proofs can be produced.
    
5
  • HELBER WAGNER DA SILVA
  • Um Arcabouço Cross-Layer para Controle de Sessões Multiusuário com Alta Demanda de Recursos em Redes IoT Softwarizadas

  • Orientador : AUGUSTO JOSE VENANCIO NETO
  • MEMBROS DA BANCA :
  • ANTÔNIO ALFREDO FERREIRA LOUREIRO
  • AUGUSTO JOSE VENANCIO NETO
  • EDUARDO COELHO CERQUEIRA
  • GIBEON SOARES DE AQUINO JUNIOR
  • THAIS VASCONCELOS BATISTA
  • Data: 29/11/2017

  • Mostrar Resumo
  • As aplicações de missão crítica (AMC) representam um dos casos de uso mais promissores da Internet das Coisas (do inglês, Internet of Things – IoT) ao prometer impactos em áreas vitais, como videovigilância inteligente em ambientes com alta densidade humana, tráfego de veículos autônomos com segurança, cirurgia remota com precisão, dentre muitas outras. As AMC devem explorar o conteúdo disponibilizado por plataformas IoT em cenários de rede IoT softwarizada (IoTS), que nesta tese representa um sistema IoT executando sobre uma infraestrutura de rede cuja arquitetura inclui substrato de rede definida por software para permitir a flexibilidade nas operações de controle. Entretanto, as AMC possuem fortes requisitos de Qualidade de Serviço (do inglês, Quality of Service - QoS), tais como latência, jitter e perdas, além da alta demanda por recursos de rede (e.g., processamento em nós, caminhos e largura de banda nos enlaces) que precisam ser assegurados pela IoTS para garantir eficiência e precisão. A variabilidade e a dinamicidade de requisitos dos serviços nesse cenário são muito elevadas, que podem ir desde a coleta de dados escalares (e.g., sensores ambientais, etc.) até o processamento digital de multimídia (e.g., vídeo e áudio) em tempo real. Nesse cenário de IoTS com AMC sensível a QoS, torna-se necessário um plano de controle que tenha capacidade de prover um serviço de transporte mais refinado com qualidade garantida, de forma otimizada e autônoma. Esta tese vai além do estado da arte ao definir um arcabouço holístico para o controle de sessões multiusuários (agregando múltiplas AMC compartilhando conteúdo de uma plataforma IoT) altamente sensíveis a qualidade em uma IoTS, com métodos refinados para orquestração auto-organizada, controle e gestão de recursos orientados a QoS. O arcabouço, chamado CLASSICO (Cross-LAyer SDN SessIon COntrol), permite acoplar a variabilidade e a dinamicidade da IoTS, alocando dinamicamente recursos para satisfazer requisitos das AMC em termos de largura de banda elevada e latências muito baixas durante todo o tempo de duração da sessão, alavancando substrato das Redes Definidas por Software (do inglês, Software Defined Networks - SDN) para flexibilidade e modularidade. Para alcançar esses objetivos, CLASSICO define um plano de controle cross-layer integrado à IoTS que considera os parâmetros do conteúdo (ao nível de aplicação) requerido pelas AMC para construir e manter sessões multiusuários orientadas a QoS, e induz uma IoTS multiusuário otimizada através do transporte baseado em grupos (ao nível de rede), buscando ao mesmo tempo aumentar a escalabilidade do sistema IoT. Para validação, CLASSICO foi prototipado e avaliado em um testbed real em um caso de uso de vídeo. Os resultados da avaliação revelam os ganhos de CLASSICO em termos de QoS e Qualidade de Experiência (do inglês, Quality of Experience - QoE), em comparação a uma solução baseada em SDN Multicast.


  • Mostrar Abstract
  • Mission Critical Applications (AMC) represent one of the most promising use cases in the Internet of Things (IoT) as they promise to impact vital areas, such as smart surveillance in environments with high human density, autonomous vehicle traffic with security, remote surgery with precision, among many others. AMC are expected to exploit the content made available by IoT platforms in softwarized IoT networks (IoTS) scenarios, which represents an IoT system running over a network infrastructure which includes software-defined network substrate to allow flexibility in control operations. However, AMCs have strong Quality of Service (QoS) requirements, such as latency, jitter and losses, as well as the high demand for network resources (e.g., node processing, paths and link bandwidth) that need to be guaranteed by IoTS to ensure efficiency and accuracy. The variability and dynamicity of service requirements in this scenario are very high, ranging from scalar data collection (e.g., environmental sensors, etc.) to digital multimedia (e.g., video and audio) processing in real time. In this IoTS scenario with QoS-sensitive AMC, it is necessary to have a control plan with the capacity to provide a fine-grained transport service with guaranteed quality, in an optimized and autonomous way. This thesis goes beyond the state of the art by defining a holistic framework for controlling multiuser sessions (aggregating multiple AMCs sharing content from an IoT platform) highly quality-sensitive in an IoTS, with fine-grained methods for quality-oriented self-organized orchestration, resource control and management. The framework, called CLASSICO (Cross-LAyer SDN SessIon COntrol), allows to couple IoTS variability and dynamicity, dynamically allocating resources to meet AMC requirements regarding high bandwidth and very low latencies throughout the session duration, leveraging the substrate of the Software Defined Networks (SDN) for flexibility and modularity. To achieve these objectives, CLASSICO defines a cross-layer control plan integrated with IoTS that considers the content parameters (at the application level) required by the AMC to build and maintain QoS-oriented multiuser sessions, and induces an optimized multiuser IoTS through group-based transport (at the network level), while increasing the scalability of the IoT system. For validation purposes, CLASSICO has been prototyped and evaluated on a real testbed in a video use case. The results of the evaluation reveal the gains of CLASSICO regarding QoS and Quality of Experience (QoE), in comparison to an SDN Multicast-based solution.

6
  • CLEVERTON HENTZ ANTUNES
  • Família de Critérios de Cobertura Baseados em Padrões para o Teste de Metaprogramas

  • Orientador : ANAMARIA MARTINS MOREIRA
  • MEMBROS DA BANCA :
  • ANAMARIA MARTINS MOREIRA
  • MARTIN ALEJANDRO MUSICANTE
  • PAULO HENRIQUE MONTEIRO BORBA
  • ROHIT GHEYI
  • UMBERTO SOUZA DA COSTA
  • Data: 15/12/2017

  • Mostrar Resumo
  • Apesar da existência de várias técnicas para a geração automática de dados de teste baseados em gramáticas,poucos trabalhos foram propostos no sentido de melhorar os dados de teste gerados aplicando restrições semânticas. Nesse sentido, pretendemos, neste trabalho, contribuir nesta direção para o caso particular do teste de metaprogramas, um programa que tem como dado de entrada um outro programa. Atualmente, a alternativa natural para o teste deste tipo de programa é a técnica de testes baseados em gramática. Essa técnica de teste pode ser aplicada de maneira relativamente simples, porém com um custo de geração e execução do conjunto de testes elevado e uma efetividade baixa. Por outro lado, diversas pesquisas e ferramentas de grupos interessados no desenvolvimento de metaprogramas fazem uso intenso do recurso de casamento de padrões durante a sua implementação e especificação. Neste caso, os padrões oferecem uma fonte de informação interessante para a criação de testes que são sintaticamente válidos e também satisfazem restrições semânticas. Dada a limitação dos testes baseados em gramáticas e considerando a informação embutida nos padrões existentes nos metaprogramas temos a oportunidade de contribuir para a melhoria do processo de teste para esses programas. Logo, o objetivo deste trabalho é avaliar o uso da informação de padrões para o teste de metaprogramas e com isso contribuir no seu processo de teste. No intuito de sistematizar o processo de teste de software é proposto um processo de design de teste e também uma família de critérios de cobertura baseados em padrões para o teste eficiente e sistematizado dos metaprogramas. São propostos quatro critérios de cobertura baseados em padrões, baseados nos critérios de particionamento do espaço de entrada. Também é apresentada uma relação hierárquica entre os critérios propostos. Com isso, diferentes níveis de rigor podem ser requeridos no processo através da escolha do critério adequado. A validação dessas contribuições é feita através de um estudo de caso e uma validação empírica. O estudo de caso apresenta uma instanciação de referência para o processo de design de testes de um verificador de tipos implementado como metaprograma baseado em padrões. O verificador de tipos é testado usando um conjunto de testes gerados pelos critérios de cobertura baseados em padrões e a qualidade desse conjunto é avaliada utilizando a técnica de mutação e através da comparação dos resultados obtidos com testes gerados por critérios baseados em gramática. Os estudos experimentais indicam a efetividade da aplicação dos critérios baseados em padrões e o ganho em custo-benefício em relação aos critérios baseados em gramática no contexto do teste de metaprogramas.


  • Mostrar Abstract
  • Although there are several techniques for the automatic generation of test data based on grammars, few studies have been proposed to improve the test data generated by applying semantic restrictions. In this sense, we intend in this work to contribute in this direction for the particular case of testing metaprograms, programs that have as input other programs. Currently, the natural alternative to testing this kind of program is using the grammar-based testing. That testing technique can be applied relatively easily, but with high costs, related to the generation and execution of the test set, and low effectiveness. Many researches and tools dedicated to the development of metaprograms make heavy use of pattern matching for their implementation and specification. In this case, the patterns offer an interesting source of information for creating tests that are syntactically valid and also satisfy semantic constraints. Given the limitation of grammar-based testing and pattern information on the metaprograms, we have an opportunity to contribute to the improvement of the testing process for these programs. Therefore, the goal of this work is to evaluate the use of pattern information for the testing of metaprograms and thus contribute to their testing process. In order to systematize the software testing process, a family of coverage criteria based on patterns is proposed to test metaprograms efficiently and systematically. Four pattern-based coverage criteria are proposed, they are based on classical input space partitioning combination criteria. Furthermore, a hierarchical relationship between the criteria is presented. Therefore, different levels of rigor can be required by choosing the appropriate criterion. The validation of these contributions is made using a case study and an empirical validation. The case study presents a reference instantiation for the test design process applied to a type checker implemented as metaprogram based on patterns. The type checker is tested using a test set generated by the pattern-based coverage criteria and the quality of this set is evaluated using the mutation technique. The results obtained are compared with those produced by a test set generated by the grammar-based criteria. The experimental studies indicate the effectiveness of the application of these pattern-based criteria and a gain of cost-return in relation to the grammar-based coverage criteria.

2016
Dissertações
1
  • MARCOS OLIVEIRA DA CRUZ
  • AccNoSys: Uma Arquitetura Adaptativa Aceleradora com Interconexão baseada em Rede em Chip

     
  • Orientador : MONICA MAGALHAES PEREIRA
  • MEMBROS DA BANCA :
  • MONICA MAGALHAES PEREIRA
  • MARCIO EDUARDO KREUTZ
  • IVAN SARAIVA SILVA
  • SILVIO ROBERTO FERNANDES DE ARAUJO
  • Data: 22/01/2016

  • Mostrar Resumo
  • A evolução dos processadores tem sido marcada pela crescente demanda por desempenho para atender as aplicações cada vez maiores e mais complexas. Juntamente com essa necessidade de desempenho, a heterogeneidade das aplicações exige também uma grande flexibilidade dos processadores. Os processadores convencionais são capazes de fornecer desempenho ou flexibilidade, mas sempre privilegiando um desses aspectos em detrimento do outro. Arquiteturas adaptativas aceleradoras de granularidade grossa têm sido propostas como uma solução capaz de oferecer, ao mesmo tempo, flexibilidade e desempenho. No entanto, um dos principais desafios desse tipo de arquitetura é o mapeamento de aplicações que é um problema NP-Completo. Dentre os fatores que contribuem para essa complexidade está o modelo de interconexão utilizado, que normalmente, se baseia em crossbar ou algum modelo próximo ao crossbar. Técnicas de  exploração de paralelismo, como  software pipelining, também são usadas para atingir melhor desempenho. Essas técnicas aumentam ainda mais a complexidade dos algoritmos de mapeamento. Este trabalho apresenta uma arquitetura adaptativa que utiliza um mecanismo de comunicação baseado em envio de pacotes para interconectar unidades funcionais. A arquitetura combinada com o modelo de interconexão é capaz de explorar paralelismo em dois níveis, a saber, ILP (incluindo técnicas de software pipeline) e TLP. O mapeamento das aplicações deve ser efetuado em tempo de compilação utilizando um algoritmo desenvolvido para a arquitetura de complexidade O(1). A arquitetura foi implementada em SystemC e a execução de diversas aplicações foi simulada, explorando tanto ILP quanto TLP. As simulações obtiveram, em média, 41% de ganho de desempenho em comparação com um processador RISC de 8 estágios de pipeline. Os resultados obtidos nas simulações confirmam que é possível explorar o paralelismo inerente das aplicações. Além disso a partir da escolha do modelo de mapeamento (como exploração de threads, ou de paralelismo no nível de instruções, laços, etc) é possível obter diferentes resultados através da adaptação da arquitetura a aplicação.


  • Mostrar Abstract
  • A evolução dos processadores tem sido marcada pela crescente demanda por desempenho para atender as aplicações cada vez maiores e mais complexas. Juntamente com essa necessidade de desempenho, a heterogeneidade das aplicações exige também uma grande flexibilidade dos processadores. Os processadores convencionais são capazes de fornecer desempenho ou flexibilidade, mas sempre privilegiando um desses aspectos em detrimento do outro. Arquiteturas adaptativas aceleradoras de granularidade grossa têm sido propostas como uma solução capaz de oferecer, ao mesmo tempo, flexibilidade e desempenho. No entanto, um dos principais desafios desse tipo de arquitetura é o mapeamento de aplicações que é um problema NP-Completo. Dentre os fatores que contribuem para essa complexidade está o modelo de interconexão utilizado, que normalmente, se baseia em crossbar ou algum modelo próximo ao crossbar. Técnicas de  exploração de paralelismo, como  software pipelining, também são usadas para atingir melhor desempenho. Essas técnicas aumentam ainda mais a complexidade dos algoritmos de mapeamento. Este trabalho apresenta uma arquitetura adaptativa que utiliza um mecanismo de comunicação baseado em envio de pacotes para interconectar unidades funcionais. A arquitetura combinada com o modelo de interconexão é capaz de explorar paralelismo em dois níveis, a saber, ILP (incluindo técnicas de software pipeline) e TLP. O mapeamento das aplicações deve ser efetuado em tempo de compilação utilizando um algoritmo desenvolvido para a arquitetura de complexidade O(1). A arquitetura foi implementada em SystemC e a execução de diversas aplicações foi simulada, explorando tanto ILP quanto TLP. As simulações obtiveram, em média, 41% de ganho de desempenho em comparação com um processador RISC de 8 estágios de pipeline. Os resultados obtidos nas simulações confirmam que é possível explorar o paralelismo inerente das aplicações. Além disso a partir da escolha do modelo de mapeamento (como exploração de threads, ou de paralelismo no nível de instruções, laços, etc) é possível obter diferentes resultados através da adaptação da arquitetura a aplicação.

2
  • INGRID MORGANE MEDEIROS DE LUCENA
  • Uma Revisão de Modelos e Algoritmos de Otimização para a Área de Teste de Software

  • Orientador : ELIZABETH FERREIRA GOUVEA GOLDBARG
  • MEMBROS DA BANCA :
  • ELIZABETH FERREIRA GOUVEA GOLDBARG
  • MARCO CESAR GOLDBARG
  • RICHARD ADERBAL GONÇALVES
  • SILVIA MARIA DINIZ MONTEIRO MAIA
  • Data: 03/02/2016

  • Mostrar Resumo
  • A área denominada de Engenharia de Software Baseada em Pesquisa (Search Based Software Engineering) vem crescendo nas últimas décadas e possui um grande número de trabalhos dedicados a ela. Esta área reúne a Engenharia de Software e a Otimização no desenvolvimento de algoritmos que otimizem os custos de atividades inerentes ao processo do desenvolvimento de software. Dentre tais atividades está o teste de software, o qual visa verificar, detectar e corrigir possíveis erros cometidos pelos programadores. Uma vez que esta atividade é responsável por até 50% do custo total do desenvolvimento, os pesquisadores buscam minimizar o custo dos testes sem comprometer a qualidade do software. Os primeiros trabalhos abordando atividades de Teste de Software como problemas de otimização surgiram na década de 70. Este trabalho tem por objetivo realizar uma revisão do estado-da-arte das técnicas e algoritmos de otimização desenvolvidos para teste de software, estendendo um trabalho anterior, com a revisão de 415 artigos da área. É, também, apresentada uma classificação de tais trabalhos quanto aos tipos de métricas, algoritmos de otimização e outras características dos problemas inerentes ao teste de software.


  • Mostrar Abstract
  • A área denominada de Engenharia de Software Baseada em Pesquisa (Search Based Software Engineering) vem crescendo nas últimas décadas e possui um grande número de trabalhos dedicados a ela. Esta área reúne a Engenharia de Software e a Otimização no desenvolvimento de algoritmos que otimizem os custos de atividades inerentes ao processo do desenvolvimento de software. Dentre tais atividades está o teste de software, o qual visa verificar, detectar e corrigir possíveis erros cometidos pelos programadores. Uma vez que esta atividade é responsável por até 50% do custo total do desenvolvimento, os pesquisadores buscam minimizar o custo dos testes sem comprometer a qualidade do software. Os primeiros trabalhos abordando atividades de Teste de Software como problemas de otimização surgiram na década de 70. Este trabalho tem por objetivo realizar uma revisão do estado-da-arte das técnicas e algoritmos de otimização desenvolvidos para teste de software, estendendo um trabalho anterior, com a revisão de 415 artigos da área. É, também, apresentada uma classificação de tais trabalhos quanto aos tipos de métricas, algoritmos de otimização e outras características dos problemas inerentes ao teste de software.

3
  • LUCAS DANIEL MONTEIRO DOS SANTOS PINHEIRO
  • Algoritmos Experimentais para o Problema Biobjetivo da Árvore Geradora Quadrática em Adjacência de Arestas

  • Orientador : ELIZABETH FERREIRA GOUVEA GOLDBARG
  • MEMBROS DA BANCA :
  • ELIZABETH FERREIRA GOUVEA GOLDBARG
  • MARCO CESAR GOLDBARG
  • RICHARD ADERBAL GONÇALVES
  • SILVIA MARIA DINIZ MONTEIRO MAIA
  • Data: 03/02/2016

  • Mostrar Resumo
  • O problema da Árvore Geradora Mínima Quadrática (AGMQ) é uma generalização do
    problema da Árvore Geradora Mínima onde, além dos custos lineares das arestas, custos
    quadráticos associados a cada par de arestas são considerados. Os custos quadráticos são
    devidos à custos de interação entre as arestas. No caso das interações ocorrerem somente
    entre arestas adjacentes, o problema é denominado Árvore Geradora Mínima Quadrática
    em Adjacência de Arestas (AGMQA). Tanto a AGMQ quanto a AGMQA são NP-difíceis
    e modelam diversos problemas reais envolvendo projeto de redes de infraestrutura. Os
    custos lineares e quadráticos são somados nas versões mono-objetivo destes problemas.
    Frequentemente, aplicações reais lidam com objetivos conflitantes. Nestes casos a consideração dos custos lineares e quadráticos separadamente é mais adequada e a otimização
    multiobjetivo provê modelos mais realistas. Algoritmos exatos e heurísticos são investigados neste trabalho para a versão biobjetivo da AGMQA. As seguintes técnicas são
    propostas: backtracking, branch-and-bound, busca local, Greedy Randomized
    Adaptive Search Procedure, Simulated Annealing, NSGAII, Algoritmo Transgenético, Otimização por Nuvem de Partículas e uma hibridização entre a técnica do MOEA-D e
    o Algoritmo Transgenético. São utilizados indicadores de qualidade Pareto concordantes
    para comparar os algoritmos em um conjunto de instâncias de bases de dado da literatura.


  • Mostrar Abstract
  • O problema da Árvore Geradora Mínima Quadrática (AGMQ) é uma generalização do
    problema da Árvore Geradora Mínima onde, além dos custos lineares das arestas, custos
    quadráticos associados a cada par de arestas são considerados. Os custos quadráticos são
    devidos à custos de interação entre as arestas. No caso das interações ocorrerem somente
    entre arestas adjacentes, o problema é denominado Árvore Geradora Mínima Quadrática
    em Adjacência de Arestas (AGMQA). Tanto a AGMQ quanto a AGMQA são NP-difíceis
    e modelam diversos problemas reais envolvendo projeto de redes de infraestrutura. Os
    custos lineares e quadráticos são somados nas versões mono-objetivo destes problemas.
    Frequentemente, aplicações reais lidam com objetivos conflitantes. Nestes casos a consideração dos custos lineares e quadráticos separadamente é mais adequada e a otimização
    multiobjetivo provê modelos mais realistas. Algoritmos exatos e heurísticos são investigados neste trabalho para a versão biobjetivo da AGMQA. As seguintes técnicas são
    propostas: backtracking, branch-and-bound, busca local, Greedy Randomized
    Adaptive Search Procedure, Simulated Annealing, NSGAII, Algoritmo Transgenético, Otimização por Nuvem de Partículas e uma hibridização entre a técnica do MOEA-D e
    o Algoritmo Transgenético. São utilizados indicadores de qualidade Pareto concordantes
    para comparar os algoritmos em um conjunto de instâncias de bases de dado da literatura.

4
  • HUDSON GEOVANE DE MEDEIROS
  • Investigações sobre Técnicas de Arquivamento para Otimizadores Multiobjetivo

  • Orientador : ELIZABETH FERREIRA GOUVEA GOLDBARG
  • MEMBROS DA BANCA :
  • ELIZABETH FERREIRA GOUVEA GOLDBARG
  • MARCO CESAR GOLDBARG
  • SILVIA MARIA DINIZ MONTEIRO MAIA
  • AURORA TRINIDAD RAMIREZ POZO
  • Data: 05/02/2016

  • Mostrar Resumo
  • Problemas multiobjetivo, diferentes daqueles com um único objetivo, possuem, em geral, diversas soluções ótimas, as quais compõem o conjunto Pareto ótimo. Uma classe de algoritmos heurísticos para tais problemas, aqui chamados de otimizadores, produz aproximações deste conjunto. Devido ao grande número de soluções geradas durante a otimização, muitas delas serão descartadas, pois a manutenção e comparação frequente entre todas elas poderia demandar um alto custo de tempo. Como uma alternativa a este problema, muitos otimizadores lidam com arquivos limitados. Um problema que surge nestes casos é a necessidade do descarte de soluções não-dominadas, isto é, ótimas até então. Muitas técnicas foram propostas para lidar com o problema do descarte de soluções não–dominadas e as investigações mostraram que nenhuma delas é completamente capaz de prevenir a deterioração dos arquivos. Este trabalho investiga uma técnica para ser usada em conjunto com as propostas previamente na literatura, a fim de para melhorar a qualidade dos arquivos. A técnica consiste em reciclar periodicamente soluções descartadas. Para verificar se esta ideia pode melhorar o conteúdo dos otimizadores durante a otimização, ela foi implementada em três algoritmos da literatura e testada em diversos problemas. Os resultados mostraram que, quando os otimizadores já conseguem realizar uma boa otimização e resolver os problemas satisfatoriamente, a deterioração é pequena e o método de reciclagem ineficaz. Todavia, em casos em que o otimizador deteriora significativamente, a reciclagem conseguiu evitar esta deterioração no conjunto de aproximação.


  • Mostrar Abstract
  • Problemas multiobjetivo, diferentes daqueles com um único objetivo, possuem, em geral, diversas soluções ótimas, as quais compõem o conjunto Pareto ótimo. Uma classe de algoritmos heurísticos para tais problemas, aqui chamados de otimizadores, produz aproximações deste conjunto. Devido ao grande número de soluções geradas durante a otimização, muitas delas serão descartadas, pois a manutenção e comparação frequente entre todas elas poderia demandar um alto custo de tempo. Como uma alternativa a este problema, muitos otimizadores lidam com arquivos limitados. Um problema que surge nestes casos é a necessidade do descarte de soluções não-dominadas, isto é, ótimas até então. Muitas técnicas foram propostas para lidar com o problema do descarte de soluções não–dominadas e as investigações mostraram que nenhuma delas é completamente capaz de prevenir a deterioração dos arquivos. Este trabalho investiga uma técnica para ser usada em conjunto com as propostas previamente na literatura, a fim de para melhorar a qualidade dos arquivos. A técnica consiste em reciclar periodicamente soluções descartadas. Para verificar se esta ideia pode melhorar o conteúdo dos otimizadores durante a otimização, ela foi implementada em três algoritmos da literatura e testada em diversos problemas. Os resultados mostraram que, quando os otimizadores já conseguem realizar uma boa otimização e resolver os problemas satisfatoriamente, a deterioração é pequena e o método de reciclagem ineficaz. Todavia, em casos em que o otimizador deteriora significativamente, a reciclagem conseguiu evitar esta deterioração no conjunto de aproximação.

5
  • GUILHERME FERNANDES DE ARAUJO
  • Algoritmos Meta-heurísticos Para a Solução do Problema do Caixeiro Viajante com Caronas Múltiplas

     

  • Orientador : MARCO CESAR GOLDBARG
  • MEMBROS DA BANCA :
  • MARCO CESAR GOLDBARG
  • ELIZABETH FERREIRA GOUVEA GOLDBARG
  • SILVIA MARIA DINIZ MONTEIRO MAIA
  • LUCÍDIO DOS ANJOS FORMIGA CABRAL
  • Data: 12/02/2016

  • Mostrar Resumo
  • O Problema do Caixeiro Viajante com Caronas Múltiplas (PCV-MCa) é uma classe do Caixeiro Viajante Capacitado que apresenta a possibilidade de compartilhamento de assentos para passageiros aproveitando os deslocamentos do caixeiro entre as localidades do ciclo. O caixeiro divide o custo do trajeto com os passageiros embarcados. O modelo pode representar uma situação real em que, por exemplo, motoristas estão dispostos a compartilhas trechos de sua viagem com turistas que pretendem se deslocar entre duas localidades visitadas pela rota do motorista, aceitando compartilhar o veículo com outros indivíduos e visitando outras localidades do ciclo.


  • Mostrar Abstract
  • O Problema do Caixeiro Viajante com Caronas Múltiplas (PCV-MCa) é uma classe do Caixeiro Viajante Capacitado que apresenta a possibilidade de compartilhamento de assentos para passageiros aproveitando os deslocamentos do caixeiro entre as localidades do ciclo. O caixeiro divide o custo do trajeto com os passageiros embarcados. O modelo pode representar uma situação real em que, por exemplo, motoristas estão dispostos a compartilhas trechos de sua viagem com turistas que pretendem se deslocar entre duas localidades visitadas pela rota do motorista, aceitando compartilhar o veículo com outros indivíduos e visitando outras localidades do ciclo.

6
  • RAYRON VICTOR MEDEIROS DE ARAUJO
  • A probabilistic analysis of the biometrics menagerie existence: a case study in fingerprint data

  • Orientador : MARJORY CRISTIANY DA COSTA ABREU
  • MEMBROS DA BANCA :
  • BRUNO MOTTA DE CARVALHO
  • MARJORY CRISTIANY DA COSTA ABREU
  • DANIEL SABINO AMORIM DE ARAUJO
  • GEORGE DARMITON DA CUNHA CAVALCANTI
  • Data: 18/02/2016

  • Mostrar Resumo
  • Until recently the use of biometrics was restricted to high-security environments and criminal identification applications, for economic and technological reasons. However, in recent years, biometric authentication has become part of daily lives of people. The large scale use of biometrics has shown that users within the system may have different degrees of accuracy. Some people may have trouble authenticating, while others may be particularly vulnerable to imitation. Recent studies have investigated and identified these types of users, giving them the names of animals: Sheep, Goats, Lambs, Wolves, Doves, Chameleons, Worms and Phantoms. The aim of this study is to evaluate the existence of these users types in a database of fingerprints and propose a new way of investigating them, based on the performance of verification between subjects samples. Once introduced some basic concepts in biometrics and fingerprint, we present the biometric menagerie and how to evaluate them.


  • Mostrar Abstract
  • Until recently the use of biometrics was restricted to high-security environments and criminal identification applications, for economic and technological reasons. However, in recent years, biometric authentication has become part of daily lives of people. The large scale use of biometrics has shown that users within the system may have different degrees of accuracy. Some people may have trouble authenticating, while others may be particularly vulnerable to imitation. Recent studies have investigated and identified these types of users, giving them the names of animals: Sheep, Goats, Lambs, Wolves, Doves, Chameleons, Worms and Phantoms. The aim of this study is to evaluate the existence of these users types in a database of fingerprints and propose a new way of investigating them, based on the performance of verification between subjects samples. Once introduced some basic concepts in biometrics and fingerprint, we present the biometric menagerie and how to evaluate them.

7
  • LEANDRO DE ALMEIDA MELO
  • Uma proposta de indicadores para o acompanhamento de alunos em projetos de desenvolvimento colaborativo de software com foco no desenvolvimento de habilidades transversais

  • Orientador : FERNANDO MARQUES FIGUEIRA FILHO
  • MEMBROS DA BANCA :
  • FERNANDO MARQUES FIGUEIRA FILHO
  • EDUARDO HENRIQUE DA SILVA ARANHA
  • ANDRE MAURICIO CUNHA CAMPOS
  • IGOR FABIO STEINMACHER
  • Data: 22/02/2016

  • Mostrar Resumo
  • Habilidades transversais e práticas de desenvolvimento em projetos foram identificadas como as principais deficiências dos egressos de cursos de computação. Essa problemática motivou a realização de uma pesquisa qualitativa sobre os desafios encontrados por professores desses cursos na condução, acompanhamento e avaliação de projetos colaborativos de desenvolvimento de software. Dentre os desafios identificados, destacam-se as dificuldades para acompanhar e avaliar a participação dos alunos em projetos acadêmicos. Nesse contexto, uma segunda pesquisa de natureza quantitativa foi realizada com o objetivo mapear habilidades transversais dos alunos a um conjunto de indicadores que podem ser extraídos a partir de repositórios de software usando técnicas de mineração de dados. Tais indicadores visam auxiliar o professor no acompanhamento de habilidades transversais, tais como: a participação no trabalho em equipe, a liderança, resolução de problemas e o ritmo de comunicação durante projetos. Para isto, uma abordagem de avaliação por pares foi aplicada em uma turma de desenvolvimento colaborativo do curso de Engenharia de Software da Universidade Federal do Rio Grande do Norte (UFRN). Essa pesquisa apresenta um estudo de correlação entre os scores das habilidades transversais dos alunos e os indicadores baseados na mineração de repositórios de software. O objetivo da pesquisa é melhorar a compreensão das dinâmicas de trabalho em projetos colaborativos de estudantes, assim como incentivar o desenvolvimento de habilidades transversais que são exigidas pela indústria de desenvolvimento de software.


  • Mostrar Abstract
  • Habilidades transversais e práticas de desenvolvimento em projetos foram identificadas como as principais deficiências dos egressos de cursos de computação. Essa problemática motivou a realização de uma pesquisa qualitativa sobre os desafios encontrados por professores desses cursos na condução, acompanhamento e avaliação de projetos colaborativos de desenvolvimento de software. Dentre os desafios identificados, destacam-se as dificuldades para acompanhar e avaliar a participação dos alunos em projetos acadêmicos. Nesse contexto, uma segunda pesquisa de natureza quantitativa foi realizada com o objetivo mapear habilidades transversais dos alunos a um conjunto de indicadores que podem ser extraídos a partir de repositórios de software usando técnicas de mineração de dados. Tais indicadores visam auxiliar o professor no acompanhamento de habilidades transversais, tais como: a participação no trabalho em equipe, a liderança, resolução de problemas e o ritmo de comunicação durante projetos. Para isto, uma abordagem de avaliação por pares foi aplicada em uma turma de desenvolvimento colaborativo do curso de Engenharia de Software da Universidade Federal do Rio Grande do Norte (UFRN). Essa pesquisa apresenta um estudo de correlação entre os scores das habilidades transversais dos alunos e os indicadores baseados na mineração de repositórios de software. O objetivo da pesquisa é melhorar a compreensão das dinâmicas de trabalho em projetos colaborativos de estudantes, assim como incentivar o desenvolvimento de habilidades transversais que são exigidas pela indústria de desenvolvimento de software.

8
  • MÁRIO ANDRADE VIEIRA DE MELO NETO
  • Uma Plataforma Adaptável para Localização em Ambientes Internos 

  • Orientador : GIBEON SOARES DE AQUINO JUNIOR
  • MEMBROS DA BANCA :
  • GIBEON SOARES DE AQUINO JUNIOR
  • THAIS VASCONCELOS BATISTA
  • CARLOS ANDRE GUIMARÃES FERRAZ
  • Data: 22/02/2016

  • Mostrar Resumo
  • Os sistemas de localização têm se tornado cada vez mais parte integrante da vida das pessoas. Em ambientes externos, o GPS se apresenta como tecnologia padrão, largamente difundida e utilizada. No entanto, as pessoas costumam passar a maior parte do seu tempo diário dentro de ambientes internos, como: hospitais, universidades, fábricas, edi- fícios, entre outros. Nesses ambientes, o GPS tem seu funcionamento comprometido não obtendo um posicionamento preciso. Atualmente, para realizar a localização de pessoas ou objetos em ambientes internos não existe nenhuma tecnologia que consiga atingir os mesmos resultados obtidos pelo GPS em ambientes externos. Devido a isso, é necessário considerar a utilização de informações provenientes de diversas fontes fazendo uso de di- ferentes tecnologias. Dessa forma, esse trabalho tem como objetivo geral construir uma plataforma Adaptável para localização ambientes internos. Baseado nesse objetivo, é pro- posta a plataforma Indolor. Essa plataforma tem como objetivos permitir o recebimento de informações provenientes de diferentes fontes, além de realizar o processamento, fusão, armazenamento e disponibilização dessas informações. 


  • Mostrar Abstract
  • Os sistemas de localização têm se tornado cada vez mais parte integrante da vida das pessoas. Em ambientes externos, o GPS se apresenta como tecnologia padrão, largamente difundida e utilizada. No entanto, as pessoas costumam passar a maior parte do seu tempo diário dentro de ambientes internos, como: hospitais, universidades, fábricas, edi- fícios, entre outros. Nesses ambientes, o GPS tem seu funcionamento comprometido não obtendo um posicionamento preciso. Atualmente, para realizar a localização de pessoas ou objetos em ambientes internos não existe nenhuma tecnologia que consiga atingir os mesmos resultados obtidos pelo GPS em ambientes externos. Devido a isso, é necessário considerar a utilização de informações provenientes de diversas fontes fazendo uso de di- ferentes tecnologias. Dessa forma, esse trabalho tem como objetivo geral construir uma plataforma Adaptável para localização ambientes internos. Baseado nesse objetivo, é pro- posta a plataforma Indolor. Essa plataforma tem como objetivos permitir o recebimento de informações provenientes de diferentes fontes, além de realizar o processamento, fusão, armazenamento e disponibilização dessas informações. 

9
  • JOILSON VIDAL ABRANTES
  • Especificação e Monitoramento Dinâmico da Política de Tratamento de Exceções

  • Orientador : ROBERTA DE SOUZA COELHO
  • MEMBROS DA BANCA :
  • EDUARDO HENRIQUE DA SILVA ARANHA
  • FELIPE ALVES PEREIRA PINTO
  • ROBERTA DE SOUZA COELHO
  • RODRIGO BONIFACIO DE ALMEIDA
  • Data: 25/02/2016

  • Mostrar Resumo
  • A política de tratamento de exceções de um sistema compreende o conjunto de regras de design que especificam o comportamento e tratamento das condições excepcionais, ou seja, define como as exceções devem ser manuseadas e disparadas. Essa política geralmente não é documentada e fica definida implicitamente pelo arquiteto do sistema. Por essa razão os desenvolvedores podem pensar que apenas inserindo blocos try-cach em todos locais onde exceções podem potencialmente ser lançadas estão lidando adequadamente com as condições excepcionais de um sistema. Porém este comportamento pode transformar o tratamento das condições excepcionais em uma generalização do mecanismo "goto", tornando o programa mais complexo e menos confiável. Este trabalho propõe uma linguagem específica de domínio, chamada ECL (Exception Contract Language) para especificar a política de tratamento de exceções e uma ferramenta de monitoramento em tempo de execução que verifica dinamicamente a política de tratamento de exceções. Essa ferramenta é chamada de DAEH (Dynamic Analysis of Exception Handling e é implementada na forma de uma biblioteca de aspectos, que pode ser adicionada a uma aplicação Java sem a necessidade de alterar o código fonte da mesma. Esta abordagem foi aplicada a dois sistemas WEB, a quatro versões do framework JUnit e a uma aplicaticação móvel. Os resultados indicam que esta abordagem pode ser usada para expressar e automaticamente verificar a política de tratamento de exceções de sistemas, e, consequentemente apoiar o desenvolvimento de sistemas Java mais robustos.


  • Mostrar Abstract
  • A política de tratamento de exceções de um sistema compreende o conjunto de regras de design que especificam o comportamento e tratamento das condições excepcionais, ou seja, define como as exceções devem ser manuseadas e disparadas. Essa política geralmente não é documentada e fica definida implicitamente pelo arquiteto do sistema. Por essa razão os desenvolvedores podem pensar que apenas inserindo blocos try-cach em todos locais onde exceções podem potencialmente ser lançadas estão lidando adequadamente com as condições excepcionais de um sistema. Porém este comportamento pode transformar o tratamento das condições excepcionais em uma generalização do mecanismo "goto", tornando o programa mais complexo e menos confiável. Este trabalho propõe uma linguagem específica de domínio, chamada ECL (Exception Contract Language) para especificar a política de tratamento de exceções e uma ferramenta de monitoramento em tempo de execução que verifica dinamicamente a política de tratamento de exceções. Essa ferramenta é chamada de DAEH (Dynamic Analysis of Exception Handling e é implementada na forma de uma biblioteca de aspectos, que pode ser adicionada a uma aplicação Java sem a necessidade de alterar o código fonte da mesma. Esta abordagem foi aplicada a dois sistemas WEB, a quatro versões do framework JUnit e a uma aplicaticação móvel. Os resultados indicam que esta abordagem pode ser usada para expressar e automaticamente verificar a política de tratamento de exceções de sistemas, e, consequentemente apoiar o desenvolvimento de sistemas Java mais robustos.

10
  • FABIO DE SOUSA LEAL
  • SLA-Based Guidelines for Database Transitioning 

  • Orientador : MARTIN ALEJANDRO MUSICANTE
  • MEMBROS DA BANCA :
  • MARTIN ALEJANDRO MUSICANTE
  • MARCIA JACYNTHA NUNES RODRIGUES LUCENA
  • GENOVEVA VARGAS SOLAR
  • PLACIDO ANTONIO DE SOUZA NETO
  • Data: 26/02/2016

  • Mostrar Resumo
  •  

    Resumo

    Engenharia de Software Baseada em Componentes (CBSE) e Arquitetura Orientada a Serviços (SOA) tornaram-se formas populares de se desenvolver software nos últimos anos. Durante o ciclo de vida de um software, vários componentes e serviços podem ser desenvolvidos, evoluídos e substituídos. Em ambientes de produção, a substituição

    de componentes essenciais - como os que envolvem bancos de dados - é uma operação delicada, onde várias restrições e stakeholders devem ser considerados.

    Service-Level agreement (acordo de nível de serviço - SLA), de acordo com o glossário oficial da ITIL v3 , é “um acordo entre um provedor de serviço de TI e um cliente. O acordo consiste em um conjunto de restrições mensuráveis que um prestador de serviços deve garantir aos seus clientes.”. Em termos práticos, um SLA é um documento que um prestador de serviço oferece aos seus consumidores garantindo níveis mínimos de qualidade de serviço (QoS).

    Este trabalho busca avaliar a utilização de SLAs para guiar o processo de transição de bancos de dados em ambientes de produção. Em particular, propomos um conjunto de guidelines baseados em SLAs para apoiar decisões migrações de bancos de dados rela- cionais (RDBMS) para bancos NoSQL. Nosso trabalho é validado por estudos de caso. 


  • Mostrar Abstract
  •  

    Resumo

    Engenharia de Software Baseada em Componentes (CBSE) e Arquitetura Orientada a Serviços (SOA) tornaram-se formas populares de se desenvolver software nos últimos anos. Durante o ciclo de vida de um software, vários componentes e serviços podem ser desenvolvidos, evoluídos e substituídos. Em ambientes de produção, a substituição

    de componentes essenciais - como os que envolvem bancos de dados - é uma operação delicada, onde várias restrições e stakeholders devem ser considerados.

    Service-Level agreement (acordo de nível de serviço - SLA), de acordo com o glossário oficial da ITIL v3 , é “um acordo entre um provedor de serviço de TI e um cliente. O acordo consiste em um conjunto de restrições mensuráveis que um prestador de serviços deve garantir aos seus clientes.”. Em termos práticos, um SLA é um documento que um prestador de serviço oferece aos seus consumidores garantindo níveis mínimos de qualidade de serviço (QoS).

    Este trabalho busca avaliar a utilização de SLAs para guiar o processo de transição de bancos de dados em ambientes de produção. Em particular, propomos um conjunto de guidelines baseados em SLAs para apoiar decisões migrações de bancos de dados rela- cionais (RDBMS) para bancos NoSQL. Nosso trabalho é validado por estudos de caso. 

11
  • MANOEL PEDRO DE MEDEIROS NETO
  • Veículos Aéreos Não Tripulados e Sistema de Entrega: Estudo, Desenvolvimento e Testes

  • Orientador : LEONARDO CUNHA DE MIRANDA
  • MEMBROS DA BANCA :
  • EDUARDO BRAULIO WANDERLEY NETTO
  • LEONARDO CUNHA DE MIRANDA
  • MONICA MAGALHAES PEREIRA
  • UIRA KULESZA
  • Data: 29/02/2016

  • Mostrar Resumo
  • Veículos não tripulados estão cada vez mais presentes no cotidiano das empresas e das pessoas, pois esse tipo de veículo está de forma crescente desempenhando atividades que anteriormente eram apenas executadas por seres humanos. No entanto, para se compreender melhor o potencial de veículos não tripulados, é importante conhecer seus tipos, características, aplicações, limitações e desafios, pois somente com esse conhecimento pode-se entender as potencialidades do uso de veículos dessa natureza em aplicações variadas. Nesse contexto, na primeira parte desta pesquisa foram estudados os diferentes tipos de veículos não tripulados, i.e. terrestres, aquáticos, aéreos e híbridos. Durante a segunda fase da pesquisa, foi realizado um aprofundamento tendo como foco as interfaces de usuário para controle dos veículos aéreos não tripulados. Esses dois levantamentos iniciais do domínio, permitiram a identificação de desafios e oportunidades para o desenvolvimento de novas aplicações para esse contexto. Com base no conhecimento adquirido com esses estudos, então, foi desenvolvido um sistema de entrega automatizada de objetos para o campus de Universidades, denominado de PostDrone University, e desenvolvido um veículo aéreo não tripulado para realizar as entregas, denominado de PostDrone University UAV K-263. O sistema possui uma interface de usuário de fácil uso, que não requer conhecimentos de domínios específicos como aviação ou controle de aeronaves para sua operação. Por fim, diversos testes foram realizados com o intuito de validar e identificar as limitações da solução desenvolvida nesta pesquisa.


  • Mostrar Abstract
  • Veículos não tripulados estão cada vez mais presentes no cotidiano das empresas e das pessoas, pois esse tipo de veículo está de forma crescente desempenhando atividades que anteriormente eram apenas executadas por seres humanos. No entanto, para se compreender melhor o potencial de veículos não tripulados, é importante conhecer seus tipos, características, aplicações, limitações e desafios, pois somente com esse conhecimento pode-se entender as potencialidades do uso de veículos dessa natureza em aplicações variadas. Nesse contexto, na primeira parte desta pesquisa foram estudados os diferentes tipos de veículos não tripulados, i.e. terrestres, aquáticos, aéreos e híbridos. Durante a segunda fase da pesquisa, foi realizado um aprofundamento tendo como foco as interfaces de usuário para controle dos veículos aéreos não tripulados. Esses dois levantamentos iniciais do domínio, permitiram a identificação de desafios e oportunidades para o desenvolvimento de novas aplicações para esse contexto. Com base no conhecimento adquirido com esses estudos, então, foi desenvolvido um sistema de entrega automatizada de objetos para o campus de Universidades, denominado de PostDrone University, e desenvolvido um veículo aéreo não tripulado para realizar as entregas, denominado de PostDrone University UAV K-263. O sistema possui uma interface de usuário de fácil uso, que não requer conhecimentos de domínios específicos como aviação ou controle de aeronaves para sua operação. Por fim, diversos testes foram realizados com o intuito de validar e identificar as limitações da solução desenvolvida nesta pesquisa.

12
  • FLADSON THIAGO OLIVEIRA GOMES
  • Uma Abordagem para Análise de Cobertura de Código em Cenários de Evolução

  • Orientador : UIRA KULESZA
  • MEMBROS DA BANCA :
  • UIRA KULESZA
  • EDUARDO HENRIQUE DA SILVA ARANHA
  • CARLOS EDUARDO DA SILVA
  • ELDER CIRILO
  • Data: 03/03/2016

  • Mostrar Resumo
  • Atualmente, a etapa de testes no processo de desenvolvimento de software tornou-se imprescindível para garantir a confiabilidade e qualidade do código de sistemas de software. Entretanto, as constantes evoluções na arquitetura e código de um sistema, criam sérios desafios para os desenvolvedores e testadores, uma vez que modificações podem não se comportar como o esperado. Neste contexto surge a necessidade de ferramentas e mecanismos que diminuam o impacto negativo gerado pelas constantes evoluções do sistema. Dentre as ferramentas que analisam esse impacto, poucas apresentam os fluxos de execução entre métodos que foram afetados e nenhuma apresenta como resultado se esses fluxos afetados pela evolução estão ou não cobertos pelos testes. Assim, este trabalho apresenta uma abordagem que tem como objetivo principal: (i) analisar a cobertura de código levando em consideração os fluxos de chamadas existentes no sistema que foram afetados por evoluções de código, assim como os fluxos de execução oriundos da execução dos testes; (ii) indicar quais fluxos de chamadas do sistema que possuem métodos modificados e não estão sendo cobertos pelos testes atualmente e que, portanto, poderiam ser considerados para melhorar a qualidade dos testes; e (iii) indicar se houve degradação na qualidade da suíte de testes. Um estudo empírico foi realizado envolvendo a análise dos testes de 6 sistemas open-source existentes e os resultados mostram que a abordagem conseguiu identificar entre 19% e 92% de fluxos de execução afetados por mudanças que não estão cobertos e ainda que 3 dos 6 sistemas tiveram uma degradação na qualidade dos testes no que se refere aos fluxos de chamadas afetados pela evolução.


  • Mostrar Abstract
  • Nowadays, the test activties in the software development process
    became fundamental to ensure the reliability and quality of software
    systems code. The frequent evolution in the system's architecture and
    code creates strong challenges to the developers and testers since the
    modifications cannot behave as expected. In this context, there is a
    need of tools and mechanisms that decrease the negative impact
    generated by these frequent system evolution. There are a few existing
    tools that shows the execution flows of methods that are affected by
    the evolutions, however most of them do not show if those affected
    flows are or not covered by tests. This work presents an approach that
    has as the main goals: (i) to analyze the code coverage taking into
    consideration the existing system execution flows that were affected
    by system evolution; (ii) to indicate which system execution flows
    that have changed methods and are not covered by the existing
    automated tests and, therefore, could be considered to improve the
    system quality through the test regression; and (iii) to indicate if
    there is a test quality degradation in terms of non-covered execution
    flows. Our work has also performed an empirical study that analyzes 6
    open-source systems using the proposed approach. The study results
    identified that between 19% and 92% execution flows of those
    open-source systems are affected by code evolution changes and are not
    covered by automated tests. In addition, it was detected that 3 of the
    6 systems had a test quality degradation in terms of non-covered
    execution flows.

13
  • HULIANE MEDEIROS DA SILVA
  • Otimização de Comitês de Agrupamento Usando o Algoritmo Coral Reefs Optimization

  • Orientador : ANNE MAGALY DE PAULA CANUTO
  • MEMBROS DA BANCA :
  • ANNE MAGALY DE PAULA CANUTO
  • BRUNO MOTTA DE CARVALHO
  • FLAVIUS DA LUZ E GORGÔNIO
  • JOAO CARLOS XAVIER JUNIOR
  • ARAKEN DE MEDEIROS SANTOS
  • Data: 04/03/2016

  • Mostrar Resumo
  • O presente trabalho está inserido na linha de pesquisa de aprendizado de máquina, que é um campo de pesquisa associado à Inteligência Artificial e dedicado ao desenvolvimento de técnicas que, permitem ao computador aprender com experiências passadas. Em aprendizado de máquina, há diferentes tarefas de aprendizado que pertencem a determinado paradigma de aprendizado, entre elas podemos citar agrupamento de dados, que pertencente ao paradigma de aprendizado não supervisionado. Diversos algoritmos de agrupamento vêm sendo utilizados com sucesso em diferentes aplicações. No entanto, cada algoritmo possui suas próprias características e limitações, que podem gerar diferentes soluções para um mesmo conjunto de dados. Dessa forma, combinar vários métodos de agrupamento (comitês de agrupamento), capaz de aproveitar as características de cada algoritmo é uma abordagem bastante utilizada na tentativa de superar as limitações de cada técnica de agrupamento. Nesse contexto, diversas abordagens têm sido propostas na literatura no intuito de otimizar, ou seja, de melhorar cada vez mais as soluções encontradas. Dessa forma, o objetivo deste trabalho é propor uma abordagem para otimização de comitês de agrupamento, por meio da função consenso, utilizando técnicas inspiradas na natureza. Essa abordagem consiste na formação de um comitê de agrupamento heterogêneo, de modo que as partições iniciais são combinadas por um método que utilizada o algoritmo de otimização Coral Reefs Optimization com o método de co-associação, resultando em uma partição final. Essa estratégia é avaliada através dos índices de avaliação de agrupamento, Dunn, Calinski-Harabasz, Dom e Jaccard, no intuito de analisar a viabilidade da abordagem proposta. Finalmente, o desempenho da abordagem proposta é comparado com duas outras abordagens, são elas:  algoritmo genético com o método de co-associação e o método de co-associação tradicional. Essa comparação é feita através da utilização de testes estatísticos, especificamente teste de Friedman. 


  • Mostrar Abstract
  • O presente trabalho está inserido na linha de pesquisa de aprendizado de máquina, que é um campo de pesquisa associado à Inteligência Artificial e dedicado ao desenvolvimento de técnicas que, permitem ao computador aprender com experiências passadas. Em aprendizado de máquina, há diferentes tarefas de aprendizado que pertencem a determinado paradigma de aprendizado, entre elas podemos citar agrupamento de dados, que pertencente ao paradigma de aprendizado não supervisionado. Diversos algoritmos de agrupamento vêm sendo utilizados com sucesso em diferentes aplicações. No entanto, cada algoritmo possui suas próprias características e limitações, que podem gerar diferentes soluções para um mesmo conjunto de dados. Dessa forma, combinar vários métodos de agrupamento (comitês de agrupamento), capaz de aproveitar as características de cada algoritmo é uma abordagem bastante utilizada na tentativa de superar as limitações de cada técnica de agrupamento. Nesse contexto, diversas abordagens têm sido propostas na literatura no intuito de otimizar, ou seja, de melhorar cada vez mais as soluções encontradas. Dessa forma, o objetivo deste trabalho é propor uma abordagem para otimização de comitês de agrupamento, por meio da função consenso, utilizando técnicas inspiradas na natureza. Essa abordagem consiste na formação de um comitê de agrupamento heterogêneo, de modo que as partições iniciais são combinadas por um método que utilizada o algoritmo de otimização Coral Reefs Optimization com o método de co-associação, resultando em uma partição final. Essa estratégia é avaliada através dos índices de avaliação de agrupamento, Dunn, Calinski-Harabasz, Dom e Jaccard, no intuito de analisar a viabilidade da abordagem proposta. Finalmente, o desempenho da abordagem proposta é comparado com duas outras abordagens, são elas:  algoritmo genético com o método de co-associação e o método de co-associação tradicional. Essa comparação é feita através da utilização de testes estatísticos, especificamente teste de Friedman. 

14
  • PORFÍRIO DANTAS GOMES
  • Um Serviço de Descoberta Ciente de Contexto para Internet das Coisas

  • Orientador : THAIS VASCONCELOS BATISTA
  • MEMBROS DA BANCA :
  • FLAVIA COIMBRA DELICATO
  • GIBEON SOARES DE AQUINO JUNIOR
  • PAULO DE FIGUEIREDO PIRES
  • THAIS VASCONCELOS BATISTA
  • Data: 04/04/2016

  • Mostrar Resumo
  • A Internet das Coisas (do inglês Internet of Things - IoT) é um paradigma emergente caracterizado por uma miríade de dispositivos heterogêneos conectados à Internet. Porém, a alta heterogeneidade e a larga distribuição dos dispositivos disponíveis em IoT dificultam a implantação desse paradigma, fazendo com que máquinas e usuários enfrentem desafios para encontrar, selecionar, e usar recursos de forma rápida, confiável, e amigável. Nesse contexto, serviços de descoberta desempenham um papel chave, permitindo que clientes (e.g., plataformas de middleware, usuários finais, e aplicações) recuperem recursos através da especificação de critérios de busca contendo uma série de atributos, tais como o tipo do recurso, capacidades, localização, parâmetros de qualidade de contexto (Quality of Context - QoC), etc. Esta dissertação introduz o QoDisco, um serviço de descoberta distribuído que permite buscas por múltiplos atributos, buscas em intervalos, e operações de busca síncrona e assíncrona. Além disso, o QoDisco inclui um modelo baseado em ontologias para a descrição semântica de recursos (i.e., sensores e atuadores), serviços, e dados capturados por sensores. Esta dissertação apresenta, em detalhes, (i) a arquitetura do QoDisco, (ii) seu modelo de informação, (iii) a implementação de um protótipo, (iv) e a integração do QoDisco com uma plataforma de middleware para IoT, a EcoDiF. Por fim, este trabalho apresenta uma prova de conceito em um cenário de poluição urbana e uma avaliação qualitativa do desempenho do procedimento de busca do QoDisco.


  • Mostrar Abstract
  • A Internet das Coisas (do inglês Internet of Things - IoT) é um paradigma emergente caracterizado por uma miríade de dispositivos heterogêneos conectados à Internet. Porém, a alta heterogeneidade e a larga distribuição dos dispositivos disponíveis em IoT dificultam a implantação desse paradigma, fazendo com que máquinas e usuários enfrentem desafios para encontrar, selecionar, e usar recursos de forma rápida, confiável, e amigável. Nesse contexto, serviços de descoberta desempenham um papel chave, permitindo que clientes (e.g., plataformas de middleware, usuários finais, e aplicações) recuperem recursos através da especificação de critérios de busca contendo uma série de atributos, tais como o tipo do recurso, capacidades, localização, parâmetros de qualidade de contexto (Quality of Context - QoC), etc. Esta dissertação introduz o QoDisco, um serviço de descoberta distribuído que permite buscas por múltiplos atributos, buscas em intervalos, e operações de busca síncrona e assíncrona. Além disso, o QoDisco inclui um modelo baseado em ontologias para a descrição semântica de recursos (i.e., sensores e atuadores), serviços, e dados capturados por sensores. Esta dissertação apresenta, em detalhes, (i) a arquitetura do QoDisco, (ii) seu modelo de informação, (iii) a implementação de um protótipo, (iv) e a integração do QoDisco com uma plataforma de middleware para IoT, a EcoDiF. Por fim, este trabalho apresenta uma prova de conceito em um cenário de poluição urbana e uma avaliação qualitativa do desempenho do procedimento de busca do QoDisco.

15
  • VÍTOR ALCÂNTARA DE ALMEIDA
  • WPTrans: Um Assistente para Verificação de Programas em Frama-C.

  • Orientador : DAVID BORIS PAUL DEHARBE
  • MEMBROS DA BANCA :
  • UMBERTO SOUZA DA COSTA
  • DAVID BORIS PAUL DEHARBE
  • PLACIDO ANTONIO DE SOUZA NETO
  • RICHARD WALTER ALAIN BONICHON
  • Data: 29/04/2016

  • Mostrar Resumo
  • A presente dissertação descreve uma extensão para a plataforma Frama-C e o plugin WP:
    o WPTrans. Essa extensão permite a manipulação, através de regras de inferência, das
    obrigações de prova geradas pelo WP, com a possibilidade das mesmas serem enviadas,
    em qualquer etapa da modificação, a solucionadores SMT e assistentes de prova. Algumas
    obrigações de prova podem ser validadas automaticamente, enquanto outras são muito
    complexas para os solucionadores SMT, exigindo uma prova manual pelo desenvolvedor,
    através dos assistentes de prova. Contudo, a segunda abordagem geralmente requer do
    usuário uma experiência significativa em estratégias de prova. Alguns assistentes oferecem
    comunicação com provadores automáticos, entretanto, esta ligação pode ser complexa
    ou incompleta, restando ao usuário apenas a prova manual. O objetivo deste plugin é interligar
    os dois tipos de ferramentas de modo preciso e completo, com uma linguagem
    simples para a manipulação. Assim, o usuário pode simplificar suficientemente as obrigações de
    prova para que possam ser validadas por qualquer outro solucionador SMT.
    Não obstante, a extensão é interligada diretamente ao WP, facilitando a instalação do
    plugin no Frama-C. Esta extensão também é uma porta de entrada para outras possíveis
    funcionalidades, sendo as mesmas discutidas neste documento.


  • Mostrar Abstract
  • A presente dissertação descreve uma extensão para a plataforma Frama-C e o plugin WP:
    o WPTrans. Essa extensão permite a manipulação, através de regras de inferência, das
    obrigações de prova geradas pelo WP, com a possibilidade das mesmas serem enviadas,
    em qualquer etapa da modificação, a solucionadores SMT e assistentes de prova. Algumas
    obrigações de prova podem ser validadas automaticamente, enquanto outras são muito
    complexas para os solucionadores SMT, exigindo uma prova manual pelo desenvolvedor,
    através dos assistentes de prova. Contudo, a segunda abordagem geralmente requer do
    usuário uma experiência significativa em estratégias de prova. Alguns assistentes oferecem
    comunicação com provadores automáticos, entretanto, esta ligação pode ser complexa
    ou incompleta, restando ao usuário apenas a prova manual. O objetivo deste plugin é interligar
    os dois tipos de ferramentas de modo preciso e completo, com uma linguagem
    simples para a manipulação. Assim, o usuário pode simplificar suficientemente as obrigações de
    prova para que possam ser validadas por qualquer outro solucionador SMT.
    Não obstante, a extensão é interligada diretamente ao WP, facilitando a instalação do
    plugin no Frama-C. Esta extensão também é uma porta de entrada para outras possíveis
    funcionalidades, sendo as mesmas discutidas neste documento.

16
  • THOMAS FILIPE DA SILVA DINIZ
  • Self-adaptive Authorisation in Cloud-based Systems

  • Orientador : NELIO ALESSANDRO AZEVEDO CACHO
  • MEMBROS DA BANCA :
  • NELIO ALESSANDRO AZEVEDO CACHO
  • THAIS VASCONCELOS BATISTA
  • CARLOS EDUARDO DA SILVA
  • CARLOS ANDRE GUIMARÃES FERRAZ
  • Data: 02/05/2016

  • Mostrar Resumo
  • Apesar dos grandes avanços realizados visando a proteção de plataformas de nuvem contra
    ataques maliciosos, pouco tem sido feito em relação a protecção destas plataformas
    contra ameaças internas. Este trabalho olha para este desafio através da introdução de
    auto-adaptação como um mecanismo para lidar com ameaças internas em plataformas de
    nuvem, e isso será demonstrado no contexto de mecanismos de autorização da plataforma
    OpenStack. OpenStack é uma plataforma popular nuvem que se baseia principalmente no
    Keystone, o componente de gestão de identidade, para controlar o acesso a seus recursos.
    A utilização de autoaadaptação para o manuseio de ameaças internas foi motivada pelo
    fato de que a autoadaptação tem se mostrado bastante eficaz para lidar com incerteza em
    uma ampla gama de aplicações. Ataques internos maliciosos se tornaram uma das principais
    causas de preocupação, pois mesmo mal intencionados, os usuários podem ter acesso
    aos recursos e abusar de uma grande quantidade de informações. A principal contribuição
    deste trabalho é a definição de uma solução arquitetural que incorpora autoadaptação nos
    mecanismos de autorização do OpenStack, a fim de lidar com ameaças internas. Para isso,
    foram identificados e analisados diversos cenários de ameaças internas no contexto desta
    plataforma, e desenvolvido um protótipo para experimentar e avaliar o impacto destes
    cenários nos sistemas de autorização em plataformas em nuvem.


  • Mostrar Abstract
  • Although major advances have been made in protection of cloud platforms against malicious attacks, little has been done regarding the protection of these platforms against insider threats.
    This paper looks into this challenge by introducing self-adaptation as a mechanism to handle insider threats in cloud platforms, and this will be demonstrated in the context of OpenStack authorisation.
    OpenStack is a popular cloud platform that relies on Keystone, its identity management component, for controlling access to its resources.
    The use of self-adaptation for handling insider threats has been motivated by the fact that self-adaptation has been shown to be quite effective in dealing with uncertainty in a wide range of applications.
    Malicious insider attacks have become a major cause for concern since legitimate, though malicious, users might have access, in case of theft, to a large amount of information.
    The key contribution of this paper is the definition of an architectural solution that incorporates self-adaptation into OpenStack in order to deal with insider threats.
    For that, we have identified and analysed several insider threats scenarios in the context of the OpenStack cloud platform, and have developed a prototype that was used for experimenting and evaluating the impact of these scenarios upon the self-adaptive authorisation system for the cloud platforms.

17
  • ADDSON ARAUJO DA COSTA
  • SALSA - A Simple Automatic Lung Segmentation Algorithm

  • Orientador : BRUNO MOTTA DE CARVALHO
  • MEMBROS DA BANCA :
  • BRUNO MOTTA DE CARVALHO
  • ANNE MAGALY DE PAULA CANUTO
  • RAFAEL BESERRA GOMES
  • WILFREDO BLANCO FIGUEROLA
  • Data: 21/07/2016

  • Mostrar Resumo
  • A segmentação precisa de tecidos pulmonares é de grande importância em várias tarefas de diagnóstico. Um simples e rápido algoritmo para segmentação de tecidos pulmonares é proposto aqui. O método combina várias operações simples de processamento de imagem para alcançar a segmentação final e pode ser dividido em dois problemas. O primeiro é a segmentação pulmonar, que consiste na identificação de regiões como fundo, traqueia, veias, pulmões esquerdo e direito, que é um processo dificultado pela presença de ruído, artefatos, baixo contraste, e doenças e remoções cirúrgicas. O segundo é a segmentação dos lóbulos pulmonares, onde o pulmão esquerdo deve ser dividido em dois lóbulos, superior e inferior, e o pulmão direito deve ser dividido em três lóbulos, superior, inferior e médio. Essa segundo problema é dificultado devido ao fato de que a membrana que separa os lóbulos, a pleura visceral, ser muito delicada e não ser claramente visível nos exames de tomografia computadorizada, além da ocorrência de procedimentos de lobectomia (remoção cirúrgica de lóbulos), doenças que degradam a qualidade da imagem, ou ruído na aquisição da imagem. Ambos os métodos foram desenvolvidos de forma a tornar todo o procedimento automático, tendo bons resultados já publicados na área de segmentação pulmonar, utilizando a metodologia de teste do desafio de sementação de pulmões LOLA11.


  • Mostrar Abstract
  • The accurate segmentation of pulmonary tissue is of great importance for several diagnostic tasks. A simple and fast algorithm for performing lung segmentation is proposed here. The method combines several simple image processing operations to achieve the final segmentation and can be divided into two problems. The fisrt is the lung segmentation, that identifies regions such as backgroung, trachea, vessels, and left and right lungs, and it is complicated by the presence of noise, artifacts, low contrast and diseases. The second is the lobe segmentation, where the left lung is divided into two lobes, the upper and lower lobes, and the right into three lobes, the upper, middle and lower lobes. This second problem is harder due to the fact that the membranes dividing the lobes, the pleurae, are very thin and are not clearly visualized in the computerized tomography exams, besides the possible occurence of lobectomies (surgical lobe removal), diseases that may degrade the image qulaity, or noise during the image acquisition. Both methods were developed in order to produce an authomatic method, and we have already produced good validated results in the first problem, using the testing methodology of the lung segmentation challenge LOLA11.

     

     

18
  • KELYSON NUNES DOS SANTOS
  • Estudo de Técnicas de Aprendizado de Máquina para Predição de Eventos através de Dados Neurofisiológicos: um estudo de caso com Epilepsia

  • Orientador : AUGUSTO JOSE VENANCIO NETO
  • MEMBROS DA BANCA :
  • BENJAMIN RENE CALLEJAS BEDREGAL
  • AUGUSTO JOSE VENANCIO NETO
  • FABRICIO LIMA BRASIL
  • RENAN CIPRIANO MOIOLI
  • Data: 28/07/2016

  • Mostrar Resumo
  • A predição de eventos a partir de dados neurofisiológicos possui muitas variáveis que devem ser analisadas em diferentes momentos, desde a aquisição e registro de dados até o pós-processamento dos mesmos. Assim, a escolha do algoritmo que irá processar esses dados é uma etapa muito importante, pois o tempo de processamento e a acurácia do resultado são fatores determinantes para uma ferramenta de auxílio de diagnóstico. A tarefa de classificação e predição também auxilia no entendimento das interações realizadas pelas redes de células cerebrais. Este trabalho realiza o estudo de técnicas de Aprendizado de Máquina com diferentes características para analisar seu impacto na tarefa de predição de eventos a partir de dados neurofisiológicos e propõe o uso de comitês de classificadores de forma a otimizar o desempenho da tarefa de predição através do uso de técnicas de baixo custo computacional


  • Mostrar Abstract
  • Event prediction from neurophysiological data has many variables which must be analyzed in different moments, since data acquisition and registry to its post-processing. Hence, choosing the algorithm that will process these data is a very important step, for processing time and accuracy of results are determinant factors for a diagnosis auxiliary tool. Tasks of classification and prediction also help in understanding brain cell's networks interactions. This work studies Data Mining techniques with different features to analyzing their impact on the task of event prediction from neurophysiological data and purposes use of ensembles to optimize the performance of event prediction task through computational low-cost techniques.

19
  • CAIO FREITAS DE OLIVEIRA
  • Modelos e Algoritmos para o Problema de Planejamento para Produção de Recursos em Jogos de Estratégia de Tempo Real

  • Orientador : ELIZABETH FERREIRA GOUVEA GOLDBARG
  • MEMBROS DA BANCA :
  • CAROLINA DE PAULA ALMEIDA
  • ELIZABETH FERREIRA GOUVEA GOLDBARG
  • GIVANALDO ROCHA DE SOUZA
  • MARCO CESAR GOLDBARG
  • SILVIA MARIA DINIZ MONTEIRO MAIA
  • Data: 05/08/2016

  • Mostrar Resumo
  •  

    Jogos de estratégia em tempo real (RTS) apresentam muitos desafios para a criação de inteligências artificiais. Um destes desafios é criar um plano de ações efetivo dentro de um dado contexto. Um dos jogos utilizados como plataforma para criação de game AIs competitivas é o StarCraft. Tais game AIs têm dificuldade em se adaptar e criar bons planos para combater a estratégia inimiga. Neste trabalho, um novo modelo de escalonamento de tarefas é proposto modelando os problemas de planejamento em jogos RTS. Este modelo considera eventos cíclicos e consiste em resolver um problema multiobjetivo que satisfaz restrições impostas pelo jogo. São considerados recursos, tarefas e eventos cíclicos que traduzem as características do jogo em um caso do problema. O estado inicial do jogo contém as informações sobre os recursos, tarefas incompletas e eventos ativos. A estratégia define quais recursos maximizar ou minimizar e quais restrições são aplicadas aos recursos, bem como o horizonte de projeto. São investigados quatro otimizadores multiobjetivo: NSGA-II e sua variante focada em joelhos, GRASP e Colônia de Formigas. Experimentos com casos baseados em problemas reais de Starcraft são reportados.


  • Mostrar Abstract
  • Real-time strategy (RTS) games hold many challenges in the creation of a game AI. One of those challenges is creating an effective plan for a given context. A game used as platform for experiments and competition of game AIs is StarCraft. Its game AIs have struggled to adapt and create good plans to counter the opponent strategy. In this paper, a new scheduling model is proposed to planning problems on RTS games. This model considers cyclic events and consists in solving a multi-objective problem that satisfies constraints imposed by the game. Resources, tasks and cyclic events that translate the game into an instance of the problem are considered. The initial state contains information about resources, uncompleted tasks and on-going events. The strategy defines which resources to maximize or minimize and which constraints are applied to the resources, as well as to the project horizon. Four multi-objective optimizers are investigated: NSGA-II and its knee variant, GRASP and Ant Colony. Experiments with cases based on real Starcraft problems are reported.

20
  • VALDIGLEIS DA SILVA COSTA
  • Linguagens Lineares Fuzzy

  • Orientador : BENJAMIN RENE CALLEJAS BEDREGAL
  • MEMBROS DA BANCA :
  • ANDERSON PAIVA CRUZ
  • BENJAMIN RENE CALLEJAS BEDREGAL
  • REGIVAN HUGO NUNES SANTIAGO
  • RENATA HAX SANDER REISER
  • Data: 05/08/2016

  • Mostrar Resumo
  • As linguagens formais foram introduzidas no final dos anos 50, e desde então têm sido de grande importância para a  ciência da computação, especialmente para aplicações na análise léxica e sintática, necessárias para o desenvolvimento de compiladores, e também em técnicas de inferência gramaticais. A hierarquia de Chomsky estendida, relaciona as classes de linguagens formais em termos de seu alcance. Além disso, também é possível estabelecer uma relação entre as classes das linguagens formais na hierarquia de Chomsky e formalismos, tais como máquinas de estados (ou autômatos) e gramáticas. Entre essas classes, a classe das línguagens lineares tem pelo menos quatro tipos de "dispositivos" (máquinas de estado) que a caracterizam ou a representam. Entre eles  os λ-autômatos linear não-determinísticos proposto por Bedregal. No final dos anos 60, Lee e Zadeh propôs a noção de  línguagens fuzzy em uma tentativa de preencher a lacuna entre linguagens formais e naturais. Por sua vez, Wee Fu, a fim de capturar a noção de incerteza durante o processo de reconhecimento de cadeias de uma linguagem, introduz o conceito de autómatos fuzzy. Como na teoria clássica, podemos traçar uma relação entre as classes de linguagens fuzzy e autômatos fuzzy. No entanto, diferente da teoria clássica, até agora, não existe um modelo de autômatos fuzzy que compute diretamente apenas línguas lineares fuzzy, ou seja, que se relacione com a classe das línguagens lineares fuzzy diretamente. Portanto, este trabalho propõe a realização de um estudo sobre um modelo de autômatos fuzzy, com base nos λ-autômatos linear não-determinísticos, que reconhecem as línguas lineares fuzzy. Além disso, como no estudo das linguagens formais, a investigação sobre as propriedades de fecho de alguns operadores para classes de linguagens formais é um ponto importante, neste trabalho também vamos investigar quais os operadores difusos (união, intersecção, etc.) que são fechados para a classe das linguagens lineares nebulosos.


  • Mostrar Abstract
  • The formal languages were introduced in the late 50's, and from then it have been of  a great importance in computer science, especially for applications in lexical analysis and syntactic necessary during the development of compilers and also in grammatical inference techniques. The extended  Chomsky hierarchy, relates the mains classes of  formal languages in term of their reach. In addition, also is possible  stablish a relationship between the classes of the formal languages in the Chomsky hierarchy and formalisms such as state  machines  (or automata) and grammars. Among the languages classes in this hierarchy, the  linear languages class have at least four types of  "devices" (state machines) characterizing or representing them. Among them are the non-deterministic linear λ-automata  proposed by Bedregal. At the end of the 60s, Lee and Zadeh proposed the fuzzy languages  in an attempt to bridge the gap between formal and natural languages. In turn, Wee Fu in order to capture the notion of uncertainty during the process recognition of  string of a language, introduces the concept of fuzzy automata. As in classical theory, we can trace a relationship between the classes of fuzzy languages and fuzzy automata. However, different from the classical theory, until now, there is no  fuzzy automata model directly to compute just on the class the fuzzy linear languages, i.e. that relates to the fuzzy linear languages directly. Therefore, this work proposes to conduct a study on a fuzzy automata model, based on the non-deterministic linear λ-automata, which recognize the fuzzy linear languages. Besides that, as in the study of formal languages, the investigation on closure property of some operators on language classes is an important point, in this work we will also investigate which of the fuzzy operators (union, intersection, etc.) that are closed on the classes of fuzzy linear languages.

21
  • FRANCISCO DIOGO OLIVEIRA DE QUEIROZ
  • Analisando o Tratamento de Exceções em Aplicações Android

  • Orientador : ROBERTA DE SOUZA COELHO
  • MEMBROS DA BANCA :
  • FERNANDO MARQUES FIGUEIRA FILHO
  • NELIO ALESSANDRO AZEVEDO CACHO
  • ROBERTA DE SOUZA COELHO
  • RODRIGO BONIFACIO DE ALMEIDA
  • Data: 17/08/2016

  • Mostrar Resumo
  • Aplicações Android tem se tornado cada vez mais populares; e no mesmo ritmo em que cresce o número de aplicações disponíveis, também  cresce o número de usuários afetados pelos crashes de tais aplicações. Para poder lidar com tais condições excepcionais, o código para lançamento e captura de exceções não é uma parte opcional mas uma parte fundamental de tais aplicações. Porém, o que se tem observado é que o código projetado para tratar estas condições excepcionais pode muitas vezes ser a causa de crashes (e.g., exceções não capturadas). Até o momento nenhum estudo investigou as principais características do código de tratamento de exceções de aplicações. Este trabalho apresenta um conjunto de estudos complementares para melhor entender as características do código de TE de aplicações Android assim como identificar a visão dos desenvolvedores a respeito destas características. Neste trabalho foram realizados três estudos: (i) um estudo exploratório onde foram inspecionados o código de TE de 15 aplicações Android populares (o que no total correspondeu a 3490 blocos try-catch-finally); e (ii) dois estudos qualitativos baseados em técnicas de Grounded Theory, nos quais surveys foram aplicados a desenvolvedores e especialistas Android para levantar a opinião dos mesmos sobre boas e más praticas no desenvolvimento do tratamento de exceções no ambiente Android. Durante estes estudos observamos um grande número de exceções sendo silenciada e poucas aplicações enviando informações de exceção para servidores remotos.  Ambas características foram consideradas má práticas pelos especialistas que podem impactar negativamente na robustez destas aplicações. 


  • Mostrar Abstract
  • Along the recent years, we have witnessed an astonishing increase in the number mobile applications being developed and some of them becoming largely used. Such applications extend phones capabilities far beyond of the basic calls. In the same rate the number of a users increase, also increases the number of users affected by application faults and crashes. In this contexto, Android apps are becoming more and more popular. The number of such apps is astonishingly increasing in a daily rate, as well as the number of users affected by their crashes. Android apps as other Java apps may crash due to faults on the exception handling (EH) code (e.g. uncaught exceptions). Techniques for exception detection and handling are not an optional add-on but a fundamental part of such apps. Yet, no study has investigated the main characteristics of the EH code of mobile apps nor the developers perspective about the good and bad practices of EH in such context. In this work we conducted three complementary studies: (i) one that inspected the EH code of 15 popular Android apps (which overall comprises of 3490 try-catch-finally blocks); and two qualitative studies based an Grounded Theory techniques, on which two surveys were applied to 28 Adndroid developers and 47 Android experts respectively, to get their opinion about the good and bad practices of EH development in Android environment. Some outcomes of the studies show a high occurrence of exception swallowing and only few apps sending exception information to a remote server – both considered by Android experts as bad practices that negatively impact the app robustness.

22
  • MATEUS SILVÉRIO DE ASSIS
  • CLASSIFICAÇÃO MULTIRRÓTULO COM APRENDIZADO SEMISSUPERVISIONADO: UMA ANÁLISE MULTIVISÃO DE DADOS

  • Orientador : ANNE MAGALY DE PAULA CANUTO
  • MEMBROS DA BANCA :
  • ANNE MAGALY DE PAULA CANUTO
  • ARAKEN DE MEDEIROS SANTOS
  • BRUNO MOTTA DE CARVALHO
  • JOAO CARLOS XAVIER JUNIOR
  • Data: 19/08/2016

  • Mostrar Resumo
  • Ao longo dos últimos anos, as técnicas computacionais aplicadas ao aprendizado de máquina têm sido divididas ou categorizadas quanto ao grau de supervisão presente nos conjuntos de treinamentos e quanto ao número de rótulos presente no atributo classe. Dentro dessas divisões, encontramos o aprendizado semissupervisionado, técnica que trabalha muito bem quando nem todos os rótulos dos exemplos do conjunto de treinamento são conhecidos. Por outro lado, a classificação multirrótulo, também está presente nessas categorias e propõe classificar exemplos quando estes estão associados a um ou mais rótulos. A combinação dessas técnicas de aprendizado gera a classificação multirrótulo semissupervisionado. Ainda nesse contexto, existem vertentes que trabalham com o aprendizado semissupervisionado para dados de visão única e aprendizado semissupervisionado para dados de visão múltipla. Os algoritmos de aprendizado semissupervisionado para dados de visão múltipla tem como ideia básica a exploração da discordância entre as predições dos diferentes classificadores, sendo este um assunto pouco abordado em pesquisas. Nesse sentido, esse trabalho propõe novos métodos para classificação multirrótulo semissupervisionado em uma abordagem para dados de visão múltipla, mostrando os resultados de alguns experimentos realizados e comparando alguns resultados dos experimentos utilizando os novos métodos com resultados de experimentos utilizando métodos já existentes.


  • Mostrar Abstract
  • Over the last years, the computational techniques used for machine learning have been divided or categorized according to the degree of supervision that exists in these training’s set and according on the number of labels in this class attribute. Within these divisions, we find the semi-supervised learning, a technique that works well when nor all labels examples of the training set are known. In the other hand, the multi-label classification also is present in these categories and it proposes to classify examples when they are associated with one or more labels. The combination of these learning techniques generates the classification semi-supervised multi-label. Also in this context, there are sides that work with the semi-supervised learning for single vision and semisupervised learning data for multiple viewing data. The semi-supervised learning algorithms for multiple viewing data has the basic idea of the exploitation of disagreements between the predictions of different classifiers, which is a subject rarely addressed in research. Thus, this work proposes the use of semi-supervised learning for multi-label classification using an approach with multiple viewing data, showing the results of some experiments and comparing some results of experiments using the new methods with the results of experiments using existing methods.

23
  • MURILO REGALADO ROCHA
  • Um ambiente online gamificado para ensino de programação de jogos digitais

  • Orientador : EDUARDO HENRIQUE DA SILVA ARANHA
  • MEMBROS DA BANCA :
  • EDUARDO HENRIQUE DA SILVA ARANHA
  • IG IBERT BITTENCOURT SANTANA PINTO
  • MARCIA JACYNTHA NUNES RODRIGUES LUCENA
  • ROMMEL WLADIMIR DE LIMA
  • Data: 24/08/2016

  • Mostrar Resumo
  • Com os avanços das tecnologias de informação e comunicação surge uma nova modalidade de ensino, a educação a distancia é realizada através de ambientes virtuais de aprendizagem. Apesar de facilidades e vantagens, um dos maiores desafios desses ambientes virtuais de aprendizagem é garantir o envolvimento e motivação por parte dos alunos. Neste contexto, a gamificação surge como uma proposta à solução dos problemas e este trabalho explora algumas dessas técnicas adaptando elemento de jogos ao ensino em um Ambiente Virtual de aprendizagem voltado para o ensino e competição de programação de jogos digitais. Três estudos em larga escala foram realizados, visando analisar os reais problemas no ensino online de programação e como a gamificação ajudou a minimizá-los no contexto do ambiente proposto.


  • Mostrar Abstract
  • Distance learning is an important learning model nowadays. Despite their facilities and benefits, one of the biggest challenges of online learning environments is to ensure students' engagement and motivation. In this context, gamification appears to be a good proposal for that kind of problem. This work investigates the use of some gamification techniques to adapt game elements to a proposed online learning environment for programming games. Three large scale studies were run and the results are presented, aiming at showing evidence about the real problems of online learning environments and how gamification can help in the context of the proposed environment.

24
  • PEDRINA CELIA BRASIL
  • Uma Arquitetura Multi-Agente de Suporte ao Processo Educacional Baseado em Jogos Digitais

  • Orientador : EDUARDO HENRIQUE DA SILVA ARANHA
  • MEMBROS DA BANCA :
  • ANDRE MAURICIO CUNHA CAMPOS
  • ANNE MAGALY DE PAULA CANUTO
  • EDUARDO HENRIQUE DA SILVA ARANHA
  • FRANCISCO MILTON MENDES NETO
  • Data: 25/08/2016

  • Mostrar Resumo
  • Apesar dos seus benefícios ao processo educacional, os jogos digitais ainda são pouco explorados nos contextos escolares. A adoção desses materiais introduz uma complexidade ao processo de ensino-aprendizagem que carece de tempo para organizar atividades educacionais baseadas no uso de jogos. Muitas são as ferramentas e ambientes utilizados para disponibilização de materiais didáticos e outros recursos relacionados ao aprendizado de determinado assunto. Porém, o excesso de informações disponíveis combinado às diferentes necessidades de um usuário pode desviar o foco daquilo que é mais relevante a um contexto de aprendizagem real. Dentre as alternativas existentes, vem crescendo o uso de Sistemas de Recomendação (SR) em Ambientes Virtuais de Aprendizagem (AVA), de modo que ao usuário sejam apresentados os melhores recursos para apoiar suas experiências de aprendizagem. Dessa forma, o objetivo deste trabalho é apresentar uma arquitetura multi-agente que, a partir de um plano de atividades, recomende jogos digitais educacionais adequados às preferências e contexto educacional do usuário.


  • Mostrar Abstract
  • Despite their benefits to the learning process, videogames are still not widely used in school environments. The adoption of these materials introduces complexity to the teaching/learning process that lacks time to organize game-based learning activities. There are many tools and environments  used  to  provide instructional  materials  and  other resources  related  to  a  particular  subject. However, the excess of information available combined with the  different individual needs can deviate the focus of the users of what is most relevant to their learning context. Therefore, there is an increasing use of Recommender Systems (RS) in Virtual Learning Environments (VLE), in order to provide the most relevant resources for supporting the learning experiences of the user. Thus, the objective of this paper is to present a multi-agent architecture that, from a study plan, recommends educational digital games suitable to the preferences and the context of the user.

25
  • ROBSON PAULO DA SILVA
  • MODELO DE RASTREABILIDADE DE REQUISITOS APLICADA A GESTÃO DE PROJETOS EM MÉTODOS ÁGEIS

  • Orientador : MARCIA JACYNTHA NUNES RODRIGUES LUCENA
  • MEMBROS DA BANCA :
  • FERNANDO MARQUES FIGUEIRA FILHO
  • GILBERTO AMADO DE AZEVEDO CYSNEIROS FILHO
  • LYRENE FERNANDES DA SILVA
  • MARCIA JACYNTHA NUNES RODRIGUES LUCENA
  • Data: 26/08/2016

  • Mostrar Resumo
  • Métodos ágeis tornaram-se uma forma de desenvolvimento predominante, sendo praticados em larga escala na indústria  e objeto de grande interesse científico pela comunidade acadêmica. Apesar de suas muitas qualidades reconhecidas pelos praticantes e pela academia, existem alguns pontos de fraqueza em que os Métodos Ágeis poderiam se beneficiar de soluções mais conservadoras, provenientes de métodos mais tradicionais. Neste sentido temos, por exemplo, situações em que ocorra a perda da memória coletiva devido à alta rotatividade de pessoal, ou a mudança do desenvolvimento de onshore para offshore.

    Uma das praticas em métodos tradicionais que pode trazer benefícios para os processos ágeis  é o emprego da Rastreabilidade para apoiar a gestão de projetos em  Métodos Ágeis. O objetivo deste trabalho é apresentar um modelo de referência de rastreabilidade para gestão de projetos em Métodos Ágeis e mostrar como aplica-lo em um contexto real. Para construir este modelo foi feita uma revisão da literatura, na qual foram buscadas entidades de referência que representam conceitos, necessidades de informação, reconhecidos pela comunidade científica como importantes para a rastreabilidade de requisitos, além daqueles relacionados a projetos ágeis. Estes conceitos foram empregados na construção de um modelo de referência de rastreabilidade cuja utilidade foi avaliada na extração de informações de gestão de projetos de software de uma grande corporação. Estas informações foram usadas para identificar problemas tais como: falta de testes; inconsistências na instanciação dos processos; deficiências na gestão dos projetos e; incoerências entre as Histórias de Usuário e seus detalhamentos.


  • Mostrar Abstract
  • Agile methods have become a predominant form of development, being practiced on a large scale in the industry and object of great scientific interest in the academic community. Despite its many qualities recognized by practitioners and the academia, there are some points of weakness on what agile methods could benefit from more conservative solutions, imported from the traditional methods, for example, situations in which there is loss of collective memory due to high staff turnover, or changing the development of onshore to offshore. One of these solutions that can bring many benefits to the agile development process is the use of traceability to support project management in Agile Methods.

    The aim of this work is to present a traceability reference model for agile methods project management scope and show how to apply it in a real context. To build this model a literature review was conducted, in which reference entities were required representing concepts, information needs, recognized by the scientific community as important for traceability requirements in addition to those related to Agile projects. These concepts were used in the construction of a traceability reference model whose usefulness was evaluated in the extraction of software project management information of a large corporation. It is used to identify problems such as lack of testing; inconsistencies in the instantiation of processes; deficiencies in the management of projects and; inconsistencies between the User Stories and their detailing.

     

26
  • RAFAEL DE MORAIS PINTO
  • Uma Linha de Processo de Software para Elicitação de Requisitos Baseada na Criatividade Combinacional
  • Orientador : MARCIA JACYNTHA NUNES RODRIGUES LUCENA
  • MEMBROS DA BANCA :
  • DENIS DA SILVA SILVEIRA
  • FELLIPE ARAÚJO ALEIXO
  • FERNANDO MARQUES FIGUEIRA FILHO
  • LYRENE FERNANDES DA SILVA
  • MARCIA JACYNTHA NUNES RODRIGUES LUCENA
  • Data: 14/10/2016

  • Mostrar Resumo
  • A Engenharia de Requisitos tem buscado, através de técnicas de
    criatividade, fornecer meios para elicitação de requisitos úteis e
    originais. Dentre as diversas técnicas de elicitação de requisitos
    criativas, podemos citar o framework proposto por Bhowmik, que propõe a
    criação de novos requisitos para determinado software através da
    criatividade combinacional. Seguindo Bhowmik, definimos um processo
    parecido ao originalmente proposto, também utilizando criatividade
    combinacional. Posteriormente, realizamos um segundo experimento utilizando
    novas variações em outro contexto organizacional e mais uma vez obtivemos
    êxito com os resultados obtidos. Constatamos que, mesmo diante das
    variações ocorridas de acordo com o contexto organizacional, é possível
    criar requisitos úteis utilizando a perspectiva da criatividade
    combinacional como técnica de elicitação de requisitos. No entanto,
    identificar as variações e adaptá-las ao contexto organizacional não é
    tarefa simples diante da gama de opções disponíveis. Assim, esta
    dissertação apresenta uma Linha de Processo de Software (LPrS) para
    elicitação de requisitos baseada na criatividade combinacional, com a
    finalidade de ser instanciada e utilizada por equipes de desenvolvimento de
    software. Um processo de software pode ser definido como um conjunto de
    atividades necessárias para conceber, desenvolver, implantar e manter um
    produto de software. Os processos de software podem ser complexos, além de
    possibilitar diversas alternativas de execução de suas atividades. Nossa
    LPrS define um processo e identifica suas variabilidades a fim de
    documentar um guia para facilitar o trabalho de seus utilizadores. Para
    validar nossa abordagem, modelamos dois experimentos realizados utilizando
    criatividade combinacional com o propósito de identificar e comparar suas
    atividades e variabilidades em relação à linha proposta.


  • Mostrar Abstract
  • The need for innovation and appreciation of creative solutions has taken requirements engineeringresearchersto investigate creativity techniques to elicit useful and unique requirements. Such techniques are based on the combination of ideas (requirements, words or problems) that generally come from different sources and are carried out in a process that involves different roles. However, how can we identify the common core and which variations can be adapted to the organizational context where the technique will be used? This article presents a Software Process Line (SPrL) to elicit requirements based on combinational creativity. This SPrL represents commonalities and variabilities found in some combinational creativity techniques thereby it helps teams to define the combinational technique according their organizational context. We validate this approach by discussing how the SPrL complies with the related works' major features and how it generalizes three techniques that have already been used in experimental studies, producing satisfactory results.

27
  • JONATHAN WANDERLEY DE MESQUITA
  • Exploração de espaço de projeto para geração de Redes em Chip de topologias irregulares otimizadas: a Rede UTNoC.

  • Orientador : MARCIO EDUARDO KREUTZ
  • MEMBROS DA BANCA :
  • MARCIO EDUARDO KREUTZ
  • MONICA MAGALHAES PEREIRA
  • CESAR ALBENES ZEFERINO
  • Data: 08/12/2016

  • Mostrar Resumo
  • Durante o projeto de arquiteturas multiprocessadas, a etapa de exploração do espaço de projeto pode ser auxíliada por ferramentas que aceleram o processo. O projeto de uma arquitetura com comunicação baseada em rede-em-chip, usualmente considera topologias regulares, e de caráter genérico, desconsiderando uma eventual irregularidade no padrão de comunicação entre os elementos interligados. Projetos heterogêneos necessitam de so- luções de comunicação ad-hoc, onde a exploração manual do espaço de projeto se torna inviável, dada a sua complexidade. O presente trabalho propõe uma rede em chip de to- pologia irregular, capaz de ter bons desempenhos (próximo ao desempenho de uma rede conectada segundo o grafo da aplicação), por meio de um processo de comunicação ba- seado em tabelas de roteamento. Também, uma ferramenta de exploração em alto nível utilizando Algoritmo genético, capaz de encontrar redes UTNoCs com número reduzido de conexões, e auxiliando em decisões de projetos destas redes. Resultados obtidos cor- roboram o trabalho, obtendo redes UTNoCs com desempenhos próximos aos de redes conectadas segundo os grafos de suas aplicações, e com redução no número de conexões de até 54%, representando uma redução significativa de área e consumo de energia. 


  • Mostrar Abstract
  • During the design of multiprocessor architectures, the design space exploration step may be aided by tools that assist and accelerate this process. The project of architectures whose communications are based on Networks-on-Chip (NoCs), usually relies on regular topologies, disregarding a possible irregularity in the communication pattern between the interconnected elements. The present work proposes an irregular topology chip network, capable of having good performance (close to the performance of a network connected according to the application graph), through a communication process based on routing tables. The work proposes also a high-level exploration tool using Genetic Algorithm, able to find UTNoC networks with reduced number of connections, and assisting in the design decisions of these networks. Results obtained show that is possible to obtain UTNoC networks with performances close to the performance of networks connected according to the graphs of their applications, and with a reduction in the number of connections of up to 54%, representing a significant reduction of area and energy consumption. 

28
  • FREDERICO NUNES DO PRANTO FILHO
  • ECSFlow: Implementação de um modelo de tratamento de exceção para C#

  • Orientador : NELIO ALESSANDRO AZEVEDO CACHO
  • MEMBROS DA BANCA :
  • FRANCISCO DANTAS DE MEDEIROS NETO
  • NELIO ALESSANDRO AZEVEDO CACHO
  • ROBERTA DE SOUZA COELHO
  • Data: 12/12/2016

  • Mostrar Resumo
  • As linguagens de programação convencionais, tais como C#, Ruby, Python e outras, fornecem mecanismos internos de tratamento de exceções afim de prover uma implementação de tratamento de exceções robusta e manutenível em sistemas de software. Essas linguagens suportam o que chamamos de mecanismos de tratamento de exceções dirigidos à manutenção, visto que elas reduzem as restrições de programação no tratamento de exceção buscando agilizar mudanças no código fonte. No entanto, muitos dos problemas que resultam do tratamento de exceção são causados pela forma local na qual as exceções são tratadas. Desta forma, os desenvolvedores devem compreender a origem da exceção, o local onde a exceção será tratada e todo o fluxo de controle excepcional entre esses dois pontos. Consequentemente, à medida que o desenvolvimento do software evolui, este fluxo torna-se cada vez menos conhecido, prejudicando a manutenção e robustez do sistema. Este trabalho apresenta uma implementação do modelo de tratamento de exceção para a linguagem C# denominada ECSFlow. Diferentemente de outros mecanismos de tratamento de exceção, este modelo provê abstrações para descrever o controle do fluxo excepcional numa visão global, permitindo entender o fluxo excepcional em uma perspectiva fim-a-fim, observando somente uma parte do código. Além disso, o modelo permite associar o tratamento de exceção ao código normal de forma mais flexível. Nós avaliamos qualitativamente e quantitativamente o modelo proposto através de um estudo de caso de uma aplicação web real


  • Mostrar Abstract
  • Mainstream programming languages, such as C#, Ruby, Python and many others, provide
    built-in exception handling mechanisms to support robust and maintainable implementation
    of exception handling in software systems. These languages support what we call
    maintenance-driven exception handling mechanisms, since they reduce the programming
    restrictions in exception handling toward an more agile source code maintenance in software
    evolution. However, many of the problems that stem from the use of exception
    handling are caused by the local way in which exceptions are handled. It demands that
    developers understand the source of an exception, the place where it is handled, and
    everything in between. As a consequence, as system development progresses, exceptional
    control ows become less well-understood, with potentially negative consequences for the
    program maintainability and reliability. This paper presents an exception handling model
    implementation for C# languagem called ECSFlow. In contrast to other exception handling
    mechanisms, our model provides abstractions to explicitly describe global views of
    exceptional control ows, making possible to understand exception ows from an end-toend
    perspective by looking at a single part of the program. Also, it leverages to make the
    association of exception code with normal code more exible. We evaluate qualitatively
    and quantitatively the proposed exception handling model through a case study targeting
    a real application.

29
  • FLÁVIO DE SOUSA RAMALHO
  • SmartEdge: Extensões de Nuvem para Computação de Borda para Suportar Aplicações IoT Sensíveis a Latência

  • Orientador : AUGUSTO JOSE VENANCIO NETO
  • MEMBROS DA BANCA :
  • AUGUSTO JOSE VENANCIO NETO
  • JOSÉ NEUMAN DE SOUZA
  • THAIS VASCONCELOS BATISTA
  • Data: 15/12/2016

  • Mostrar Resumo
  • O rápido crescimento do número de dispositivos conectados à Internet, associado às taxas crescentes de popularidade e demanda de aplicações e serviços em tempo real na nuvem, com restrições de latência, torna muito difícil para estruturas de computação em nuvem tradicionais acomodá-los de forma eficiente. Mais especificamente, a abordagem centralizada adotada tradicionalmente por Data Centers (DC) atuais apresentam problemas de desempenho para atender de aplicações em nuvem com alta densidade, principalmente quanto a capacidade de resposta e escalabilidade. Nossa dependência insubstituível por computação em nuvem, exige infra-estruturas de DCs sempre disponíveis, enquanto mantém ao mesmo tempo capacidades de desempenho suficientes para responder a uma enorme quantidade de solicitações de aplicativos em nuvem. Neste trabalho, a aplicabilidade do emergente paradigma de computação em névoa é explorada para melhorar o desempenho no suporte de aplicações em nuvem sensíveis à latência voltadas a Internet das Coisas (do inglês Internet of Things - IoT). Com base neste objetivo, apresentamos o novo modelo denominado Infraestrutura de Borda como um Serviço (do inglês Edge Infrastructure as a Service - EIaaS), que procura oferecer um novo modelo de computação em nuvem com serviço de entrega baseado em computação de borda voltado a atender de forma eficiente as exigências de aplicações IoT em tempo real sensíveis à latência. Com a abordagem EIaaS, provedores de nuvem podem implantar dinamicamente aplicações/serviços IoT diretamente nas infra-estruturas de computação de borda, nem como gerir seus recursos de núvem/rede em tempo de execução, como forma de manter as aplicações IoT sempre melhor conectadas e melhor servidas. A abordagem resultante é arquitetada em uma estrutura modular, tendo como base tecnológica ferramentas de Rede Definida por Software (do inglês, Software-Defined Networking - SDN) para lidar com recursos de computação de borda (CPU, memória, etc.) e de rede (caminhos, largura de banda, etc.), respectivamente. Os resultados preliminares mostram como as principais técnicas de virtualização utilizadas no âmbito deste trabalho, afetam o desempenho das aplicações na infraestrutura de borda da rede. A virtualizaçào por containers leva vantagem sobre a técnica de virtualização por máquinas virtuais para implantar aplicações na borda da rede, uma vez que oferece grande flexibilidade mesmo na presença de demanda de recursos.


  • Mostrar Abstract
  • The rapid growth in the number of Internet-connected devices, associated to the increasing rates in popularity and demand for real-time and latency-constrained cloud application services makes the use of traditional cloud computing frameworks challenging to afford such environment. More specifically, the centralized approach traditionally adopted by current Data Center (DC) pose performance issues to suit a high density of cloud applications, mainly in terms to responsiveness and scalability. Our irreplaceable dependency on cloud computing, demands DC infrastructures always available while keeping, at the same time, enough performance capabilities for responding to a huge amount of cloud application requests. In this work, the applicability of the fog computing emerging paradigm is exploited to enhance the performance on supporting latency-sensitive cloud applications tailored for Internet of Things (IoT). With this goal in mind, we introduce a new service model named Edge Infrastructure as a Service (EIaaS), which seeks to offer a new edge computing tailored cloud computing service delivery model to efficiently suit the requirements of the real-time latency-sensitive IoT applications. With EIaaS approach, cloud providers are allowed to dynamically deploy IoT applications/services in the edge computing infrastructures and manage cloud/network resources at the run time, as means to keep IoT applications always best connected and best served. The resulting approach is modeled in a modular architecture, leveraging both container and Software-Defined Networking technologies to handle edge computing (CPU, memory, etc) and network resources (path, bandwidth, etc) respectively. Preliminary results show how the virtualization technique affects the performance of applications at the network edge infra. The container-based virtualization takes advantage over the hypervisor-based technique for deploying applications at the edge computing infrastructure, as it offers a great deal of flexibility under the presence of resource constraints.

Teses
1
  • MARCELO DAMASCENO DE MELO
  • Verificação de Usuários através de Biometrias canceláveis comportamentais. 

  • Orientador : ANNE MAGALY DE PAULA CANUTO
  • MEMBROS DA BANCA :
  • ANNE MAGALY DE PAULA CANUTO
  • BENJAMIN RENE CALLEJAS BEDREGAL
  • JOAO CARLOS XAVIER JUNIOR
  • ANDRÉ CARLOS PONCE DE LEON FERREIRA DE CARVALHO
  • GEORGE DARMITON DA CUNHA CAVALCANTI
  • Data: 07/03/2016

  • Mostrar Resumo
  • The verification of user identity is a faced daily problem to people or system that authorize the acess of people taking account the physical and document characteristics.
    However, efforts need to be spend to resolve related questions to accuracy of verification system and in the falsification of objects and personal information.
    Thus, biometrics proposes minimize and resolve these difficulties.
    Unfortunately, the substitution of biometric traces in the case of compromise is difficult.
    Hence, the use of non-invertible functions is proposed to distort the biometric traces.
    Consequently, this procedures allows that biometric templates becomes cancelable or revocable.

    This thesis analysis some solution to user verification using cancelable behavioural biometrics.
    The analysed solutions are based on the use of single classifiers and ensemble system to resolve the user verification problem.
    In addition, this thesis analysis the use of multiple cancelable templates using ensemble system (Multiple-Privacy Protection Schemes).
    This thesis also presents a discussion of key impact in a cancelable function.
    Thus, we show a empiric study of use of single or different key values to enrolled users.
    Moreover, a study of the impact of key length is discussed based on the accuracy of biometric system.
    Based on the results, it is discussed the generation and storage of cancelable keys in mobile devices.

    In summary, we have demonstrated that the use of a transformation function usually provides similar or better performance than Original biometric data, except in BioHashing function.
    In addition, the use of multiple protected templates processed by ensemble system outperformed the previous results in single classifiers and ensemble system.
    Moreover, we showed that biometric system with cancelable templates preserves the user privacy, i.e, it provides lower False Acceptance and False Rejection Errors in Unknown Key attacks and similar performance to unprotected biometric samples in Known Key Attacks.
    Based on key length experiments, we observe a perceptible continuous improvement when the key increases in Interpolation and BioHashing method in both key knowledge attacks.
    In contrast, Double Sum have minor improvements but the most important is the performance does not decrease when the key increases.
    In conclusion, based on our findings, we proposes the use of a key generated by system to authenticate users in mobile devices using cancelable biometric templates.

  • Mostrar Abstract
  • The verification of user identity is a faced daily problem to people or system that authorize the acess of people taking account the physical and document characteristics.
    However, efforts need to be spend to resolve related questions to accuracy of verification system and in the falsification of objects and personal information.
    Thus, biometrics proposes minimize and resolve these difficulties.
    Unfortunately, the substitution of biometric traces in the case of compromise is difficult.
    Hence, the use of non-invertible functions is proposed to distort the biometric traces.
    Consequently, this procedures allows that biometric templates becomes cancelable or revocable.

    This thesis analysis some solution to user verification using cancelable behavioural biometrics.
    The analysed solutions are based on the use of single classifiers and ensemble system to resolve the user verification problem.
    In addition, this thesis analysis the use of multiple cancelable templates using ensemble system (Multiple-Privacy Protection Schemes).
    This thesis also presents a discussion of key impact in a cancelable function.
    Thus, we show a empiric study of use of single or different key values to enrolled users.
    Moreover, a study of the impact of key length is discussed based on the accuracy of biometric system.
    Based on the results, it is discussed the generation and storage of cancelable keys in mobile devices.

    In summary, we have demonstrated that the use of a transformation function usually provides similar or better performance than Original biometric data, except in BioHashing function.
    In addition, the use of multiple protected templates processed by ensemble system outperformed the previous results in single classifiers and ensemble system.
    Moreover, we showed that biometric system with cancelable templates preserves the user privacy, i.e, it provides lower False Acceptance and False Rejection Errors in Unknown Key attacks and similar performance to unprotected biometric samples in Known Key Attacks.
    Based on key length experiments, we observe a perceptible continuous improvement when the key increases in Interpolation and BioHashing method in both key knowledge attacks.
    In contrast, Double Sum have minor improvements but the most important is the performance does not decrease when the key increases.
    In conclusion, based on our findings, we proposes the use of a key generated by system to authenticate users in mobile devices using cancelable biometric templates.
2
  • VALÉRIO GUTEMBERG DE MEDEIROS JUNIOR
  • Método B e a síntese verificada para código de montagem

  • Orientador : DAVID BORIS PAUL DEHARBE
  • MEMBROS DA BANCA :
  • MARTIN ALEJANDRO MUSICANTE
  • DAVID BORIS PAUL DEHARBE
  • MARCEL VINICIUS MEDEIROS OLIVEIRA
  • ALEXANDRE CABRAL MOTA
  • BRUNO EMERSON GURGEL GOMES
  • Data: 08/03/2016

  • Mostrar Resumo
  • A síntese de código de montagem é um processo que exige um cuidado rigoroso. Normalmente, esse processo nos tradutores e nos compiladores mais maduros é relativamente seguro, apesar de que, esporadicamente, erros são identificados neles. Em um contexto mais restrito, os tradutores utilizados em comunidades menores e em constante desenvolvimento são mais suscetíveis a erros. Considerando esse contexto, duas abordagens de tradução e de verificação usando o método B são apresentadas. A primeira abordagem propõe a tradução do componente B para o código de montagem de uma plataforma específica, usando um modelo formal do conjunto de instruções, o qual possibilita também depurar e verificar as propriedades de programas. Essa abordagem é capaz de garantir formalmente a coerência semântica da tradução, apesar de ser um processo de verificação árduo e lento. Tal esforço de verificação foi aliviado através de uma ferramenta desenvolvida (BEval), que aproveitou melhor as técnicas de verificação. Após o processo de prova automática usando uma ferramenta B robusta (Atelier B), BEval ainda foi capaz de resolver em certos modelos muitas das obrigações de prova remanescentes, chegando a até 88% do total de obrigações. Contudo, o processo de verificação da abordagem de tradução continuou complexo, exigindo várias interações manuais. Afim de viabilizar uma tradução mais eficiente e também segura, uma segunda abordagem de tradução de B para o código de máquina virtual foi desenvolvida. A segunda abordagem utilizou o tradutor desenvolvido B2LLVM e aplicou a geração automática de testes para verificar a coerência entre a especificação do programa e o seu respectivo código de montagem. Esse tradutor também suporta a avaliação de cobertura do código e a inserção de anotações de rastreabilidade. Dessa forma, o trabalho contribuiu significativamente na tradução de B para o código de montagem, oferecendo um suporte rigoroso para a verificação da tradução. Atualmente, o B2LLVM já é capaz de gerar código para 84% dos exemplos de teste baseados na gramática que são traduzíveis por um relevante tradutor industrial (C4B). Ademais, o código gerado por B2LLVM apresenta vantagens importantes na ampla capacidade de verificação, de integração e de otimização. 


  • Mostrar Abstract
  • A síntese de código de montagem é um processo que exige um cuidado rigoroso. Normalmente, esse processo nos tradutores e nos compiladores mais maduros é relativamente seguro, apesar de que, esporadicamente, erros são identificados neles. Em um contexto mais restrito, os tradutores utilizados em comunidades menores e em constante desenvolvimento são mais suscetíveis a erros. Considerando esse contexto, duas abordagens de tradução e de verificação usando o método B são apresentadas. A primeira abordagem propõe a tradução do componente B para o código de montagem de uma plataforma específica, usando um modelo formal do conjunto de instruções, o qual possibilita também depurar e verificar as propriedades de programas. Essa abordagem é capaz de garantir formalmente a coerência semântica da tradução, apesar de ser um processo de verificação árduo e lento. Tal esforço de verificação foi aliviado através de uma ferramenta desenvolvida (BEval), que aproveitou melhor as técnicas de verificação. Após o processo de prova automática usando uma ferramenta B robusta (Atelier B), BEval ainda foi capaz de resolver em certos modelos muitas das obrigações de prova remanescentes, chegando a até 88% do total de obrigações. Contudo, o processo de verificação da abordagem de tradução continuou complexo, exigindo várias interações manuais. Afim de viabilizar uma tradução mais eficiente e também segura, uma segunda abordagem de tradução de B para o código de máquina virtual foi desenvolvida. A segunda abordagem utilizou o tradutor desenvolvido B2LLVM e aplicou a geração automática de testes para verificar a coerência entre a especificação do programa e o seu respectivo código de montagem. Esse tradutor também suporta a avaliação de cobertura do código e a inserção de anotações de rastreabilidade. Dessa forma, o trabalho contribuiu significativamente na tradução de B para o código de montagem, oferecendo um suporte rigoroso para a verificação da tradução. Atualmente, o B2LLVM já é capaz de gerar código para 84% dos exemplos de teste baseados na gramática que são traduzíveis por um relevante tradutor industrial (C4B). Ademais, o código gerado por B2LLVM apresenta vantagens importantes na ampla capacidade de verificação, de integração e de otimização. 

3
  • ERNESTO CID BRASIL DE MATOS
  • BETA: uma Abordagem de Testes Baseada em B

  • Orientador : ANAMARIA MARTINS MOREIRA
  • MEMBROS DA BANCA :
  • ANAMARIA MARTINS MOREIRA
  • MARCEL VINICIUS MEDEIROS OLIVEIRA
  • ALEXANDRE CABRAL MOTA
  • MICHAEL LEUSCHEL
  • PATRICIA DUARTE DE LIMA MACHADO
  • Data: 14/04/2016

  • Mostrar Resumo
  • Sistemas de software estão presentes em grande parte das nossas vidas atualmente e, mais do que nunca, eles requerem um alto nível de confiabilidade. Existem várias técnicas de Ver- ificação e Validação (V&V) de software que se preocupam com controle de qualidade, segu- rança, robustez e confiabilidade; as mais conhecidas são Testes de Software e Métodos For- mais. Métodos formais e testes são técnicas que podem se complementar. Enquanto méto- dos formais provêem mecanismos confiáveis para raciocinar sobre o sistema em um nível mais abstrato, técnicas de teste ainda são necessárias para uma validação mais profunda e são frenquentemente requeridas por orgãos de certificação. Levando isto em consideração, BETA provê uma abordagem de testes baseada em modelos para o Método B, suportada por uma ferramenta, que é capaz de gerar testes de unidade a partir de máquinas abstratas B. Nesta tese de doutorado apresentamos melhorias realizadas em BETA e novos estudos de caso realizados para avaliá-la. Dentre as melhorias, integramos critérios de cobertura lógicos à abordagem, revisamos os critérios de cobertura baseados em espaço de entrada que já eram suportados e aperfeiçoamos as últimas etapas do processo de geração de testes. A abordagem agora suporta a geração automática de dados para os oráculos e preâmbulos para os casos de teste; ela também possui uma funcionalidade para concretização dos da- dos de teste e um módulo para gerar scripts de teste executáveis automaticamente. Outro objetivo desta tese foi realizar estudos de caso mais complexos utilizando BETA e avaliar a qualidade dos casos de teste que a abordagem produz. Estes estudos de caso foram os primeiros a avaliar o processo de geração de testes por completo, desde a especificação dos casos de teste até a sua implementação e execução. Em nossos últimos experimentos, analisamos a qualidade dos casos de teste gerados por BETA, considerando cada critério de cobertura suportado, utilizando métricas de cobertuda de código como cobertura de in- struções e ramificações. Também utilizamos testes de mutação para avaliar a capacidade dos casos de teste de detectar faltas na implementação dos modelos. O resultados obtidos foram promissores mostrando que BETA é capaz de detectar faltas introduzidas por progra- madores ou geradores de código e que a abordagem pode obter bons resultados de cobertura para a implementação de um sistema baseado em modelos B.


  • Mostrar Abstract
  • Sistemas de software estão presentes em grande parte das nossas vidas atualmente e, mais do que nunca, eles requerem um alto nível de confiabilidade. Existem várias técnicas de Ver- ificação e Validação (V&V) de software que se preocupam com controle de qualidade, segu- rança, robustez e confiabilidade; as mais conhecidas são Testes de Software e Métodos For- mais. Métodos formais e testes são técnicas que podem se complementar. Enquanto méto- dos formais provêem mecanismos confiáveis para raciocinar sobre o sistema em um nível mais abstrato, técnicas de teste ainda são necessárias para uma validação mais profunda e são frenquentemente requeridas por orgãos de certificação. Levando isto em consideração, BETA provê uma abordagem de testes baseada em modelos para o Método B, suportada por uma ferramenta, que é capaz de gerar testes de unidade a partir de máquinas abstratas B. Nesta tese de doutorado apresentamos melhorias realizadas em BETA e novos estudos de caso realizados para avaliá-la. Dentre as melhorias, integramos critérios de cobertura lógicos à abordagem, revisamos os critérios de cobertura baseados em espaço de entrada que já eram suportados e aperfeiçoamos as últimas etapas do processo de geração de testes. A abordagem agora suporta a geração automática de dados para os oráculos e preâmbulos para os casos de teste; ela também possui uma funcionalidade para concretização dos da- dos de teste e um módulo para gerar scripts de teste executáveis automaticamente. Outro objetivo desta tese foi realizar estudos de caso mais complexos utilizando BETA e avaliar a qualidade dos casos de teste que a abordagem produz. Estes estudos de caso foram os primeiros a avaliar o processo de geração de testes por completo, desde a especificação dos casos de teste até a sua implementação e execução. Em nossos últimos experimentos, analisamos a qualidade dos casos de teste gerados por BETA, considerando cada critério de cobertura suportado, utilizando métricas de cobertuda de código como cobertura de in- struções e ramificações. Também utilizamos testes de mutação para avaliar a capacidade dos casos de teste de detectar faltas na implementação dos modelos. O resultados obtidos foram promissores mostrando que BETA é capaz de detectar faltas introduzidas por progra- madores ou geradores de código e que a abordagem pode obter bons resultados de cobertura para a implementação de um sistema baseado em modelos B.

4
  • EVERTON RANIELLY DE SOUSA CAVALCANTE
  • A Formally Founded Framework for Dynamic Software Architectures

     

  • Orientador : THAIS VASCONCELOS BATISTA
  • MEMBROS DA BANCA :
  • THAIS VASCONCELOS BATISTA
  • JAIR CAVALCANTI LEITE
  • GIBEON SOARES DE AQUINO JUNIOR
  • ELISA YUMI NAKAGAWA
  • CARLOS ENRIQUE CUESTA
  • KHALIL DRIRA
  • PAULO ROBERTO FREIRE CUNHA
  • FLÁVIO OQUENDO
  • Data: 10/06/2016

  • Mostrar Resumo
  • Software architectures play a significant role in the development of software-intensive systems in order to allow satisfying both functional and non-functional requirements. In particular, dynamic software architectures have emerged to address characteristics of the contemporary systems that operate on dynamic environments and consequently subjected to changes at runtime. Architecture description languages (ADLs) are used to represent software architectures, producing models that can be used at design time and/or runtime. However, most existing ADLs have limitations in several facets: (i) they are focused on structural, topological aspects of the architecture; (ii) they do not provide an adequate support for representing behavioral aspects of the architecture; (iii) they do not allow describing advanced aspects regarding the dynamics of the architecture; (iv) they are limited with respect to the automated verification of architectural properties and constraints; and (v) they are disconnected from the implementation level, thus entailing inconsistencies between architecture and implementation. In order to tackle these problems, this thesis proposes formally founded framework for dynamic software architectures. Such a framework comprises: (i) pi-ADL, a formal language for describing software architectures under both structural and behavioral viewpoints; (ii) the specification of programmed dynamic reconfiguration operations; (iii) the automated generation of source code from architecture descriptions; and (iv) an approach based on statistical model checking (SMC) to formally express and verify properties in dynamic software architectures. The main contributions brought by the proposed framework are fourfold. First, the pi-ADL language was endowed with architectural-level primitives for describing programmed dynamic reconfigurations. Second, architecture descriptions in pi-ADL are translated towards implementation source code in the Go programming language, thereby contributing to minimize architectural drifts. Third, a novel logic, called DynBLTL, is used to formally express properties in dynamic software architectures. Fourth, a toolchain relying on SMC was built to automate the verification of architectural properties while striving to reduce effort, computational resources, and time for performing such a task. In this work, two wireless sensor network-based systems are used to validate the framework elements.


  • Mostrar Abstract
  • Software architectures play a significant role in the development of software-intensive systems in order to allow satisfying both functional and non-functional requirements. In particular, dynamic software architectures have emerged to address characteristics of the contemporary systems that operate on dynamic environments and consequently subjected to changes at runtime. Architecture description languages (ADLs) are used to represent software architectures, producing models that can be used at design time and/or runtime. However, most existing ADLs have limitations in several facets: (i) they are focused on structural, topological aspects of the architecture; (ii) they do not provide an adequate support for representing behavioral aspects of the architecture; (iii) they do not allow describing advanced aspects regarding the dynamics of the architecture; (iv) they are limited with respect to the automated verification of architectural properties and constraints; and (v) they are disconnected from the implementation level, thus entailing inconsistencies between architecture and implementation. In order to tackle these problems, this thesis proposes formally founded framework for dynamic software architectures. Such a framework comprises: (i) pi-ADL, a formal language for describing software architectures under both structural and behavioral viewpoints; (ii) the specification of programmed dynamic reconfiguration operations; (iii) the automated generation of source code from architecture descriptions; and (iv) an approach based on statistical model checking (SMC) to formally express and verify properties in dynamic software architectures. The main contributions brought by the proposed framework are fourfold. First, the pi-ADL language was endowed with architectural-level primitives for describing programmed dynamic reconfigurations. Second, architecture descriptions in pi-ADL are translated towards implementation source code in the Go programming language, thereby contributing to minimize architectural drifts. Third, a novel logic, called DynBLTL, is used to formally express properties in dynamic software architectures. Fourth, a toolchain relying on SMC was built to automate the verification of architectural properties while striving to reduce effort, computational resources, and time for performing such a task. In this work, two wireless sensor network-based systems are used to validate the framework elements.

5
  • CLAUDIO ANDRES CALLEJAS OLGUIN
  • Um estudo topológico e de teoria dos domínios das funções totais computáveis

  • Orientador : BENJAMIN RENE CALLEJAS BEDREGAL
  • MEMBROS DA BANCA :
  • BENJAMIN RENE CALLEJAS BEDREGAL
  • REGIVAN HUGO NUNES SANTIAGO
  • FAGNER LEMOS DE SANTANA
  • JORGE PETRUCIO VIANA
  • WILSON ROSA DE OLIVEIRA JUNIOR
  • Data: 29/07/2016

  • Mostrar Resumo
  • Pela tese de Church toda abordagem teórica à classe das funções parciais computáveis obtém exatamente a mesma classe de funções. Quando restrita à classe das funções totais computáveis cada uma destas abordagens não se livra de um componente indecidível. Em particular a teoria da recursão define indutivamente esta última classe com algumas funções básicas e uns poucos construtores, onde um destes, chamado de minimalização restrita, só pode ser aplicado a uma subclasse indecidível chamada de funções regulares computáveis.

    A classe das funções totais computáveis tem sido estudada topologicamente somente numa forma extensional como um subespaço de um espaço de Baire e como uma topologia induzida de uma topologia de Scott das funções parciais (não necessariamente computáveis). Ambas as abordagens reduzem-se à mesma topologia.

    Nesta tese é feito um estudo intencional e extensional da classe das funções totais computáveis. No primeiro caso é construída uma topologia no conjunto de índices desta classe como uma topologia inicial de um limite inverso que é (como sempre é requerido) um subespaço de um espaço produto que neste caso é obtido a partir de uma família indexada de espaços métricos. No segundo caso é construída uma nova topologia de Scott para esta classe associada a uma generalização original dos domínios algébricos nomeados como quase domínios algébricos, tendo as funções totais computáveis como um exemplo desta estrutura de primeira ordem. Por meio desta última topologia de Scott é obtida uma condição necessária para as funções regulares computáveis. É demonstrado que estas três topologias não são homeomórficas entre si.

    Como um subproduto do segundo caso é apresentada uma topologia de Scott para a classe das funções totais (não necessariamente computáveis). É demonstrado que esta topologia não é homeomorfa ao espaço de Baire, devido a que a primeira é uma topologia compacta, mas a última possui uma topologia que não satisfaz esta propriedade.

    Também é demonstrado que todas estas topologias na classe das funções totais e na subclasse das funções totais computáveis têm um mesmo conjunto denso, a saber, o conjunto de todas as funções totais com suporte finito. Analogamente é demonstrado que a topologia no conjunto de índices das funções totais computáveis tem como um conjunto denso o conjunto de índices correspondente a uma enumeração computável sem repetição do conjunto das funções totais com suporte finito.


  • Mostrar Abstract
  • By the Church thesis any theoretic approach to the class of partial computable functions comes to exactly the same class of functions. Each of these approaches when restricted to the class of total computable functions do not come free of an undecidable component. In particular recursion theory inductively defines this later class from some basic functions and a few constructs, where one of them called restricted minimalization can only be applied to a subclass called regular computable functions which is undecidable.

    Topologically the class of total computable functions has been studied only in an extensional way as a subspace of a Baire space and as an induced topology of an Scott topology for the partial functions (not necessarily computable). Both approaches boil down to the same topology.

    In this dissertation an intentional and extensional study of the class of total computable functions is made. In the first case a topology on the index set of this class is build as an initial topology of an inverse limit space that is (as always required) a subspace of a product space that in this case is build from an indexed family of metric spaces. In the second case a novel
    Scott topology for this class is constructed which is bound to a novel generalization of algebraic domains coined as algebraic quasi-domains having the class of total computable functions proved to be an example of this first-order structure. Through the later Scott topology a necessary condition for the regular computable functions is obtained. All these three topologies are proved to be pairwise not homeomorphic.

    As a byproduct of the second case an Scott topology for the class of total functions (not necessarily computable) is presented. It is proved that this topology is not homeomorphic to the Baire space, wherefore the former is a compact topology but the later has a topology that fails to satisfy this property.

    It is also proved that all these topologies in the class of total functions and in the subclass of total computable functions have the set of total functions with finite support as a common dense set. Analogously it is proved that the topology in the index set of the class of total computable functions have as a dense set the indexes corresponding to a computable enumeration without repetition of the set of total functions with finite support.

6
  • MADIEL DE SOUSA CONSERVA FILHO
  • Análise de Livelock para Sistemas Baseados em Componentes

  • Orientador : MARCEL VINICIUS MEDEIROS OLIVEIRA
  • MEMBROS DA BANCA :
  • ALEXANDRE CABRAL MOTA
  • ANAMARIA MARTINS MOREIRA
  • LEILA RIBEIRO
  • MARCEL VINICIUS MEDEIROS OLIVEIRA
  • MARTIN ALEJANDRO MUSICANTE
  • Data: 12/08/2016

  • Mostrar Resumo
  • O uso crescente de sistemas complexos exige cada vez mais um maior investimento de recursos no desenvolvimento de software para garantir a confiabilidade dos sistemas. Para lidar com esta complexidade, abordagens composicionais podem ser utilizadas no desenvolvimento de sistemas de software, possibilitando a integração e a reutilização de componentes existentes. Entretanto, a fim de garantir o sucesso desta abordagem, é essencial confiar no comportamento dos componentes e, além disso, nos sistemas que são desenvolvidos utilizando essa estratégia. Problemas podem surgir quando dois ou mais componentes são integrados pela primeira vez. Este problema é ainda mais relevante quando um grupo de componentes trabalha em conjunto a fim de executar determinadas tarefas, especialmente em sistemas concorrentes, durante o qual podem surgir problemas clássicos, como livelock. Nesta proposta de tese de doutorado, nós propomos uma estratégia local para garantir ausência de divergência, por construção, em sistemas síncronos modelados com a notação padrão de CSP. Além disto, a abordagem proposta pode ser aplicada para verificar ausência de livelock em modelos que realizam comunicações assíncronas. Neste caso, nós analisamos o modelo de componente BRIC, cujo comportamento dos componentes é representado por um processo CSP. Neste contexto, nós também propomos uma abordagem correta por construção a fim de assegurar composições BRIC livres de livelock, realizando uma verificação local. A abordagem foi avaliada através de três estudos de caso: milner e duas variações do jantar dos filósofos, uma versão representa um sistema livre de livelock, e a outra inclui um sistema com livelock. Nós realizamos uma análise comparativa destes estudos de caso em três diferentes abordagens: (1) a tradicional análise global do FDR, (2) a análise estática de livelock do SLAP, (3) e a nossa estratégia local e composicional de livelock.


  • Mostrar Abstract
  • The use of increasingly complex applications is demanding a greater investment of
    resources in software development to ensure that applications are safe. For mastering
    this complexity, compositional approaches can be used in the development of software
    by integrating and reusing existing reliable components. The correct application of such
    strategies, however, relies on the trust in the behaviour of the components and in the emergent
    behaviour of the composed components because failures may arise if the composition
    does not preserve essential properties. Problems may be introduced when two or more
    error-free components are integrated for the first time. This concern is even more relevant
    when a group of components is put together in order to perform certain tasks, especially in
    safety-critical applications, during which classical problems can arise, such as livelock.
    In this thesis, we present the development of a local strategy that guarantees, by
    construction, the absence of livelock in synchronous systems as modelled using the
    standard CSP notation. Our method is based solely on the local analysis of the minimum
    sequences that lead the CSP model back to its initial state. Locality provides an alternative
    to circumvent the state explosion generated by the interaction of components and allows us
    to identify livelock before composition. The verification of these conditions use metadata
    that allow us to record partial results of verification, decreasing the overall analysis effort.
    In addition, our work can also be applied to check livelock freedom in models that perform
    asynchronous communications. In this case, we carry out livelock analysis in the context
    of a component model, BRIC, whose behaviour of the components is described as a CSP
    process. Finally, we introduce three case studies to evaluate the our livelock-analysis
    technique in practice: the Milner’s scheduler and two variations of the dining philosophers,
    a livelock-free version and a version in which we have deliberately included livelock. For
    each case study, we also present a comparative analysis of the performance of our strategy
    with two other techniques for livelock freedom verification, the traditional global analysis
    of FDR and the static livelock analysis of SLAP. This comparative study demonstrates that
    our strategy can be used in practice and that it might be a useful alternative for establishing
    livelock freedom in large systems.

7
  • HELIDA SALLES SANTOS
  • Uma nova classe de medidas de inclusão difusa

  • Orientador : BENJAMIN RENE CALLEJAS BEDREGAL
  • MEMBROS DA BANCA :
  • BENJAMIN RENE CALLEJAS BEDREGAL
  • EDUARDO SILVA PALMEIRA
  • MARCUS PINTO DA COSTA DA ROCHA
  • REGIVAN HUGO NUNES SANTIAGO
  • RENATA HAX SANDER REISER
  • Data: 08/12/2016

  • Mostrar Resumo
  • Este trabalho tem o objetivo de introduzir uma nova classe de medidas de inclusão difusa entre conjuntos difusos. Esta nova abordagem foi baseada nas axiomatizações mais conhecidas com a vantagem de utilizar o método de construção de tais medidas agregando os operadores de implicação. Esses operadores satisfazem algumas propriedades que têm sido amplamente investigadas na literatura, de forma que, por exemplo, a medida de inclusão proposta por Goguen torna-se um caso particular da nossa proposta de medida de inclusão. Apresentamos também diferentes métodos de construção utilizando automorfismos e provamos que com tais medidas podemos construir não só medidas de entropia, mas também distâncias, funções pênalti e medidas de similaridade entre conjuntos difusos. 


  • Mostrar Abstract
  • In this work we discuss a new class of fuzzy subsethood measures between fuzzy sets. We introduce a new definition of a fuzzy subsethood measure as an intersection of other axiomatizations by aggregating fuzzy implication operators. We provide two construction methods to obtain these fuzzy subsethood measures. With our approach we recover some of the classical measures which have been discussed in the literature, as the one given by Goguen. We also show how we can use our developments to generate fuzzy entropies, fuzzy distances, penalty functions and similarity measures. Finally we study some fuzzy indexes generated from this new class of fuzzy
    subsethood measures.

8
  • ANTONINO ALVES FEITOSA NETO
  • Metaheurísticas de Otimização Tradicionais e Híbridas Utilizadas Para Construção de Comitês de Classificação

  • Orientador : ANNE MAGALY DE PAULA CANUTO
  • MEMBROS DA BANCA :
  • ANDRÉ CARLOS PONCE DE LEON FERREIRA DE CARVALHO
  • ANNE MAGALY DE PAULA CANUTO
  • DANIEL SABINO AMORIM DE ARAUJO
  • ELIZABETH FERREIRA GOUVEA GOLDBARG
  • EULANDA MIRANDA DOS SANTOS
  • Data: 09/12/2016

  • Mostrar Resumo
  • Este trabalho aborda o uso de técnicas de otimização tradicionais e híbridas no contexto
    mono e multi-objetivo para otimização do problema de classificação de padrões em comitês
    de classificação. O problema de classificação de padrões é tratado como um problema de
    otimização procurando encontrar o subconjunto de atributos e classificadores do problema
    que minimize o erro de classificação do comitê. São realizados experimentos em diferentes
    cenários mono e multi-objetivo otimizando o erro de classificação e as medidas de boa e má
    diversidade. O objetivo é verificar se adicionar as medidas de diversidade como objetivos
    de otimização resulta em comitês mais acurados. Assim, a contribuição desse trabalho
    é determinar se as medidas de boa e má diversidade podem ser utilizadas em técnicas
    de otimização mono e multi-objetivo como objetivos de otimização para construção de
    comitês de classificadores mais acurados que aqueles construídos pelo mesmo processo,
    porém utilizando somente a acurácia de classificação como objetivo de otimização.


  • Mostrar Abstract
  • This work discusses the use of traditional and hybrid optimization techniques in the
    context mono and multi-objective for optimization of the problem of pattern classification
    in ensembles. The problem of pattern classification is treated as a problem of optimization
    looking to find the subset of attributes and classifiers of problem that minimizes the classification
    error of the ensemble. Experiments are performed in different scenarios mono and
    multi-objective optimizing classification error and the measures of good and bad diversity.
    The objective is to verify if you add the diversity measures as optimization objectives
    results in more accurate ensemble. Thus, the contribution of this study is to determine
    whether the measures of good and bad diversity can be used on optimization techniques
    mono and multi-objective as optimization objectives for construction of committees of
    more accurate classifiers that those built by the same process but using only the accuracy
    of classification as objective of optimization.

2015
Dissertações
1
  • ARTHUR EMANOEL CASSIO DA SILVA E SOUZA
  • Cloud Query Manager: Uso de  Web Semântica para evitar o problema de aprisionamento em IaaS

  • Orientador : NELIO ALESSANDRO AZEVEDO CACHO
  • MEMBROS DA BANCA :
  • NELIO ALESSANDRO AZEVEDO CACHO
  • THAIS VASCONCELOS BATISTA
  • CARLOS ALBERTO KAMIENSKI
  • Data: 28/01/2015

  • Mostrar Resumo
  • O problema de cloud lock-in em plataformas de nuvem é comumente endereçado por três estratégias: (i) uso de camada intermediária que se interpõe aos consumidores de serviços de nuvem e o provedor, (ii) uso de interfaces padronizadas para acesso a nuvem, ou ainda (iii) uso de modelos com especificações abertas. Este trabalho define uma abordagem para avaliar estas estratégias. Tal abordagem foi executada e observou-se que apesar dos avanços conseguidos por estas estratégias, nenhuma delas resolvem efetivamente o problema de cloud lock-in. Neste sentido, esse trabalho propõe o uso de Web Semântica para evitar o cloud lock-in, onde modelos em RDF são usados para especificar os recursos de uma nuvem, que são gerenciados via consultas SPARQL. Nessa direção, esse trabalho: (i) propõe utilizar RDF e SPARQL na gerencia de recurso de nuvem, (ii) apresenta o Cloud Query Manager (CQM), um servidor SPARQL que implementa a proposta, e (iii) avalia três propostas multi-cloud em relação ao CQM na utilização de três plataformas de nuvem.


  • Mostrar Abstract
  • O problema de cloud lock-in em plataformas de nuvem é comumente endereçado por três estratégias: (i) uso de camada intermediária que se interpõe aos consumidores de serviços de nuvem e o provedor, (ii) uso de interfaces padronizadas para acesso a nuvem, ou ainda (iii) uso de modelos com especificações abertas. Este trabalho define uma abordagem para avaliar estas estratégias. Tal abordagem foi executada e observou-se que apesar dos avanços conseguidos por estas estratégias, nenhuma delas resolvem efetivamente o problema de cloud lock-in. Neste sentido, esse trabalho propõe o uso de Web Semântica para evitar o cloud lock-in, onde modelos em RDF são usados para especificar os recursos de uma nuvem, que são gerenciados via consultas SPARQL. Nessa direção, esse trabalho: (i) propõe utilizar RDF e SPARQL na gerencia de recurso de nuvem, (ii) apresenta o Cloud Query Manager (CQM), um servidor SPARQL que implementa a proposta, e (iii) avalia três propostas multi-cloud em relação ao CQM na utilização de três plataformas de nuvem.

2
  • GUSTAVO NOGUEIRA ALVES
  • Cloud Stratus: Uma plataforma de middleware para desenvolvimento de aplicações em nuvem
  • Orientador : THAIS VASCONCELOS BATISTA
  • MEMBROS DA BANCA :
  • THAIS VASCONCELOS BATISTA
  • NELIO ALESSANDRO AZEVEDO CACHO
  • FREDERICO ARAUJO DA SILVA LOPES
  • CARLOS ALBERTO KAMIENSKI
  • Data: 28/01/2015

  • Mostrar Resumo
  • Computação em Nuvem é um novo paradigma computacional que possibilita o acesso de forma simples e pervasiva, via rede, a um conjunto de recursos de computação compartilhados e configuráveis. Tais recursos são oferecidos sob demanda para o usuário através de um modelo de uso em que o usuário só paga pelo uso do recurso. Com o avanço desse paradigma, um único serviço oferecido por uma plataforma de nuvem pode não ser suficiente para prover todos os requisitos das aplicações clientes, sendo necessário a  composição de serviços providos por diferentes plataformas. No entanto, as plataformas de nuvem atuais não são implementadas usando padrões comuns, cada uma possui sua própria API e ferramenta de desenvolvimento, o que dificulta a criação da composição. Para facilitar a criação da composição foi proposto o Cloud Integrator, uma plataforma de middleware que provê um ambiente que facilita o desenvolvimento e a execução de aplicações. Tais aplicações são composições de serviços providos por diferentes plataformas de nuvem e representadas através de workflows semânticos. Os mecanismos de composição e seleção escolhem os serviços de nuvem que vão compor a aplicação, considerando metadados acerca dos serviços, como QoS e preço. No entanto, o Cloud Integrator possui algumas limitações: (i) as aplicações criadas são executadas localmente; (ii) usuários não podem especificar a aplicação apenas pela suas entradas e saídas, e; (iii) usuários mais experientes não podem selecionar diretamente qual os serviços que vão executar as atividades do workflow. A fim de tratar as questões mencionadas, o objetivo deste trabalho é propor o Cloud Stratus, uma plataforma de middleware que estende o Cloud Integrator e oferece diferentes formas de se criar aplicações, possibilitando que uma aplicação possa ser especificada apenas através de suas entradas e saídas ou ainda através da seleção de todos os serviços que a compõe. A plataforma ainda possibilita a implantação da aplicação em máquinas virtuais na nuvem, de forma que vários usuários podem acessá-la através da Internet, realiza o acesso e gerenciamento de máquinas virtuais de diferentes plataformas de nuvem e fornece mecanismos para monitoramento de serviços e aferição de parâmetros de QoS.


  • Mostrar Abstract
  • Computação em Nuvem é um novo paradigma computacional que possibilita o acesso de forma simples e pervasiva, via rede, a um conjunto de recursos de computação compartilhados e configuráveis. Tais recursos são oferecidos sob demanda para o usuário através de um modelo de uso em que o usuário só paga pelo uso do recurso. Com o avanço desse paradigma, um único serviço oferecido por uma plataforma de nuvem pode não ser suficiente para prover todos os requisitos das aplicações clientes, sendo necessário a  composição de serviços providos por diferentes plataformas. No entanto, as plataformas de nuvem atuais não são implementadas usando padrões comuns, cada uma possui sua própria API e ferramenta de desenvolvimento, o que dificulta a criação da composição. Para facilitar a criação da composição foi proposto o Cloud Integrator, uma plataforma de middleware que provê um ambiente que facilita o desenvolvimento e a execução de aplicações. Tais aplicações são composições de serviços providos por diferentes plataformas de nuvem e representadas através de workflows semânticos. Os mecanismos de composição e seleção escolhem os serviços de nuvem que vão compor a aplicação, considerando metadados acerca dos serviços, como QoS e preço. No entanto, o Cloud Integrator possui algumas limitações: (i) as aplicações criadas são executadas localmente; (ii) usuários não podem especificar a aplicação apenas pela suas entradas e saídas, e; (iii) usuários mais experientes não podem selecionar diretamente qual os serviços que vão executar as atividades do workflow. A fim de tratar as questões mencionadas, o objetivo deste trabalho é propor o Cloud Stratus, uma plataforma de middleware que estende o Cloud Integrator e oferece diferentes formas de se criar aplicações, possibilitando que uma aplicação possa ser especificada apenas através de suas entradas e saídas ou ainda através da seleção de todos os serviços que a compõe. A plataforma ainda possibilita a implantação da aplicação em máquinas virtuais na nuvem, de forma que vários usuários podem acessá-la através da Internet, realiza o acesso e gerenciamento de máquinas virtuais de diferentes plataformas de nuvem e fornece mecanismos para monitoramento de serviços e aferição de parâmetros de QoS.

3
  • EDUARDO ALEXANDRE FERREIRA SILVA
  • Uma Linguagem para Descrição de Missões em Sistema-de-Sistemas

  • Orientador : THAIS VASCONCELOS BATISTA
  • MEMBROS DA BANCA :
  • THAIS VASCONCELOS BATISTA
  • JAIR CAVALCANTI LEITE
  • FLAVIO OQUENDO
  • Data: 02/02/2015

  • Mostrar Resumo
  • Sistema-de-sistemas (System-of-Systems - SoS) é um tipo emergente de sistema computacional formado por um grupo de sistemas constituintes, que são independentes e heterogêneos e se unem para compor um sistema de larga escala visando alcançar uma missão global. Cada sistema constituinte possui seus próprios objetivos, missões individuais, e colaboram para a realização da missão do SoS, chamada missão global.

    Existe uma complexidade inerente no conjunto de missões que estão envolvidas em um SoS, esse deve-se principalmente à natureza independente dos sistemas constituintes, que tendem a evoluir independentemente, potencialmente mantidos por organizações distintas, além dos conflitos de interesse que podem surgir com essa evolução. Com isso, torna-se essencial prover uma linguagem bem definida para descrição e avaliação dessas missões, relacionando-as entre si e provendo um documento comum que possa ser utilizado por todas as partes envolvidas. Essa linguagem deve ser capaz de expressar as missões individuais e globais, dando suporte a todos os relacionamentos existentes entre essas missões, além de expressar informações relacionadas a realização dessas missões.

    O objetivo desse trabalho é apresentar e avaliar uma linguagem para descrição de missões. Visando a definição dessa linguagem, esse trabalho apresenta um mapeamento sistemático acerca dos mecanismos existentes para descrição de missões em SoS, identificando os elementos-chave que compõem a descrição de uma missão nesse contexto. A partir desse mapeamento, propõe-se um modelo conceitual para missões e uma linguagem para descrição de missões. Essa linguagem independe de documentos de arquitetura e outros tipos de modelos de software, visando possibilitar a integração da linguagem de definição de missões em diferentes modelos de desenvolvimento. 


  • Mostrar Abstract
  • Sistema-de-sistemas (System-of-Systems - SoS) é um tipo emergente de sistema computacional formado por um grupo de sistemas constituintes, que são independentes e heterogêneos e se unem para compor um sistema de larga escala visando alcançar uma missão global. Cada sistema constituinte possui seus próprios objetivos, missões individuais, e colaboram para a realização da missão do SoS, chamada missão global.

    Existe uma complexidade inerente no conjunto de missões que estão envolvidas em um SoS, esse deve-se principalmente à natureza independente dos sistemas constituintes, que tendem a evoluir independentemente, potencialmente mantidos por organizações distintas, além dos conflitos de interesse que podem surgir com essa evolução. Com isso, torna-se essencial prover uma linguagem bem definida para descrição e avaliação dessas missões, relacionando-as entre si e provendo um documento comum que possa ser utilizado por todas as partes envolvidas. Essa linguagem deve ser capaz de expressar as missões individuais e globais, dando suporte a todos os relacionamentos existentes entre essas missões, além de expressar informações relacionadas a realização dessas missões.

    O objetivo desse trabalho é apresentar e avaliar uma linguagem para descrição de missões. Visando a definição dessa linguagem, esse trabalho apresenta um mapeamento sistemático acerca dos mecanismos existentes para descrição de missões em SoS, identificando os elementos-chave que compõem a descrição de uma missão nesse contexto. A partir desse mapeamento, propõe-se um modelo conceitual para missões e uma linguagem para descrição de missões. Essa linguagem independe de documentos de arquitetura e outros tipos de modelos de software, visando possibilitar a integração da linguagem de definição de missões em diferentes modelos de desenvolvimento. 

4
  • ITAMIR DE MORAIS BARROCA FILHO
  • Desenvolvimento de aplicações móveis baseadas em sistemas de informações web existentes

  • Orientador : GIBEON SOARES DE AQUINO JUNIOR
  • MEMBROS DA BANCA :
  • GIBEON SOARES DE AQUINO JUNIOR
  • THAIS VASCONCELOS BATISTA
  • ROSSANA MARIA DE CASTRO ANDRADE
  • Data: 05/02/2015

  • Mostrar Resumo
  • Considerando a era da computação móvel percebe-se que os sistemas de informação
    estão passando por um processo de metamorfose para possibilitar que seus usuários utilizem
    novas formas de acessos às informações a partir de dispositivos móveis. Isso se deve
    principalmente ao aumento da popularidade de dispositivos como smartphones e tablets.
    Impulsionado por esse novo cenário de computação, que está mudando velhos hábitos e
    criando novas maneiras da sociedade acessar informações que até então só eram acessíveis
    através de computadores tradicionais, crescem as demandas por aplicações móveis corporativas.
    Esse aumento é ocasionado pela necessidade das empresas garantirem aos seus
    clientes novas formas de interações com seus serviços. Dessa forma, esse trabalho tem o
    objetivo de apresentar um estudo referente ao desenvolvimento de aplicações móveis e
    um processo denominado Metamorphosis, que provê um conjunto de atividades organizadas
    em três fases: requisitos, projeto e implantação, para auxiliar no desenvolvimento
    de aplicações móveis corporativas baseadas em sistemas de informações web existentes.


  • Mostrar Abstract
  • Considerando a era da computação móvel percebe-se que os sistemas de informação
    estão passando por um processo de metamorfose para possibilitar que seus usuários utilizem
    novas formas de acessos às informações a partir de dispositivos móveis. Isso se deve
    principalmente ao aumento da popularidade de dispositivos como smartphones e tablets.
    Impulsionado por esse novo cenário de computação, que está mudando velhos hábitos e
    criando novas maneiras da sociedade acessar informações que até então só eram acessíveis
    através de computadores tradicionais, crescem as demandas por aplicações móveis corporativas.
    Esse aumento é ocasionado pela necessidade das empresas garantirem aos seus
    clientes novas formas de interações com seus serviços. Dessa forma, esse trabalho tem o
    objetivo de apresentar um estudo referente ao desenvolvimento de aplicações móveis e
    um processo denominado Metamorphosis, que provê um conjunto de atividades organizadas
    em três fases: requisitos, projeto e implantação, para auxiliar no desenvolvimento
    de aplicações móveis corporativas baseadas em sistemas de informações web existentes.

5
  • PRISCILLA SUENE DE SANTANA NOGUEIRA SILVERIO
  • Utilizando comitês de classificadores para predição de rendimento escolar

  • Orientador : ANNE MAGALY DE PAULA CANUTO
  • MEMBROS DA BANCA :
  • ADJA FERREIRA DE ANDRADE
  • ANDRE MAURICIO CUNHA CAMPOS
  • ANNE MAGALY DE PAULA CANUTO
  • ARAKEN DE MEDEIROS SANTOS
  • Data: 06/02/2015

  • Mostrar Resumo
  • A mineração de dados educacionais (MDE) é um domínio de aplicação na área de Inteligência artificial que tem sido bastante explorado na atualidade.Os avanços tecnológicos e em especial,a crescente utilização dos ambientes virtuais de aprendizagem têm permitido a geração de consideráveis quantidades de dados a serem investigados. Dentre as atividades a serem tratadas nesse contexto está a predição de rendimento escolar de estudantes, a qual pode ser realizadaatravés do emprego de técnicas de aprendizado de máquina. Tais técnicas podem ser utilizadas para classificação dos estudantes em rótulos previamente definidos.Uma das estratégiaspara aplicação dessas técnicas consisteem combina-lasnoprojeto de sistemas multiclassificadores, cuja eficiência pode ser comprovada por resultados já alcançados em outros trabalhos realizados em diversas áreas, tais como: medicina, comércio e biometria.Os dados utilizados nos experimentos foram obtidos por meio das interações entre estudantes em um dos mais utilizados ambientes virtuais de aprendizado denominado moodle. Diante desse breve panorama, o presente trabalho apresenta resultados de diversos experimentos que incluem o emprego de sistemas multiclassifcadores específicos,denominados comitês de classificadores, desse modo visando alcançar melhores resultados na predição de rendimento escolar, ou seja, na busca por maiores percentuais de acurácia na classificação dos estudantes;apresentando uma significativa exploração de dados educacionais e análises relevantes advindas desses experimentos.


  • Mostrar Abstract
  • A mineração de dados educacionais (MDE) é um domínio de aplicação na área de Inteligência artificial que tem sido bastante explorado na atualidade.Os avanços tecnológicos e em especial,a crescente utilização dos ambientes virtuais de aprendizagem têm permitido a geração de consideráveis quantidades de dados a serem investigados. Dentre as atividades a serem tratadas nesse contexto está a predição de rendimento escolar de estudantes, a qual pode ser realizadaatravés do emprego de técnicas de aprendizado de máquina. Tais técnicas podem ser utilizadas para classificação dos estudantes em rótulos previamente definidos.Uma das estratégiaspara aplicação dessas técnicas consisteem combina-lasnoprojeto de sistemas multiclassificadores, cuja eficiência pode ser comprovada por resultados já alcançados em outros trabalhos realizados em diversas áreas, tais como: medicina, comércio e biometria.Os dados utilizados nos experimentos foram obtidos por meio das interações entre estudantes em um dos mais utilizados ambientes virtuais de aprendizado denominado moodle. Diante desse breve panorama, o presente trabalho apresenta resultados de diversos experimentos que incluem o emprego de sistemas multiclassifcadores específicos,denominados comitês de classificadores, desse modo visando alcançar melhores resultados na predição de rendimento escolar, ou seja, na busca por maiores percentuais de acurácia na classificação dos estudantes;apresentando uma significativa exploração de dados educacionais e análises relevantes advindas desses experimentos.

6
  • MÁRCIO ALVES DE MACÊDO
  • Uma máquina de reducao de grafos extensivel para a implementacao de fluxos de trabalho

  • Orientador : MARTIN ALEJANDRO MUSICANTE
  • MEMBROS DA BANCA :
  • MARTIN ALEJANDRO MUSICANTE
  • UMBERTO SOUZA DA COSTA
  • ALBERTO PARDO
  • GENOVEVA VARGAS SOLAR
  • Data: 26/02/2015

  • Mostrar Resumo
  • Máquinas de redução de grafos, utilizadas na implementação de
    linguagens de programação. Elas permitem executar programas mediant a
    transformação de grafos, através da aplicação sucessiva de regras de
    redução.
    A composição de serviços web permite a criação de novos serviços web a
    partir de serviços web já existentes. Linguagens que permitem criar
    composições de serviços web com base em fluxos de trabalho, como BPEL
    e PEWS, são utilizadas com frequência. No entanto tais linguagens
    permitem criar composições utilizando apenas serviços web, o que
    dificulta a criação de composições mais elaboradas. Quando operações
    que não fazem parte do domínio dos serviços web precisam ser
    executadas nas regras de negócio de uma empresa, parte do trabalho é
    realizado de forma ad-hoc. Permitir que diferentes operações possam
    fazer parte de um mesmo fluxo de trabalho, auxilia a criação de fluxos
    de trabalho mais elaborados e automatizados. Esta dissertação pretende
    definir uma linguagem para a criação de composições com operações de
    serviços web, tarefas de big data ou operações definidas pelo usuário;
    definir uma máquina de redução de grafos extensível que permita a
    avaliação dos grafos gerados a partir de programas definidos na
    linguagem proposta e implementar esta máquina como prova de conceito.
    Espera-se que com esta proposta desenvolvedores que já conheçam
    linguagens como BPEL possam implementar composições com diferentes
    tipos de operações, utilizando o conhecimento prévio, de forma a
    aumentar a eficiencia no desenvolvimento de aplicações distribuídas.


  • Mostrar Abstract
  • Máquinas de redução de grafos, utilizadas na implementação de
    linguagens de programação. Elas permitem executar programas mediant a
    transformação de grafos, através da aplicação sucessiva de regras de
    redução.
    A composição de serviços web permite a criação de novos serviços web a
    partir de serviços web já existentes. Linguagens que permitem criar
    composições de serviços web com base em fluxos de trabalho, como BPEL
    e PEWS, são utilizadas com frequência. No entanto tais linguagens
    permitem criar composições utilizando apenas serviços web, o que
    dificulta a criação de composições mais elaboradas. Quando operações
    que não fazem parte do domínio dos serviços web precisam ser
    executadas nas regras de negócio de uma empresa, parte do trabalho é
    realizado de forma ad-hoc. Permitir que diferentes operações possam
    fazer parte de um mesmo fluxo de trabalho, auxilia a criação de fluxos
    de trabalho mais elaborados e automatizados. Esta dissertação pretende
    definir uma linguagem para a criação de composições com operações de
    serviços web, tarefas de big data ou operações definidas pelo usuário;
    definir uma máquina de redução de grafos extensível que permita a
    avaliação dos grafos gerados a partir de programas definidos na
    linguagem proposta e implementar esta máquina como prova de conceito.
    Espera-se que com esta proposta desenvolvedores que já conheçam
    linguagens como BPEL possam implementar composições com diferentes
    tipos de operações, utilizando o conhecimento prévio, de forma a
    aumentar a eficiencia no desenvolvimento de aplicações distribuídas.

7
  • JOSÉ ALEX MEDEIROS DE LIMA
  • Uma Abordagem para Avaliação e Tratamento de Exceções Propagadas no uso de Serviços Web em .NET

  • Orientador : NELIO ALESSANDRO AZEVEDO CACHO
  • MEMBROS DA BANCA :
  • FABIANO CUTIGI FERRARI
  • NELIO ALESSANDRO AZEVEDO CACHO
  • ROBERTA DE SOUZA COELHO
  • Data: 27/02/2015

  • Mostrar Resumo
  • Alta confiabilidade, disponibilidade e tolerância à falha ainda são problemas em aberto em arquiteturas orientadas a serviços (SOA). A possibilidade de geração de aplicações de software, integrando serviços de domínios heterogêneos, de uma forma mais confiável, faz valer a pena enfrentar os desafios inerentes a esse paradigma. Para garantir a qualidade na composição desses serviços, algumas pesquisas se esforçam para propor a adoção de técnicas de verificação para identificar e corrigir os  erros. Nesse contexto, manipulação de exceção é um poderoso mecanismo para incrementar a qualidade em SOA. Diversos trabalhos de pesquisa são concentrados em mecanismos para propagação de exceção em serviços web, implementados em muitas linguagens e frameworks. No entanto, para a extensão do nosso conhecimento, não são encontrados trabalhos que avaliam esses mecanismos em SOA no que diz respeito ao framework .NET. A principal contribuição desse trabalho é avaliar e propor mecanismos de propagação de exceção em SOA para aplicações desenvolvidas com o framework .NET. Nessa direção, esse trabalho: (i) estende um estudo anterior, mostrando a necessidade de se propor uma solução para a propagação de exceção em SOA para aplicações desenvolvidas em .NET, e (ii) apresenta uma solução, tomando como base um modelo obtido a partir dos resultados encontrados em (iii)  e implementa e avalia a solução proposta em duas aplicações reais.


  • Mostrar Abstract
  • Alta confiabilidade, disponibilidade e tolerância à falha ainda são problemas em aberto em arquiteturas orientadas a serviços (SOA). A possibilidade de geração de aplicações de software, integrando serviços de domínios heterogêneos, de uma forma mais confiável, faz valer a pena enfrentar os desafios inerentes a esse paradigma. Para garantir a qualidade na composição desses serviços, algumas pesquisas se esforçam para propor a adoção de técnicas de verificação para identificar e corrigir os  erros. Nesse contexto, manipulação de exceção é um poderoso mecanismo para incrementar a qualidade em SOA. Diversos trabalhos de pesquisa são concentrados em mecanismos para propagação de exceção em serviços web, implementados em muitas linguagens e frameworks. No entanto, para a extensão do nosso conhecimento, não são encontrados trabalhos que avaliam esses mecanismos em SOA no que diz respeito ao framework .NET. A principal contribuição desse trabalho é avaliar e propor mecanismos de propagação de exceção em SOA para aplicações desenvolvidas com o framework .NET. Nessa direção, esse trabalho: (i) estende um estudo anterior, mostrando a necessidade de se propor uma solução para a propagação de exceção em SOA para aplicações desenvolvidas em .NET, e (ii) apresenta uma solução, tomando como base um modelo obtido a partir dos resultados encontrados em (iii)  e implementa e avalia a solução proposta em duas aplicações reais.

8
  • JOSÉ GOMES LOPES FILHO
  • Comitês de Classificadores Neurais - Estratégias para Construção e Emprego

  • Orientador : MARCO CESAR GOLDBARG
  • MEMBROS DA BANCA :
  • MARCO CESAR GOLDBARG
  • ELIZABETH FERREIRA GOUVEA GOLDBARG
  • ANTONIO CARLOS GAY THOME
  • JOSEFINO CABRAL MELO LIMA
  • Data: 27/02/2015

  • Mostrar Resumo
  • O emprego de classificadores construídos não de forma monolítica, mas a partir da integração de múltiplos agentes (ou classificadores) combinados de diferentes formas em face da estratégia de solução adotada para o problema, vem sendo estudado e divulgado na literatura há mais de 30 anos e tem sido amplamente utilizado para resolver os mais variados problemas uma vez que, em geral, proporciona melhor desempenho que o apresentado individualmente pelos agentes usados como base para formá-los. Comitê (ensemble) é um tipo de SMC – Sistema de Múltiplos Classificadores, que se caracteriza por ser um paradigma de aprendizado no qual uma coleção finita de alternativas globais para solução de um problema é avaliada em grupo com vistas a estabelecer, a partir delas, uma solução única para o problema. Para que isto ocorra, porém, é necessário que os agentes selecionados para compor o comitê sejam ao mesmo tempo acurados (eficazes) e diversos entre si, o que é conhecido na literatura como o dilema da diversidade versus acurácia. Diversas métricas para calcular a diversidade são encontradas na literatura, a dificuldade, no entanto, ainda reside na forma de medi-la não entre pares de agentes, mas do conjunto como um todo e avaliar a relevância relativa desta diversidade frente à acurácia destes mesmos agentes. A construção de um comitê envolve diversos parâmetros com vistas a melhor determinar seu tamanho e selecionar os agentes mais adequados a compô-lo, o que caracteriza um problema de otimização multiobjetivo, onde o espaço de busca cresce exponencialmente com o número de agentes candidatos. Apesar da intensa investigação ocorrida nestas ultimas décadas, ainda não há um consenso sobre a utilização desses parâmetros nem sobre o método de seleção mais apropriado para garantir uma boa composição. Sendo assim, motivado pelas limitações ainda existentes, esta pesquisa tem por objetivo principal realizar um estudo experimental com o intuito de levantar estratégias que possibilitem, através do cálculo e análise das medidas de acurácia, margem e diversidade sobre o conjunto de treino do comitê, identificar a priori a composição mais provável proporcionar e manter, de forma estável, os melhores desempenhos sobre diferentes conjuntos para testes da capacidade de generalização.


  • Mostrar Abstract
  • O emprego de classificadores construídos não de forma monolítica, mas a partir da integração de múltiplos agentes (ou classificadores) combinados de diferentes formas em face da estratégia de solução adotada para o problema, vem sendo estudado e divulgado na literatura há mais de 30 anos e tem sido amplamente utilizado para resolver os mais variados problemas uma vez que, em geral, proporciona melhor desempenho que o apresentado individualmente pelos agentes usados como base para formá-los. Comitê (ensemble) é um tipo de SMC – Sistema de Múltiplos Classificadores, que se caracteriza por ser um paradigma de aprendizado no qual uma coleção finita de alternativas globais para solução de um problema é avaliada em grupo com vistas a estabelecer, a partir delas, uma solução única para o problema. Para que isto ocorra, porém, é necessário que os agentes selecionados para compor o comitê sejam ao mesmo tempo acurados (eficazes) e diversos entre si, o que é conhecido na literatura como o dilema da diversidade versus acurácia. Diversas métricas para calcular a diversidade são encontradas na literatura, a dificuldade, no entanto, ainda reside na forma de medi-la não entre pares de agentes, mas do conjunto como um todo e avaliar a relevância relativa desta diversidade frente à acurácia destes mesmos agentes. A construção de um comitê envolve diversos parâmetros com vistas a melhor determinar seu tamanho e selecionar os agentes mais adequados a compô-lo, o que caracteriza um problema de otimização multiobjetivo, onde o espaço de busca cresce exponencialmente com o número de agentes candidatos. Apesar da intensa investigação ocorrida nestas ultimas décadas, ainda não há um consenso sobre a utilização desses parâmetros nem sobre o método de seleção mais apropriado para garantir uma boa composição. Sendo assim, motivado pelas limitações ainda existentes, esta pesquisa tem por objetivo principal realizar um estudo experimental com o intuito de levantar estratégias que possibilitem, através do cálculo e análise das medidas de acurácia, margem e diversidade sobre o conjunto de treino do comitê, identificar a priori a composição mais provável proporcionar e manter, de forma estável, os melhores desempenhos sobre diferentes conjuntos para testes da capacidade de generalização.

9
  • PAULO EWERTON GOMES FRAGOSO
  • Contribuições para o Processo de Verificação de Satisfatibilidade Módulo Teoria em Event-B.

  • Orientador : DAVID BORIS PAUL DEHARBE
  • MEMBROS DA BANCA :
  • BRUNO EMERSON GURGEL GOMES
  • DAVID BORIS PAUL DEHARBE
  • MARCEL VINICIUS MEDEIROS OLIVEIRA
  • RICHARD WALTER ALAIN BONICHON
  • Data: 09/03/2015

  • Mostrar Resumo
  • Event-B é um método formal de modelagem e verificação de sistemas de transição discre- tos. O desenvolvimento com Event-B produz obrigações de prova que devem ser verifica- das, isto é, ter sua validade verificada para manter a consistência dos modelos produzidos, bem como certificá-los em relação aos requisitos do sistema modelado. Solucionadores de Satisfatibilidade Módulo Teoria são provadores automáticos de teoremas usados para ve- rificar a satisfatibilidade de fórmulas lógicas considerando uma teoria (ou combinação de teorias) subjacente. Solucionadores SMT não apenas lidam com fórmulas extensas em lógica de primeira ordem, como também podem gerar modelos e provas, bem como identi- ficar núcleo insatisfatível. O suporte ferramental para Event-B é provido pela Plataforma Rodin: um IDE extensível, baseado no framework Eclipse, que combina funcionalidades de modelagem e prova. Um plug-in SMT para Rodin tem sido desenvolvido com o objetivo de integrar à plataforma técnicas alternativas e eficientes de verificação. Este trabalho propõe uma série de complementos ao plug-in para solucionadores SMT em Rodin, a sa- ber, melhorias de usabilidade que podem impactar positivamente a produtividade quando obrigações de prova são reportadas como inválidas (isto é, satisfatíveis ou desconhecidas) pelo plug-in. Adicionalmente, algumas modificações na forma como o plug-in lida com resultados válidos por exemplo, ao manipular provas e núcleos insatisfatíveis para gerar novas regras de prova são também consideradas. 


  • Mostrar Abstract
  • Event-B é um método formal de modelagem e verificação de sistemas de transição discre- tos. O desenvolvimento com Event-B produz obrigações de prova que devem ser verifica- das, isto é, ter sua validade verificada para manter a consistência dos modelos produzidos, bem como certificá-los em relação aos requisitos do sistema modelado. Solucionadores de Satisfatibilidade Módulo Teoria são provadores automáticos de teoremas usados para ve- rificar a satisfatibilidade de fórmulas lógicas considerando uma teoria (ou combinação de teorias) subjacente. Solucionadores SMT não apenas lidam com fórmulas extensas em lógica de primeira ordem, como também podem gerar modelos e provas, bem como identi- ficar núcleo insatisfatível. O suporte ferramental para Event-B é provido pela Plataforma Rodin: um IDE extensível, baseado no framework Eclipse, que combina funcionalidades de modelagem e prova. Um plug-in SMT para Rodin tem sido desenvolvido com o objetivo de integrar à plataforma técnicas alternativas e eficientes de verificação. Este trabalho propõe uma série de complementos ao plug-in para solucionadores SMT em Rodin, a sa- ber, melhorias de usabilidade que podem impactar positivamente a produtividade quando obrigações de prova são reportadas como inválidas (isto é, satisfatíveis ou desconhecidas) pelo plug-in. Adicionalmente, algumas modificações na forma como o plug-in lida com resultados válidos por exemplo, ao manipular provas e núcleos insatisfatíveis para gerar novas regras de prova são também consideradas. 

10
  • ELISELMA VIEIRA DOS SANTOS
  • Mecanismo de tolerância a falhas através de escalonamento para uma arquitetura reconfigurável de grão grosso

  • Orientador : MONICA MAGALHAES PEREIRA
  • MEMBROS DA BANCA :
  • BRUNO MOTTA DE CARVALHO
  • IVAN SARAIVA SILVA
  • MONICA MAGALHAES PEREIRA
  • Data: 16/03/2015

  • Mostrar Resumo
  • A evolução contínua da tecnologia de circuitos integrados tem permitido integrar milhares de transistores em uma única pastilha de silício. Devido ao dimensionamento desta tecnologia, a redução do diâmetro do fio e do transistor os tornaram mais frágeis e suscetíveis a quebras, tornando o circuito mais passível a falhas permanentes tanto durante o processo de fabricação quanto durante seu tempo de vida útil. As arquiteturas reconfiguráveis de grão grosso, também chamadas de CGRAs (Coarse Grained Reconfigurable Architectures), têm sido utilizadas como uma alternativa às arquiteturas tradicionais para tentar tolerar essas falhas, devido à sua intrínseca redundância de hardware e ao alto desempenho obtido por essas arquiteturas. Essa dissertação propõe um mecanismo de tolerância a falhas numa CGRA com o objetivo de aumentar a tolerância da arquitetura mesmo considerando uma alta taxa de falhas. O mecanismo proposto foi adicionado ao escalonador da CGRA, que consiste no mecanismo responsável pelo mapeamento das instruções na arquitetura. O mapeamento das instruções ocorre em tempo de execução, traduzindo o código binário sem a necessidade de recompilação. Além disso, para permitir a aceleração da aplicação, o mapeamento é realizado através de um algoritmo guloso de modulo scheduling, que consiste em uma técnica de software pipeline para aceleração de laços. Os resultados obtidos a partir de simulações de injeção de falhas e de execução do escalonador demonstram que, mesmo com o mecanismo de tolerância a falhas proposto, o tempo de mapeamento das instruções se mantém na ordem de microssegundos. Esse resultado permite que o mapeamento das instruções continue sendo realizado em tempo de execução. Além disso, também foi realizado um estudo de taxa de mapeamento do escalonador. Os resultados demonstram que, mesmo com taxas acima de 50% de falhas em unidades funcionas e componentes de interconexão, o escalonador conseguiu mapear instruções na arquitetura em parte das aplicações testadas.  


  • Mostrar Abstract
  • A evolução contínua da tecnologia de circuitos integrados tem permitido integrar milhares de transistores em uma única pastilha de silício. Devido ao dimensionamento desta tecnologia, a redução do diâmetro do fio e do transistor os tornaram mais frágeis e suscetíveis a quebras, tornando o circuito mais passível a falhas permanentes tanto durante o processo de fabricação quanto durante seu tempo de vida útil. As arquiteturas reconfiguráveis de grão grosso, também chamadas de CGRAs (Coarse Grained Reconfigurable Architectures), têm sido utilizadas como uma alternativa às arquiteturas tradicionais para tentar tolerar essas falhas, devido à sua intrínseca redundância de hardware e ao alto desempenho obtido por essas arquiteturas. Essa dissertação propõe um mecanismo de tolerância a falhas numa CGRA com o objetivo de aumentar a tolerância da arquitetura mesmo considerando uma alta taxa de falhas. O mecanismo proposto foi adicionado ao escalonador da CGRA, que consiste no mecanismo responsável pelo mapeamento das instruções na arquitetura. O mapeamento das instruções ocorre em tempo de execução, traduzindo o código binário sem a necessidade de recompilação. Além disso, para permitir a aceleração da aplicação, o mapeamento é realizado através de um algoritmo guloso de modulo scheduling, que consiste em uma técnica de software pipeline para aceleração de laços. Os resultados obtidos a partir de simulações de injeção de falhas e de execução do escalonador demonstram que, mesmo com o mecanismo de tolerância a falhas proposto, o tempo de mapeamento das instruções se mantém na ordem de microssegundos. Esse resultado permite que o mapeamento das instruções continue sendo realizado em tempo de execução. Além disso, também foi realizado um estudo de taxa de mapeamento do escalonador. Os resultados demonstram que, mesmo com taxas acima de 50% de falhas em unidades funcionas e componentes de interconexão, o escalonador conseguiu mapear instruções na arquitetura em parte das aplicações testadas.  

11
  • EMMANUELLY MONTEIRO SILVA DE SOUSA LIMA
  • Números Complexos Graduados e Avaliação de Desempenho de Classificadores

  • Orientador : REGIVAN HUGO NUNES SANTIAGO
  • MEMBROS DA BANCA :
  • REGIVAN HUGO NUNES SANTIAGO
  • ANNE MAGALY DE PAULA CANUTO
  • BENJAMIN RENE CALLEJAS BEDREGAL
  • FABIANA TRISTAO DE SANTANA
  • GRAÇALIZ PEREIRA DIMURO
  • Data: 26/05/2015

  • Mostrar Resumo
  • Este trabalho tem como objetivo introduzir o conceito de números complexos graduados, partindo da definição existente de nÚmeros graduados, mostrar que a forma algÉbrica e polar, bem como algumas propriedades álgÉbricas de números complexos graduados podem ser extendidas do caso crisp. É demostrado como os complexos graduados podem recuperar a noção de números fuzzy e números complexos fuzzy. Por fim, conclui-se o trabalho aplicando os números complexos graduados na avaliação de desempenho de classi ficadores e os resultados obtidos com esta aplicação são analisados.


  • Mostrar Abstract
  • Este trabalho tem como objetivo introduzir o conceito de números complexos graduados, partindo da definição existente de nÚmeros graduados, mostrar que a forma algÉbrica e polar, bem como algumas propriedades álgÉbricas de números complexos graduados podem ser extendidas do caso crisp. É demostrado como os complexos graduados podem recuperar a noção de números fuzzy e números complexos fuzzy. Por fim, conclui-se o trabalho aplicando os números complexos graduados na avaliação de desempenho de classi ficadores e os resultados obtidos com esta aplicação são analisados.

12
  • CICERO ALVES DA SILVA
  • Uma plataforma extensível para a transformação de fluxo de dados heterogêneos em cidades inteligentes

  • Orientador : GIBEON SOARES DE AQUINO JUNIOR
  • MEMBROS DA BANCA :
  • GIBEON SOARES DE AQUINO JUNIOR
  • KIEV SANTOS DA GAMA
  • UIRA KULESZA
  • Data: 07/08/2015

  • Mostrar Resumo
  • O ambiente urbano possui uma grande quantidade de dispositivos de tecnologias variadas,
    o que torna difícil a integração dos dados originados nos mesmos devido sua heterogeneidade.
    Porém, é importante que esses dados sejam gerenciados de maneira integrada
    possibilitando a troca de informações entre os domínios existentes e auxiliando na tomada
    de decisão. Ademais, não há como prever a forma que esses dados precisarão ser
    transformados visto que cada aplicação pode necessitar que os mesmos sejam disponibilizados
    obedecendo processamentos especícos. Assim, este trabalho descreve o projeto e
    implementação de uma plataforma cujo objetivo é a integração, transformação e disponibiliza
    ção de uxos de dados provenientes de fontes heterogêneas no âmbito de cidades.
    Além disso, ela dene um uxo de transformação extensível facilitando a criação de novos
    processamentos para um dado existente e a inclusão de um novo tipo de dado, o que
    permite a adequação dos passos denidos para que eles sejam implementados conforme
    as características e restrições de cada tipo integrado. Por m, foi realizado um estudo de
    caso que utilizou o cenário de um estacionamento e avaliou alguns aspectos importantes
    relacionados à implementação da plataforma.


  • Mostrar Abstract
  • O ambiente urbano possui uma grande quantidade de dispositivos de tecnologias variadas,
    o que torna difícil a integração dos dados originados nos mesmos devido sua heterogeneidade.
    Porém, é importante que esses dados sejam gerenciados de maneira integrada
    possibilitando a troca de informações entre os domínios existentes e auxiliando na tomada
    de decisão. Ademais, não há como prever a forma que esses dados precisarão ser
    transformados visto que cada aplicação pode necessitar que os mesmos sejam disponibilizados
    obedecendo processamentos especícos. Assim, este trabalho descreve o projeto e
    implementação de uma plataforma cujo objetivo é a integração, transformação e disponibiliza
    ção de uxos de dados provenientes de fontes heterogêneas no âmbito de cidades.
    Além disso, ela dene um uxo de transformação extensível facilitando a criação de novos
    processamentos para um dado existente e a inclusão de um novo tipo de dado, o que
    permite a adequação dos passos denidos para que eles sejam implementados conforme
    as características e restrições de cada tipo integrado. Por m, foi realizado um estudo de
    caso que utilizou o cenário de um estacionamento e avaliou alguns aspectos importantes
    relacionados à implementação da plataforma.

13
  • JOÃO BATISTA DE SOUZA NETO
  • Um estudo empírico sobre geração de testes com BETA: Avaliação e aperfeiçoamento

  • Orientador : ANAMARIA MARTINS MOREIRA
  • MEMBROS DA BANCA :
  • ANAMARIA MARTINS MOREIRA
  • DAVID BORIS PAUL DEHARBE
  • ROHIT GHEYI
  • Data: 07/08/2015

  • Mostrar Resumo
  • A demanda de sistemas seguros e robustos fez com que crescesse a preocupação em desenvolver software de qualidade. Teste de Software e Métodos Formais são duas abordagens que possuem essa finalidade. Neste contexto, vários esforços vem sendo feitos para unir essas duas abordagens, que podem se complementar e trazer mais qualidade para o software. Em um desses esforços, foi desenvolvida a abordagem e ferramenta BETA (B Based Testing Approach). BETA gera testes de unidade a partir de especificações formais escritas na notação do Método B. O presente trabalho tem o objetivo de contribuir com a evolução e o aperfeiçoamento da abordagem e ferramenta BETA. Em uma primeira linha de ação, este trabalho propôs estratégias de oráculos de teste para a abordagem e desenvolveu um gerador de scripts de teste para a ferramenta. Com isso, este trabalho trouxe mais flexibilidade e automação para as últimas etapas de BETA. Em uma segunda linha de ação, este trabalho realizou um estudo empírico para avaliar a abordagem e ferramenta. Dessa forma, BETA foi aplicada em dois estudos de caso que possuíam diferentes objetivos e complexidades. Em ambos os estudos de caso, os resultados de BETA foram avaliados quantitativamente e qualitativamente. Com esse estudo, este trabalho conseguiu identificar qualidades e limitações de BETA e, com isso, estabelecer uma base para propor melhorias para a abordagem e ferramenta.


  • Mostrar Abstract
  • A demanda de sistemas seguros e robustos fez com que crescesse a preocupação em desenvolver software de qualidade. Teste de Software e Métodos Formais são duas abordagens que possuem essa finalidade. Neste contexto, vários esforços vem sendo feitos para unir essas duas abordagens, que podem se complementar e trazer mais qualidade para o software. Em um desses esforços, foi desenvolvida a abordagem e ferramenta BETA (B Based Testing Approach). BETA gera testes de unidade a partir de especificações formais escritas na notação do Método B. O presente trabalho tem o objetivo de contribuir com a evolução e o aperfeiçoamento da abordagem e ferramenta BETA. Em uma primeira linha de ação, este trabalho propôs estratégias de oráculos de teste para a abordagem e desenvolveu um gerador de scripts de teste para a ferramenta. Com isso, este trabalho trouxe mais flexibilidade e automação para as últimas etapas de BETA. Em uma segunda linha de ação, este trabalho realizou um estudo empírico para avaliar a abordagem e ferramenta. Dessa forma, BETA foi aplicada em dois estudos de caso que possuíam diferentes objetivos e complexidades. Em ambos os estudos de caso, os resultados de BETA foram avaliados quantitativamente e qualitativamente. Com esse estudo, este trabalho conseguiu identificar qualidades e limitações de BETA e, com isso, estabelecer uma base para propor melhorias para a abordagem e ferramenta.

14
  • JADSON JOSE DOS SANTOS
  • Avaliação Sistemática de uma Abordagem para Integração de Funcionalidades em Sistemas Web Clonados

  • Orientador : UIRA KULESZA
  • MEMBROS DA BANCA :
  • UIRA KULESZA
  • EDUARDO HENRIQUE DA SILVA ARANHA
  • GLEYDSON DE AZEVEDO FERREIRA LIMA
  • LEOPOLDO MOTTA TEIXEIRA
  • Data: 13/08/2015

  • Mostrar Resumo
  • A engenharia de linhas de produto de software traz vantagens quando comparado ao desenvolvimento tradicional de sistemas no que diz respeito a customização em massa dos seus componentes, reduzindo o custo e aumentando a qualidade de produção de uma família de sistemas. Contudo, em determinados cenários, a manutenção de cópias separadas – clones – de um sistema tem sido explorado por ser uma abordagem mais simples e fácil de gerenciar.

    Esta dissertação de mestrado busca avaliar qualitativamente uma abordagem proposta para auxiliar a reconciliação de funcionalidades entre sistemas web clonados. A  abordagem analisada é baseada na mineração de informações sobre evoluções dos sistemas e a organizações dessas informações de forma estruturada, além de uma análise de determinados tipos de conflitos que tem por finalidade indicar possíveis problemas na integração de funcionalidades entre versões clonadas de um mesmo sistema, não indicados por ferramentas tradicionais de controle de versão.

    O estudo empírico conduzido nesta dissertação envolveu uma avaliação qualitativa dos conflitos gerados pela abordagem. Os resultados do estudo mostraram a viabilidade de utilização da abordagem para resolução de diferentes tipos de conflitos quando integrando funcionalidades desenvolvidas de forma independente em sistemas web clonados.


  • Mostrar Abstract
  • A engenharia de linhas de produto de software traz vantagens quando comparado ao desenvolvimento tradicional de sistemas no que diz respeito a customização em massa dos seus componentes, reduzindo o custo e aumentando a qualidade de produção de uma família de sistemas. Contudo, em determinados cenários, a manutenção de cópias separadas – clones – de um sistema tem sido explorado por ser uma abordagem mais simples e fácil de gerenciar.

    Esta dissertação de mestrado busca avaliar qualitativamente uma abordagem proposta para auxiliar a reconciliação de funcionalidades entre sistemas web clonados. A  abordagem analisada é baseada na mineração de informações sobre evoluções dos sistemas e a organizações dessas informações de forma estruturada, além de uma análise de determinados tipos de conflitos que tem por finalidade indicar possíveis problemas na integração de funcionalidades entre versões clonadas de um mesmo sistema, não indicados por ferramentas tradicionais de controle de versão.

    O estudo empírico conduzido nesta dissertação envolveu uma avaliação qualitativa dos conflitos gerados pela abordagem. Os resultados do estudo mostraram a viabilidade de utilização da abordagem para resolução de diferentes tipos de conflitos quando integrando funcionalidades desenvolvidas de forma independente em sistemas web clonados.

15
  • HADLEY MAGNO DA COSTA SIQUEIRA
  • Proposta de implementação de um processador multithreading com características de previsibilidade.

  • Orientador : MARCIO EDUARDO KREUTZ
  • MEMBROS DA BANCA :
  • ALISSON VASCONCELOS DE BRITO
  • MARCIO EDUARDO KREUTZ
  • MONICA MAGALHAES PEREIRA
  • Data: 18/08/2015

  • Mostrar Resumo

  • O projeto de sistemas embarcados de tempo real requer um controle preciso da passagem de tempo na computação realizada pelos módulos e na comunicação entre os mesmos. Geralmente, esses sistemas são constituídos de vários módulos, cada um projetado para uma tarefa específica e com comunicação restrita com os demais módulos a fim de se obter a temporização necessária. Essa estratégia, chamada de arquitetura federada, já está se tornando inviável em frente as demandas atuais de custo, desempenho e qualidade exigidas dos sistema embarcados. Para atacar esse problema, atualmente se propõe o uso de arquiteturas integradas, que consistem em um ou poucos circuitos realizando várias tarefas em paralelo de forma mais eficiente e com redução de custos. Entretanto, é preciso garantir que a arquitetura integrada possua componibilidade temporal, ou seja, a capacidade de projetar cada tarefa temporalmente isolada das demais a fim de manter as características individuais de cada tarefa. As “Precision Timed Machines” são uma abordagem de arquitetura integrada que advoca o uso de processadores “multithreaded” para garantir componibilidade temporal. Dessa forma, o presente trabalho apresenta a implementação de uma “Precision Timed Machine” chamada Hivek-RT. Este processador, que é um VLIW com suporte à “Simultaneous Multithreading”, é capaz de executar eficientemente tarefas de tempo real quando comparado à um processador tradicional. Além da execução eficiente, a arquitetura facilita a implementação, do ponto de vista de programação, de tarefas de tempo real.


  • Mostrar Abstract

  • O projeto de sistemas embarcados de tempo real requer um controle preciso da passagem de tempo na computação realizada pelos módulos e na comunicação entre os mesmos. Geralmente, esses sistemas são constituídos de vários módulos, cada um projetado para uma tarefa específica e com comunicação restrita com os demais módulos a fim de se obter a temporização necessária. Essa estratégia, chamada de arquitetura federada, já está se tornando inviável em frente as demandas atuais de custo, desempenho e qualidade exigidas dos sistema embarcados. Para atacar esse problema, atualmente se propõe o uso de arquiteturas integradas, que consistem em um ou poucos circuitos realizando várias tarefas em paralelo de forma mais eficiente e com redução de custos. Entretanto, é preciso garantir que a arquitetura integrada possua componibilidade temporal, ou seja, a capacidade de projetar cada tarefa temporalmente isolada das demais a fim de manter as características individuais de cada tarefa. As “Precision Timed Machines” são uma abordagem de arquitetura integrada que advoca o uso de processadores “multithreaded” para garantir componibilidade temporal. Dessa forma, o presente trabalho apresenta a implementação de uma “Precision Timed Machine” chamada Hivek-RT. Este processador, que é um VLIW com suporte à “Simultaneous Multithreading”, é capaz de executar eficientemente tarefas de tempo real quando comparado à um processador tradicional. Além da execução eficiente, a arquitetura facilita a implementação, do ponto de vista de programação, de tarefas de tempo real.

16
  • GUSTAVO SIZÍLIO NERY
  • UM AMBIENTE DE SUPORTE A EXPERIMENTOS CONTROLADOS ESPECIFICADOS EM EXPDSL

  • Orientador : EDUARDO HENRIQUE DA SILVA ARANHA
  • MEMBROS DA BANCA :
  • EDUARDO HENRIQUE DA SILVA ARANHA
  • FERNANDO MARQUES FIGUEIRA FILHO
  • RODRIGO BONIFACIO DE ALMEIDA
  • UIRA KULESZA
  • Data: 19/08/2015

  • Mostrar Resumo
  • Um estudo empírico consiste em um teste que compara aquilo que acreditamos em relação àquilo que observamos. Existem várias formas de estudos empíricos, dentre eles o estudo de caso, pesquisas e experimentos controlados, todos com a essência de buscar evidências para validação de uma teoria. A realização desses estudos representam papel fundamental na comunidade cientifica, principalmente o experimento controlado, que é considerado o método clássico dentre os estudos empíricos. Um experimento controlado oferece controle sobre as variáveis  de um estudo, permitindo a criação de estudos mais focados e com potencial estatístico para resultados significativos, usados na validação de hipóteses.

     

    Na área de engenharia de software, existe uma necessidade cada vez mais evidente de elaboração e execução de experimentos controlados. Esta realidade tem trazido discussões de como realizar esses experimentos com planejamento, execução e análise de maneira mais eficiente. Sendo assim, a busca por alternativas que apoiem o pesquisador no processo de experimentação tem sido um tópico de crescente interesse. Este trabalho tem como objetivo propor a infraestrutura de um ambiente  de suporte a experimentos controlados que  auxilie o pesquisador durante o planejamento, formalização, execução e análise de seus experimentos. Durante a dissertação serão apresentados: (i) uma análise comparativa das ferramentas de suporte disponíveis, elencando os requisitos e como cada ferramenta o atende; (ii) a arquitetura elaborada para o ambiente proposto, como ela se organiza e como parte dela foi implementada; (iii) a implementação de um componente visual para edição de DSLs, o Visual ExpDSL, utilizado para a especificação de experimentos na linguagem ExpDSL;  (iv) e o planejamento, execução e análise dos resultados de um estudo de caso elaborado para avaliar a aplicação da ferramenta em um cenário real de execução de um experimento.


  • Mostrar Abstract
  • Um estudo empírico consiste em um teste que compara aquilo que acreditamos em relação àquilo que observamos. Existem várias formas de estudos empíricos, dentre eles o estudo de caso, pesquisas e experimentos controlados, todos com a essência de buscar evidências para validação de uma teoria. A realização desses estudos representam papel fundamental na comunidade cientifica, principalmente o experimento controlado, que é considerado o método clássico dentre os estudos empíricos. Um experimento controlado oferece controle sobre as variáveis  de um estudo, permitindo a criação de estudos mais focados e com potencial estatístico para resultados significativos, usados na validação de hipóteses.

     

    Na área de engenharia de software, existe uma necessidade cada vez mais evidente de elaboração e execução de experimentos controlados. Esta realidade tem trazido discussões de como realizar esses experimentos com planejamento, execução e análise de maneira mais eficiente. Sendo assim, a busca por alternativas que apoiem o pesquisador no processo de experimentação tem sido um tópico de crescente interesse. Este trabalho tem como objetivo propor a infraestrutura de um ambiente  de suporte a experimentos controlados que  auxilie o pesquisador durante o planejamento, formalização, execução e análise de seus experimentos. Durante a dissertação serão apresentados: (i) uma análise comparativa das ferramentas de suporte disponíveis, elencando os requisitos e como cada ferramenta o atende; (ii) a arquitetura elaborada para o ambiente proposto, como ela se organiza e como parte dela foi implementada; (iii) a implementação de um componente visual para edição de DSLs, o Visual ExpDSL, utilizado para a especificação de experimentos na linguagem ExpDSL;  (iv) e o planejamento, execução e análise dos resultados de um estudo de caso elaborado para avaliar a aplicação da ferramenta em um cenário real de execução de um experimento.

17
  • JEAN GUERETHES FERNANDES GUEDES
  • Uma Proposta de Solução para Funcionamento Offline em Aplicações Android

  • Orientador : GIBEON SOARES DE AQUINO JUNIOR
  • MEMBROS DA BANCA :
  • GIBEON SOARES DE AQUINO JUNIOR
  • EDUARDO HENRIQUE DA SILVA ARANHA
  • FERNANDO ANTONIO MOTA TRINTA
  • Data: 28/08/2015

  • Mostrar Resumo
  • Diante da crescente demanda pela criação de aplicativos móveis, impulsionada pelo uso
    cada vez mais frequente de smartphones e tablets, cresceu na sociedade a necessidade por
    acesso a dados remotos de forma integral na utilização do aplicativo móvel em ambientes
    sem conectividade, em que não há disponibilização de acesso à rede em todos os momentos.
    Diante dessa realidade, esse trabalho teve como objetivo o desenvolvimento de uma solução
    através de um framework, que apresente como principais funções o provimento de um
    mecanismo de persistência, replicação e sincronização dos dados, contemplando a criação,
    remoção, atualização e visualização dos dados persistidos ou requisitados, mesmo estando
    o dispositivo móvel sem conectividade com a rede. Do ponto de vista das práticas de
    programação e arquitetura, isso reflete em definir estratégias para persistência de dados
    local, replicação e sincronização de dados. Através de um estudo controlado foi possível
    validar a solução proposta, sendo constatado ganhos como a redução na quantidade de
    linhas de código e de quantidade de tempo necessários para realizar o desenvolvimento de
    um aplicativo sem que houvesse aumento significativo para a realização das operações.


  • Mostrar Abstract
  • Diante da crescente demanda pela criação de aplicativos móveis, impulsionada pelo uso
    cada vez mais frequente de smartphones e tablets, cresceu na sociedade a necessidade por
    acesso a dados remotos de forma integral na utilização do aplicativo móvel em ambientes
    sem conectividade, em que não há disponibilização de acesso à rede em todos os momentos.
    Diante dessa realidade, esse trabalho teve como objetivo o desenvolvimento de uma solução
    através de um framework, que apresente como principais funções o provimento de um
    mecanismo de persistência, replicação e sincronização dos dados, contemplando a criação,
    remoção, atualização e visualização dos dados persistidos ou requisitados, mesmo estando
    o dispositivo móvel sem conectividade com a rede. Do ponto de vista das práticas de
    programação e arquitetura, isso reflete em definir estratégias para persistência de dados
    local, replicação e sincronização de dados. Através de um estudo controlado foi possível
    validar a solução proposta, sendo constatado ganhos como a redução na quantidade de
    linhas de código e de quantidade de tempo necessários para realizar o desenvolvimento de
    um aplicativo sem que houvesse aumento significativo para a realização das operações.

18
  • JULIANA DE ARAÚJO OLIVEIRA
  • Um Estudo Comparativo entre a Evolução do Comportamento Excepcional em Aplicações Java e Android

  • Orientador : NELIO ALESSANDRO AZEVEDO CACHO
  • MEMBROS DA BANCA :
  • NELIO ALESSANDRO AZEVEDO CACHO
  • GIBEON SOARES DE AQUINO JUNIOR
  • FERNANDO JOSÉ CASTOR DE LIMA FILHO
  • Data: 31/08/2015

  • Mostrar Resumo
  • Um sistema confiável deve garantir que, na presença de situações errôneas o sistema vai
    continuar executando corretamente. Aplicações Java fazem uso de uma linguagem de
    programação que fornece um mecanismo de tratamento de exceção voltado à robustez.
    Java é bastante utilizada em aplicações Desktop e Web. A plataforma também provê um
    ambiente para que as aplicações possam executar em dispositivos móveis. Porém, devido
    aos avanços da computação móvel, novas aplicações vem surgindo. Elas são capazes de
    explorar informações que mudam dinamicamente, obtidas dos usuários ou do ambiente,
    e precisam lidar com um número crescente de condições errôneas, além de satisfazer
    exigências rigorosas de conabilidade. Como resultado, outras plataformas vem emergindo
    para dar suporte a implementação de aplicações móveis. Android tem se estabelecido como
    uma das principais plataformas para aplicações móveis do mercado. Aplicativos Android
    são extremamente atraentes para seus usuários, dado a facilidade com que podem ser
    obtidos e instalados no dispositivo. O tratamento de exceções é o principal mecanismo
    que as aplicações Android e Java usam para reportar e lidar com erros. Portanto, o
    uso correto desse mecanismo está diretamente relacionado à robustez dessas aplicações.
    Aplicações Java e Android são desenvolvidas em ambientes com características diferentes
    e com propósitos distintos. Este fato nos motiva a avaliar se esse mecanismo está sendo
    adequado para ambos os contextos. Neste contexto, esse trabalho se propõe a: (i) Realizar
    um estudo empírico com aplicações Java; (ii) Implementar um driver para aplicações
    Android ; (iii) Implementar uma versão da eFlowMining para Android ; (iv) Realização
    de um estudo empírico com aplicações Android ; (v) Realizar um comparativo entre os
    resultados obtidos dos dois estudos.


  • Mostrar Abstract
  • Um sistema confiável deve garantir que, na presença de situações errôneas o sistema vai
    continuar executando corretamente. Aplicações Java fazem uso de uma linguagem de
    programação que fornece um mecanismo de tratamento de exceção voltado à robustez.
    Java é bastante utilizada em aplicações Desktop e Web. A plataforma também provê um
    ambiente para que as aplicações possam executar em dispositivos móveis. Porém, devido
    aos avanços da computação móvel, novas aplicações vem surgindo. Elas são capazes de
    explorar informações que mudam dinamicamente, obtidas dos usuários ou do ambiente,
    e precisam lidar com um número crescente de condições errôneas, além de satisfazer
    exigências rigorosas de conabilidade. Como resultado, outras plataformas vem emergindo
    para dar suporte a implementação de aplicações móveis. Android tem se estabelecido como
    uma das principais plataformas para aplicações móveis do mercado. Aplicativos Android
    são extremamente atraentes para seus usuários, dado a facilidade com que podem ser
    obtidos e instalados no dispositivo. O tratamento de exceções é o principal mecanismo
    que as aplicações Android e Java usam para reportar e lidar com erros. Portanto, o
    uso correto desse mecanismo está diretamente relacionado à robustez dessas aplicações.
    Aplicações Java e Android são desenvolvidas em ambientes com características diferentes
    e com propósitos distintos. Este fato nos motiva a avaliar se esse mecanismo está sendo
    adequado para ambos os contextos. Neste contexto, esse trabalho se propõe a: (i) Realizar
    um estudo empírico com aplicações Java; (ii) Implementar um driver para aplicações
    Android ; (iii) Implementar uma versão da eFlowMining para Android ; (iv) Realização
    de um estudo empírico com aplicações Android ; (v) Realizar um comparativo entre os
    resultados obtidos dos dois estudos.

19
  • JOSÉ GILMAR ALVES SANTOS JUNIOR
  • Um Estudo Sobre Aprendizado de Máquina Aplicado à Modelagem de Retornos de Ações

  • Orientador : ANNE MAGALY DE PAULA CANUTO
  • MEMBROS DA BANCA :
  • ANNE MAGALY DE PAULA CANUTO
  • ANTONIO CARLOS GAY THOME
  • JOAO MEDEIROS DE ARAUJO
  • RICARDO BASTOS CAVALCANTE PRUDÊNCIO
  • Data: 15/09/2015

  • Mostrar Resumo
  • O comportamento do preço de ações tem sido objeto de estudo há mais de um século, e as primeiras aplicações de inteligência artificial na previsão de retornos datam da década de 1980. Neste trabalho, foi realizado um estudo sobre a aplicação de máquinas de vetores de suporte na previsão da distribuição de probabilidade de taxas de retorno futuras dos preços de ações do mercado brasileiro: com base em valores anteriores das taxas de retorno e volatilidades, ambas extraídas dos preços, deseja-se verificar se a sua utilização é vantajosa em relação a modelos estatísticos mais simples. Através da comparação do desempenho de diversos modelos (lineares, não lineares baseados em máquinas de vetores de suporte e híbridos) em séries temporais com amostragens semanal, diária e intraday de dez minutos, foi evidenciado que: (a) modelos híbridos geram previsões mais precisas do que os demais nas séries de volatilidades; (b) a aplicação de máquinas de vetores de suporte na previsão de valores esperados para taxas de retorno não leva a ganhos em relação a modelos lineares; e (c) modelos compostos por um linear para a previsão de valores esperados e um híbrido para previsão de volatilidades capturam adequadamente as características das séries de taxas de retorno e, dentre todos os modelos avaliados, produzem menor número de intervalos de previsão inválidos.


  • Mostrar Abstract
  • O comportamento do preço de ações tem sido objeto de estudo há mais de um século, e as primeiras aplicações de inteligência artificial na previsão de retornos datam da década de 1980. Neste trabalho, foi realizado um estudo sobre a aplicação de máquinas de vetores de suporte na previsão da distribuição de probabilidade de taxas de retorno futuras dos preços de ações do mercado brasileiro: com base em valores anteriores das taxas de retorno e volatilidades, ambas extraídas dos preços, deseja-se verificar se a sua utilização é vantajosa em relação a modelos estatísticos mais simples. Através da comparação do desempenho de diversos modelos (lineares, não lineares baseados em máquinas de vetores de suporte e híbridos) em séries temporais com amostragens semanal, diária e intraday de dez minutos, foi evidenciado que: (a) modelos híbridos geram previsões mais precisas do que os demais nas séries de volatilidades; (b) a aplicação de máquinas de vetores de suporte na previsão de valores esperados para taxas de retorno não leva a ganhos em relação a modelos lineares; e (c) modelos compostos por um linear para a previsão de valores esperados e um híbrido para previsão de volatilidades capturam adequadamente as características das séries de taxas de retorno e, dentre todos os modelos avaliados, produzem menor número de intervalos de previsão inválidos.

20
  • HUGO BARROS CAMBOIM
  • Cloud Computing Assisted Smart Surveillance Based Transportation-Safety System to Improve Crime Assistance on Smart Cities

  • Orientador : AUGUSTO JOSE VENANCIO NETO
  • MEMBROS DA BANCA :
  • GIBEON SOARES DE AQUINO JUNIOR
  • AUGUSTO JOSE VENANCIO NETO
  • EDUARDO COELHO CERQUEIRA
  • Data: 17/12/2015

  • Mostrar Resumo
  • Smart video surveillance plays a key role in offering technological assistance in public safety scenarios, due to its potential to allow events and objects to be automatically detected in real-time. The Smart video surveillance technology has attracted special attention in the field of public safety, particularly  in vehicular environments by the ability in assisting mission critical scenarios through real-time video processing based automatic detections (e.g., assaults, kidnaps, acts of violence etc.). Hence, it is possible to enable a tradeoff to be made between reactive and pro-active authorities when taking action, seeking to keep customized alert systems, carry out more efficient planning, and thus provide society with a better quality of life. Moreover, the association to Cloud Computing capabilities, is likely to provide advanced perspectives to smart surveillance applications, in terms to provisioning enhanced: (i) processing, to allow for deploying smart computing techniques for improved accuracy; (ii) storage, to adopt a wide variety of templates; (iii), and ubiquitous access, to keep connected everywhere and to any device. The investigation carried in this work focus in deploying a smart surveillance driven cloud-enabled approach to allow for event-based mobile applications in the public safety field. The objective is to allow optimized mobile applications, by which exploiting event-based scheme to provide to low resource consumption (energy, cpu and network resources) perspectives in comparison to the classic reactive approach. The evaluation is carried out in a set of experiments over a real testbed, which demonstrates that the proposal outperforms the classical mobile computing scheme.


  • Mostrar Abstract
  • Smart video surveillance plays a key role in offering technological assistance in public safety scenarios, due to its potential to allow events and objects to be automatically detected in real-time. The Smart video surveillance technology has attracted special attention in the field of public safety, particularly  in vehicular environments by the ability in assisting mission critical scenarios through real-time video processing based automatic detections (e.g., assaults, kidnaps, acts of violence etc.). Hence, it is possible to enable a tradeoff to be made between reactive and pro-active authorities when taking action, seeking to keep customized alert systems, carry out more efficient planning, and thus provide society with a better quality of life. Moreover, the association to Cloud Computing capabilities, is likely to provide advanced perspectives to smart surveillance applications, in terms to provisioning enhanced: (i) processing, to allow for deploying smart computing techniques for improved accuracy; (ii) storage, to adopt a wide variety of templates; (iii), and ubiquitous access, to keep connected everywhere and to any device. The investigation carried in this work focus in deploying a smart surveillance driven cloud-enabled approach to allow for event-based mobile applications in the public safety field. The objective is to allow optimized mobile applications, by which exploiting event-based scheme to provide to low resource consumption (energy, cpu and network resources) perspectives in comparison to the classic reactive approach. The evaluation is carried out in a set of experiments over a real testbed, which demonstrates that the proposal outperforms the classical mobile computing scheme.

21
  • FELIPE SAMPAIO DANTAS DA SILVA
  • Controle de Mobilidade Infraestruturado e Orientado à Qualidade para Maximização de Admissões em Sistemas WiNeMo: Uma Abordagem Definida por Software

  • Orientador : AUGUSTO JOSE VENANCIO NETO
  • MEMBROS DA BANCA :
  • NELIO ALESSANDRO AZEVEDO CACHO
  • AUGUSTO JOSE VENANCIO NETO
  • FLAVIO DE OLIVEIRA SILVA
  • Data: 18/12/2015

  • Mostrar Resumo
  • A popularização das redes sem fio e a crescente proliferação de dispositivos móveis requerem o desenvolvimento de mecanismos de controle de mobilidade que suportem as diferentes demandas de tráfego sob características de rede diversas. Um grande obstáculo no desenvolvimento deste tipo de tecnologia é a complexidade envolvida no gerenciamento de todas as informações de mobilidade, principalmente quando se considera um grande número de dispositivos. Além disso é preciso lidar com toda a sobrecarga de sinalização necessária para controlar estes procedimentos na rede de maneira eficiente. Várias iniciativas propostas pela comunidade científica tratam deste assunto de maneira ineficiente, apresentando soluções que dependam da atuação explícita do objeto móvel (Moving Object - MO), responsável por acionar o processo de mobilidade, geralmente guiada exclusivamente por aspectos físicos, tais como RSS (Received Signal Strength) dos pontos de acesso (Point of Attachment - PoA) candidatos. Diante disso, este trabalho tem como objetivo conceber, avaliar e validar uma infraestrutura de comunicação para o gerenciamento de mobilidade em sistemas WiNeMo (Wireless Networking for Moving Objects), fazendo uso da flexibilidade provida pelo paradigma das Redes Definidas por Software (Software Defined Networking -  SDN), onde as funções de rede, incluindo o gerenciamento de mobilidade e qualidade de serviço (Quality of Service - QoS), podem ser facilmente estendidas, tais como o software no plano de controle, sem sobrecarga computacional, e atualizações nos dispositivos de rede. Como principais contribuições, destacam-se: (i) predição e controle de mobilidade infraestruturado; (ii) seleção de melhor ponto de acesso e aprovisionamento de recursos com base nos requisitos de QoS das aplicações dos objetos móveis; (iii) balanceamento de carga por mobilidade, em casos de exaustão de recursos no ponto de acesso pretendido; e (iv) setup de handover com base no IEEE 802.21.


  • Mostrar Abstract
  • A popularização das redes sem fio e a crescente proliferação de dispositivos móveis requerem o desenvolvimento de mecanismos de controle de mobilidade que suportem as diferentes demandas de tráfego sob características de rede diversas. Um grande obstáculo no desenvolvimento deste tipo de tecnologia é a complexidade envolvida no gerenciamento de todas as informações de mobilidade, principalmente quando se considera um grande número de dispositivos. Além disso é preciso lidar com toda a sobrecarga de sinalização necessária para controlar estes procedimentos na rede de maneira eficiente. Várias iniciativas propostas pela comunidade científica tratam deste assunto de maneira ineficiente, apresentando soluções que dependam da atuação explícita do objeto móvel (Moving Object - MO), responsável por acionar o processo de mobilidade, geralmente guiada exclusivamente por aspectos físicos, tais como RSS (Received Signal Strength) dos pontos de acesso (Point of Attachment - PoA) candidatos. Diante disso, este trabalho tem como objetivo conceber, avaliar e validar uma infraestrutura de comunicação para o gerenciamento de mobilidade em sistemas WiNeMo (Wireless Networking for Moving Objects), fazendo uso da flexibilidade provida pelo paradigma das Redes Definidas por Software (Software Defined Networking -  SDN), onde as funções de rede, incluindo o gerenciamento de mobilidade e qualidade de serviço (Quality of Service - QoS), podem ser facilmente estendidas, tais como o software no plano de controle, sem sobrecarga computacional, e atualizações nos dispositivos de rede. Como principais contribuições, destacam-se: (i) predição e controle de mobilidade infraestruturado; (ii) seleção de melhor ponto de acesso e aprovisionamento de recursos com base nos requisitos de QoS das aplicações dos objetos móveis; (iii) balanceamento de carga por mobilidade, em casos de exaustão de recursos no ponto de acesso pretendido; e (iv) setup de handover com base no IEEE 802.21.

Teses
1
  • CARLOS ALBERTO NUNES MACHADO
  • Uma Linguagem de Descrição Arquitetural Baseada em uma Arquitetura de Referência para Sistemas Ubíquos

  • Orientador : THAIS VASCONCELOS BATISTA
  • MEMBROS DA BANCA :
  • THAIS VASCONCELOS BATISTA
  • JAIR CAVALCANTI LEITE
  • UIRA KULESZA
  • ELISA YUMI NAKAGAWA
  • GUSTAVO HENRIQUE MATOS BEZERRA MOTTA
  • Data: 29/01/2015

  • Mostrar Resumo
  • A computação ubíqua é um paradigma no qual dispositivos com capacidade de processamento e comunicação são embutidos nos elementos comuns de nossas vidas (casas, carros, máquinas fotográficas, telefones, escolas, museus, etc), provendo serviços com um alto grau de mobilidade e transparência. O desenvolvimento de sistemas ubíquos é uma tarefa complexa,  uma vez que envolve várias áreas da computação, como Engenharia de Software, Inteligência Artificial e Sistemas Distribuídos. Essa tarefa torna-se ainda mais complexa  pela ausência de uma arquitetura de referência para guiar o desenvolvimento de tais sistemas. Arquiteturas de referência têm sido usadas para fornecer uma base comum e dar diretrizes para a construção de arquiteturas de softwares  para diferentes classes de sistemas. Por outro lado, as linguagens de descrição arquitetural (ADLs) fornecem uma sintaxe para representação estrutural dos elementos arquiteturais, suas restrições e interações, permitindo-se expressar modelo arquitetural de sistemas. Atualmente não há, na literatura, ADLs baseadas em arquiteturas de referência  para o domínio de computação ubíqua. De forma a permitir a modelagem arquitetural de aplicações ubíquas, esse trabalho tem como objetivo principal especificar UbiACME, uma linguagem de descrição arquitetural  para aplicações ubíquas, bem como disponibilizar a ferramenta UbiACME Studio, que permitirá arquitetos de software realizar modelagens usando UbiACME. Para esse fim, inicialmente realizamos uma revisão sistemática, de forma a investigar na literatura relacionada com sistemas ubíquos, os elementos comuns  a esses sistemas que devem ser considerados no projeto de UbiACME. Além disso, com base na revisão sistemática, definimos uma arquitetura de referência  para sistemas ubíquos, RA-Ubi, que é a base para a definição dos elementos necessários para a modelagem arquitetural e, portanto, fornece subsídios para a definição dos elementos de UbiACME. Por fim, de forma a validar a linguagem e a ferramenta, apresentamos um experimento controlado onde arquitetos modelam uma aplicação ubíqua usando UbiACME Studio e comparam com a modelagem da mesma aplicação em SySML. 

  • Mostrar Abstract
  • A computação ubíqua é um paradigma no qual dispositivos com capacidade de processamento e comunicação são embutidos nos elementos comuns de nossas vidas (casas, carros, máquinas fotográficas, telefones, escolas, museus, etc), provendo serviços com um alto grau de mobilidade e transparência. O desenvolvimento de sistemas ubíquos é uma tarefa complexa,  uma vez que envolve várias áreas da computação, como Engenharia de Software, Inteligência Artificial e Sistemas Distribuídos. Essa tarefa torna-se ainda mais complexa  pela ausência de uma arquitetura de referência para guiar o desenvolvimento de tais sistemas. Arquiteturas de referência têm sido usadas para fornecer uma base comum e dar diretrizes para a construção de arquiteturas de softwares  para diferentes classes de sistemas. Por outro lado, as linguagens de descrição arquitetural (ADLs) fornecem uma sintaxe para representação estrutural dos elementos arquiteturais, suas restrições e interações, permitindo-se expressar modelo arquitetural de sistemas. Atualmente não há, na literatura, ADLs baseadas em arquiteturas de referência  para o domínio de computação ubíqua. De forma a permitir a modelagem arquitetural de aplicações ubíquas, esse trabalho tem como objetivo principal especificar UbiACME, uma linguagem de descrição arquitetural  para aplicações ubíquas, bem como disponibilizar a ferramenta UbiACME Studio, que permitirá arquitetos de software realizar modelagens usando UbiACME. Para esse fim, inicialmente realizamos uma revisão sistemática, de forma a investigar na literatura relacionada com sistemas ubíquos, os elementos comuns  a esses sistemas que devem ser considerados no projeto de UbiACME. Além disso, com base na revisão sistemática, definimos uma arquitetura de referência  para sistemas ubíquos, RA-Ubi, que é a base para a definição dos elementos necessários para a modelagem arquitetural e, portanto, fornece subsídios para a definição dos elementos de UbiACME. Por fim, de forma a validar a linguagem e a ferramenta, apresentamos um experimento controlado onde arquitetos modelam uma aplicação ubíqua usando UbiACME Studio e comparam com a modelagem da mesma aplicação em SySML. 
2
  • MARILIA ARANHA FREIRE
  • Formalização de Experimentos Controlados em Engenharia de Software

  • Orientador : UIRA KULESZA
  • MEMBROS DA BANCA :
  • DALTON DARIO SEREY GUERRERO
  • EDUARDO HENRIQUE DA SILVA ARANHA
  • FERNANDO MARQUES FIGUEIRA FILHO
  • SÉRGIO CASTELO BRANCO SOARES
  • THAIS VASCONCELOS BATISTA
  • UIRA KULESZA
  • Data: 05/03/2015

  • Mostrar Resumo
  • A condução de estudos empíricos é de vital importância para coletar evidências científicas sobre novas tecnologias de software. Neste sentido, nos últimos anos centenas de experimentos controlados vêm sendo realizados na área da engenharia de software. Um experimento controlado é uma técnica que permite aos cientistas testarem uma hipótese de pesquisa e a relação causa e efeito entre as variáveis envolvidas no ambiente de estudo. Entretanto, o planejamento, execução, análise e empacotamento de um experimento controlado são considerados atividades complexas, custosas e propensas a erros. As poucas ferramentas existentes de apoio ao processo de experimentação auxiliam várias atividades envolvidas em um experimento mas possuem limitações e grande necessidade de melhorias.

    Neste contexto, este trabalho propõe : (i) investigar abordagens e ambientes existentes de apoio a formalização e condução de experimentos controlados em ES identificando suas limitações e benefícios; (ii) propor uma linguagem específica de domínio para a formalização de experimentos controlados; e (iii) desenvolver uma abordagem dirigida por modelos que usa a formalização de um experimento para geração de workflows customizáveis de apoio à condução de experimentos controlados.

    O trabalho é avaliado através da condução de: (i) um estudo de viabilidade da abordagem dirigida por modelos através da modelagem de um experimento existente e geração de workflows customizáveis a partir do seu projeto estatístico; (ii) um estudo empírico de análise da expressividade e completude da linguagem específica de domínio proposta através da modelagem de 16 experimentos; (iii) um experimento controlado que investiga à compreensão da linguagem pelos experimentadores; e (iv) um experimento controlado que investiga a usabilidade da linguagem através do seu uso direto na especificação de experimentos. Os resultados obtidos em tais estudos trazem evidências que a abordagem proposta é viável, e que a linguagem tem um bom nível de expressividade e completude. Além disso, as análises mostram que a compreensão do plano experimental escrito na linguagem proposta é mais fácil e mais rápida que quando analisando a especificação de um plano experimental descrito em artigos científicos. Por fim, a percepção dos experimentadores foi positiva em relação à utilização da linguagem.


  • Mostrar Abstract
  • A condução de estudos empíricos é de vital importância para coletar evidências científicas sobre novas tecnologias de software. Neste sentido, nos últimos anos centenas de experimentos controlados vêm sendo realizados na área da engenharia de software. Um experimento controlado é uma técnica que permite aos cientistas testarem uma hipótese de pesquisa e a relação causa e efeito entre as variáveis envolvidas no ambiente de estudo. Entretanto, o planejamento, execução, análise e empacotamento de um experimento controlado são considerados atividades complexas, custosas e propensas a erros. As poucas ferramentas existentes de apoio ao processo de experimentação auxiliam várias atividades envolvidas em um experimento mas possuem limitações e grande necessidade de melhorias.

    Neste contexto, este trabalho propõe : (i) investigar abordagens e ambientes existentes de apoio a formalização e condução de experimentos controlados em ES identificando suas limitações e benefícios; (ii) propor uma linguagem específica de domínio para a formalização de experimentos controlados; e (iii) desenvolver uma abordagem dirigida por modelos que usa a formalização de um experimento para geração de workflows customizáveis de apoio à condução de experimentos controlados.

    O trabalho é avaliado através da condução de: (i) um estudo de viabilidade da abordagem dirigida por modelos através da modelagem de um experimento existente e geração de workflows customizáveis a partir do seu projeto estatístico; (ii) um estudo empírico de análise da expressividade e completude da linguagem específica de domínio proposta através da modelagem de 16 experimentos; (iii) um experimento controlado que investiga à compreensão da linguagem pelos experimentadores; e (iv) um experimento controlado que investiga a usabilidade da linguagem através do seu uso direto na especificação de experimentos. Os resultados obtidos em tais estudos trazem evidências que a abordagem proposta é viável, e que a linguagem tem um bom nível de expressividade e completude. Além disso, as análises mostram que a compreensão do plano experimental escrito na linguagem proposta é mais fácil e mais rápida que quando analisando a especificação de um plano experimental descrito em artigos científicos. Por fim, a percepção dos experimentadores foi positiva em relação à utilização da linguagem.

3
  • THATIANA CUNHA NAVARRO DE SOUZA
  • Distribuição de Derivados de Petróleo por Redes de Polidutos: Uma Abordagem através de Algoritmos Evolucionários Híbridos para um Problema Triobjetivo

  • Orientador : ELIZABETH FERREIRA GOUVEA GOLDBARG
  • MEMBROS DA BANCA :
  • ANTONIO CARLOS GAY THOME
  • ELIZABETH FERREIRA GOUVEA GOLDBARG
  • HENRIQUE PACCA LOUREIRO LUNA
  • MARCO CESAR GOLDBARG
  • RICARDO LÜDERS
  • Data: 13/03/2015

  • Mostrar Resumo
  • Um importante problema enfrentado pela indústria petrolífera é distribuir vários produtos derivados de petróleo através de polidutos. Tal distribuição é feita através de uma rede composta por refinarias (nós fonte), parques de armazenagem (nós intermediários) e terminais (nós de demanda), interligados por um conjunto de polidutos que transportam petróleo e derivados entre áreas adjacentes. Restrições relativas a limites de armazenamento, tempo de entrega, disponibilidade das fontes, limites de envio e recebimento, entre outras, têm de ser satisfeitas. Alguns pesquisadores lidam com este problema sob o ponto de vista discreto onde o fluxo na rede é visto como o envio de bateladas. Geralmente, não existem dispositivos de separação entre bateladas de produtos diferentes e as perdas devidas à interface podem ser significativas. Minimizar o tempo de entrega é um objetivo usual dos engenheiros durante a programação do envio de produtos em redes de polidutos. No entanto, os custos devidos às perdas geradas nas interfaces não podem ser desconsiderados. O custo do envio dos produtos também depende das despesas de bombeamento as quais são, em grande parte, devidas ao custo da energia elétrica. Uma vez que a tarifa industrial de energia elétrica varia ao longo do dia, o bombeamento em diferentes períodos terão diferentes custos.  Este trabalho apresenta uma investigação experimental de métodos computacionais desenvolvidos para lidar com o problema do envio de bateladas de derivados de petróleo considerando a minimização simultânea de três funções objetivo: tempo de entrega, perdas devidas às interfaces e custo de energia elétrica. Tal problema é NP-árduo e será abordado através de algoritmos evolucionários híbridos. As hibridizações têm como foco principal os Algoritmos Transgenéticos e arquiteturas clássicas de algoritmos evolucionários multi-objetivo como MOEA/D, NSGA2 e SPEA2. Três arquiteturas denominadas MOTA/D, NSTA e SPETA, são aplicadas ao problema. É apresentado um estudo experimental dos algoritmos propostos onde é utilizado um conjunto de trinta casos teste. Para a análise dos algoritmos são empregados indicadores de qualidade Pareto concordantes e testes estatísticos não paramétricos.


  • Mostrar Abstract
  • Um importante problema enfrentado pela indústria petrolífera é distribuir vários produtos derivados de petróleo através de polidutos. Tal distribuição é feita através de uma rede composta por refinarias (nós fonte), parques de armazenagem (nós intermediários) e terminais (nós de demanda), interligados por um conjunto de polidutos que transportam petróleo e derivados entre áreas adjacentes. Restrições relativas a limites de armazenamento, tempo de entrega, disponibilidade das fontes, limites de envio e recebimento, entre outras, têm de ser satisfeitas. Alguns pesquisadores lidam com este problema sob o ponto de vista discreto onde o fluxo na rede é visto como o envio de bateladas. Geralmente, não existem dispositivos de separação entre bateladas de produtos diferentes e as perdas devidas à interface podem ser significativas. Minimizar o tempo de entrega é um objetivo usual dos engenheiros durante a programação do envio de produtos em redes de polidutos. No entanto, os custos devidos às perdas geradas nas interfaces não podem ser desconsiderados. O custo do envio dos produtos também depende das despesas de bombeamento as quais são, em grande parte, devidas ao custo da energia elétrica. Uma vez que a tarifa industrial de energia elétrica varia ao longo do dia, o bombeamento em diferentes períodos terão diferentes custos.  Este trabalho apresenta uma investigação experimental de métodos computacionais desenvolvidos para lidar com o problema do envio de bateladas de derivados de petróleo considerando a minimização simultânea de três funções objetivo: tempo de entrega, perdas devidas às interfaces e custo de energia elétrica. Tal problema é NP-árduo e será abordado através de algoritmos evolucionários híbridos. As hibridizações têm como foco principal os Algoritmos Transgenéticos e arquiteturas clássicas de algoritmos evolucionários multi-objetivo como MOEA/D, NSGA2 e SPEA2. Três arquiteturas denominadas MOTA/D, NSTA e SPETA, são aplicadas ao problema. É apresentado um estudo experimental dos algoritmos propostos onde é utilizado um conjunto de trinta casos teste. Para a análise dos algoritmos são empregados indicadores de qualidade Pareto concordantes e testes estatísticos não paramétricos.

4
  • TANIRO CHACON RODRIGUES
  • Uma Estratégia Baseada em Modelos para Desenvolvimento de Aplicações para Redes de Sensores e Atuadores Sem Fio

  • Orientador : THAIS VASCONCELOS BATISTA
  • MEMBROS DA BANCA :
  • THAIS VASCONCELOS BATISTA
  • FLAVIA COIMBRA DELICATO
  • NELIO ALESSANDRO AZEVEDO CACHO
  • JOSÉ NEUMAN DE SOUZA
  • PAULO DE FIGUEIREDO PIRES
  • Data: 30/03/2015

  • Mostrar Resumo
  • Redes de Sensores e Atuadores sem Fio (RSASF) são um dos principais componentes de Sistemas de Computação Ubíqua e possuem aplicações em diferentes domínios do conhecimento humano. Devido à complexidade de programar para este tipo de rede é necessário que especialistas de domínio conheçam especificidades das plataformas de sensores disponíveis, aumentando a curva de aprendizado para o desenvolvimento de aplicações. Neste trabalho, é proposta uma abordagem de Desenvolvimento Dirigido a Modelos, mais especificamente, baseada em Arquitetura Dirigida a Modelos (MDA, do inglês Model-Driven Architecture), para o desenvolvimento de aplicações para RSASF. A abordagem proposta visa facilitar a tarefa dos desenvolvedores, através de: (i) uma linguagem específica de domínio para RSASF; (ii) um processo para o desenvolvimento de aplicações para RSASF; e (iii) uma infraestrutura de software composta de artefatos MDA (PIM, PSM e transformações) para dar suporte a este processo. Esta abordagem permite a contribuição direta dos especialistas de domínio no desenvolvimento de aplicações de RSASF, sem a necessidade de conhecimento específico de programação em plataformas de RSASF e, ao mesmo tempo, permite que especialistas em redes foquem nas características específicas da sua área de especialidade sem a necessidade de conhecimento do domínio da aplicação. Além disso, a abordagem proposta tem como objetivo permitir que os desenvolvedores possam expressar e validar, em tempo de projeto, os requisitos funcionais e não funcionais da aplicação e promover o reuso dos artefatos de software desenvolvidos. Dessa forma, propõe-se nesse trabalho uma abordagem que compreende todas as etapas de desenvolvimento para RSASF para cenários atuais e emergentes através da infraestrutura MDA que promove reuso dos artefatos desenvolvidos, gera código para diversas plataformas e oferece recursos para avaliação de requisitos não funcionais em tempo de projeto. Por fim, foram realizadas avaliações preliminares através da: (i) execução de um experimento controlado que testou abordagem proposta em relação aos métodos tradicionais para o desenvolvimento de aplicações para RSASF,  (ii) análises comparativas entre a DSL utilizada e outras existentes na literatura e, (iii) uma prova de conceito que demonstra o processo de desenvolvimento de aplicações para RSASF utilizando as ferramentas de análise em tempo de projeto. 


  • Mostrar Abstract
  • Redes de Sensores e Atuadores sem Fio (RSASF) são um dos principais componentes de Sistemas de Computação Ubíqua e possuem aplicações em diferentes domínios do conhecimento humano. Devido à complexidade de programar para este tipo de rede é necessário que especialistas de domínio conheçam especificidades das plataformas de sensores disponíveis, aumentando a curva de aprendizado para o desenvolvimento de aplicações. Neste trabalho, é proposta uma abordagem de Desenvolvimento Dirigido a Modelos, mais especificamente, baseada em Arquitetura Dirigida a Modelos (MDA, do inglês Model-Driven Architecture), para o desenvolvimento de aplicações para RSASF. A abordagem proposta visa facilitar a tarefa dos desenvolvedores, através de: (i) uma linguagem específica de domínio para RSASF; (ii) um processo para o desenvolvimento de aplicações para RSASF; e (iii) uma infraestrutura de software composta de artefatos MDA (PIM, PSM e transformações) para dar suporte a este processo. Esta abordagem permite a contribuição direta dos especialistas de domínio no desenvolvimento de aplicações de RSASF, sem a necessidade de conhecimento específico de programação em plataformas de RSASF e, ao mesmo tempo, permite que especialistas em redes foquem nas características específicas da sua área de especialidade sem a necessidade de conhecimento do domínio da aplicação. Além disso, a abordagem proposta tem como objetivo permitir que os desenvolvedores possam expressar e validar, em tempo de projeto, os requisitos funcionais e não funcionais da aplicação e promover o reuso dos artefatos de software desenvolvidos. Dessa forma, propõe-se nesse trabalho uma abordagem que compreende todas as etapas de desenvolvimento para RSASF para cenários atuais e emergentes através da infraestrutura MDA que promove reuso dos artefatos desenvolvidos, gera código para diversas plataformas e oferece recursos para avaliação de requisitos não funcionais em tempo de projeto. Por fim, foram realizadas avaliações preliminares através da: (i) execução de um experimento controlado que testou abordagem proposta em relação aos métodos tradicionais para o desenvolvimento de aplicações para RSASF,  (ii) análises comparativas entre a DSL utilizada e outras existentes na literatura e, (iii) uma prova de conceito que demonstra o processo de desenvolvimento de aplicações para RSASF utilizando as ferramentas de análise em tempo de projeto. 

5
  • LILIANE RIBEIRO DA SILVA
  • Uma Plataforma Intervalar para Agrupamentos de Dados

  • Orientador : REGIVAN HUGO NUNES SANTIAGO
  • MEMBROS DA BANCA :
  • ANDRÉ CARLOS PONCE DE LEON FERREIRA DE CARVALHO
  • ANNE MAGALY DE PAULA CANUTO
  • BENJAMIN RENE CALLEJAS BEDREGAL
  • FAGNER LEMOS DE SANTANA
  • FRANCISCO DE ASSIS TENORIO DE CARVALHO
  • REGIVAN HUGO NUNES SANTIAGO
  • Data: 17/04/2015

  • Mostrar Resumo
  • Este trabalho propõe uma plataforma  para  métodos de agrupamento
    de  dados do tipo intervalar e uma solução para dados híbridos que contenham esse tipo de dados.  
    O principal objetivo do uso de dados com natureza intervalar é  representar informação numérica dotada de imprecisões,  que são normalmente capturadas a 
    partir de medidas do mundo real. Para isso, é necessário adaptar  técnicas de valores reais para serem utilizadas em dados  intervalares.
    Para aplicações de agrupamento  intervalares, por exemplo,  é necessário propor uma distância intervalar e também adaptar algoritmos de agrupamento para serem utilizados nesse contexto.
     Neste caso, adaptamos uma distância intervalar, chamada $d_{km}$, e propomos  algoritmos de agrupamento fuzzy intervalares, Fuzzy C-Means baseado em intervalos e ckMeans baseado em intervalos, e três índices de validação intervalares.   Para validar a estrutura baseada em intervalos proposta, uma análise empírica foi realizada com conjuntos de dados sintéticos e reais. 
    A análise empírica é baseada em um índice de validade de cluster externo, Correct Rand, e seis índices de validação interna, sendo que três são necessárias adequações para serem utilizados com dados intervalares.
    É realizada uma análise comparativa entre os resultados  existentes na literatura e os resultados obtidos. E mais, para trabalhar com dados híbridos uma investigação sobre funções de agregações de i-distâncias é realizada. 


  • Mostrar Abstract
  • Este trabalho propõe uma plataforma  para  métodos de agrupamento
    de  dados do tipo intervalar e uma solução para dados híbridos que contenham esse tipo de dados.  
    O principal objetivo do uso de dados com natureza intervalar é  representar informação numérica dotada de imprecisões,  que são normalmente capturadas a 
    partir de medidas do mundo real. Para isso, é necessário adaptar  técnicas de valores reais para serem utilizadas em dados  intervalares.
    Para aplicações de agrupamento  intervalares, por exemplo,  é necessário propor uma distância intervalar e também adaptar algoritmos de agrupamento para serem utilizados nesse contexto.
     Neste caso, adaptamos uma distância intervalar, chamada $d_{km}$, e propomos  algoritmos de agrupamento fuzzy intervalares, Fuzzy C-Means baseado em intervalos e ckMeans baseado em intervalos, e três índices de validação intervalares.   Para validar a estrutura baseada em intervalos proposta, uma análise empírica foi realizada com conjuntos de dados sintéticos e reais. 
    A análise empírica é baseada em um índice de validade de cluster externo, Correct Rand, e seis índices de validação interna, sendo que três são necessárias adequações para serem utilizados com dados intervalares.
    É realizada uma análise comparativa entre os resultados  existentes na literatura e os resultados obtidos. E mais, para trabalhar com dados híbridos uma investigação sobre funções de agregações de i-distâncias é realizada. 

6
  • FELIPE ALVES PEREIRA PINTO
  • An Automated Approach for Performance Deviaton Analysis of Evolving Software Systems

  • Orientador : UIRA KULESZA
  • MEMBROS DA BANCA :
  • UIRA KULESZA
  • NELIO ALESSANDRO AZEVEDO CACHO
  • THAIS VASCONCELOS BATISTA
  • EDUARDO SANTANA DE ALMEIDA
  • MARCELO DE ALMEIDA MAIA
  • Data: 18/11/2015

  • Mostrar Resumo
  • The maintenance and evolution of software systems have become a critical task over the last years due to the diversity and high demand of features, devices and users. The ability to understand and analyze how newly introduced changes impact the quality attributes of the architecture of those software systems is an essential prerequisite for avoiding the deterioration of the engineering quality of them during their evolution. This thesis proposes an automated approach for the deviation analysis of the quality attribute of performance in terms of execution time (response time). It is implemented by a framework that adopts dynamic analysis and mining software repository techniques to provide an automated way to revel potential sources – commits and issues – of performance deviation in scenarios of an evolving software system. The approach defines four phases: (i) preparation – choosing the scenarios and preparing the target releases; (ii) dynamic analysis – determining the performance of scenarios and methods by calculating their execution time; (iii) deviation analysis – processing and comparing the results of the dynamic analysis for different releases; and (iv) repository mining – identifying development issues and commits associated with performance deviation. Several empirical studies have been developed to assess the approach from different perspectives. An initial study shows the feasibility of the approach to support traceability of quality attributes with static analysis. An exploratory study analyzed the usefulness and domain independence of the proposal in automatically identifying source code assets with performance deviation and the changes that have affected them during an evolution. This study was performed using three systems: (i) SIGAA – a web academic management system; (ii) ArgoUML – an UML modeling tool; and (iii) Netty – a network application framework. A third study has performed an evolutionary analysis of applying the approach to multiple releases of Netty, and the web frameworks Wicket and Jetty. It has analyzed twenty-one releases (seven releases of each system) and addressed a total of 57 scenarios. Overall, we have found 14 scenarios with significant performance deviation for Netty, 13 for Wicket, and 9 for Jetty. In addition, the feedback obtained from an online survey with eight developers of Netty, Wicket and Jetty is also discussed. Finally, in our last study, we built a performance regression model in order to indicate the properties of code changes that are more likely to cause performance degradation. We mined a total of 997 commits, of which 103 were retrieved from degraded code assets, 19 from optimized, while 875 had no impact on execution time. Number of days before release and day of week were the most relevant variables of commits that cause performance degradation in our model. The receiver operating characteristic (ROC) area of our regression model is 60%, which means that deciding if a commit will cause performance degradation or not by using the model is 10% better than a random guess.


  • Mostrar Abstract
  • The maintenance and evolution of software systems have become a critical task over the last years due to the diversity and high demand of features, devices and users. The ability to understand and analyze how newly introduced changes impact the quality attributes of the architecture of those software systems is an essential prerequisite for avoiding the deterioration of the engineering quality of them during their evolution. This thesis proposes an automated approach for the deviation analysis of the quality attribute of performance in terms of execution time (response time). It is implemented by a framework that adopts dynamic analysis and mining software repository techniques to provide an automated way to revel potential sources – commits and issues – of performance deviation in scenarios of an evolving software system. The approach defines four phases: (i) preparation – choosing the scenarios and preparing the target releases; (ii) dynamic analysis – determining the performance of scenarios and methods by calculating their execution time; (iii) deviation analysis – processing and comparing the results of the dynamic analysis for different releases; and (iv) repository mining – identifying development issues and commits associated with performance deviation. Several empirical studies have been developed to assess the approach from different perspectives. An initial study shows the feasibility of the approach to support traceability of quality attributes with static analysis. An exploratory study analyzed the usefulness and domain independence of the proposal in automatically identifying source code assets with performance deviation and the changes that have affected them during an evolution. This study was performed using three systems: (i) SIGAA – a web academic management system; (ii) ArgoUML – an UML modeling tool; and (iii) Netty – a network application framework. A third study has performed an evolutionary analysis of applying the approach to multiple releases of Netty, and the web frameworks Wicket and Jetty. It has analyzed twenty-one releases (seven releases of each system) and addressed a total of 57 scenarios. Overall, we have found 14 scenarios with significant performance deviation for Netty, 13 for Wicket, and 9 for Jetty. In addition, the feedback obtained from an online survey with eight developers of Netty, Wicket and Jetty is also discussed. Finally, in our last study, we built a performance regression model in order to indicate the properties of code changes that are more likely to cause performance degradation. We mined a total of 997 commits, of which 103 were retrieved from degraded code assets, 19 from optimized, while 875 had no impact on execution time. Number of days before release and day of week were the most relevant variables of commits that cause performance degradation in our model. The receiver operating characteristic (ROC) area of our regression model is 60%, which means that deciding if a commit will cause performance degradation or not by using the model is 10% better than a random guess.

7
  • ANDRÉ GUSTAVO DUARTE DE ALMEIDA
  • AdaptMCloud : Uma Estratégia para Adaptação Dinâmica de Aplicações Multi-Cloud

  • Orientador : THAIS VASCONCELOS BATISTA
  • MEMBROS DA BANCA :
  • CARLOS ANDRE GUIMARÃES FERRAZ
  • EDMUNDO ROBERTO MAURO MADEIRA
  • FRANCISCO DANTAS DE MEDEIROS NETO
  • NELIO ALESSANDRO AZEVEDO CACHO
  • THAIS VASCONCELOS BATISTA
  • UIRA KULESZA
  • Data: 25/11/2015

  • Mostrar Resumo
  • Aplicações Multi-Cloud são compostas de serviços oferecidos por múltiplas plataformas de nuvem, onde o usuário/desenvolvedor tem pleno conhecimento da utilização dessas plataformas. O uso de múltiplas plataformas de nuvem evita os seguintes problemas: (i) vendor lock-in, que consiste na dependência da aplicação de uma determinada plataforma de nuvem, o que é prejudicial no caso de degradação ou falha no serviços da plataforma, ou até mesmo aumento do preço do uso do serviço; (ii) degradação ou falha da aplicação devido a  flutuações da qualidade de serviço (QoS) provida por alguma plataforma de nuvem, ou mesmo devido a falha em algum serviço. No cenário multi-cloud é possível se trocar um serviço em falha ou com problemas de QoS por um equivalente de outra plataforma de nuvem. Para que uma aplicação consiga adotar a perspectiva multi-cloud é necessário criar mecanismos que sejam capazes de selecionar quais serviços de nuvem/plataformas devem ser usados, de acordo com os requisitos determinados pelo programador/usuário. Nesse contexto, as maiores dificuldades em termos de desenvolvimento de tais aplicações abrangem questões como: (i) a escolha de quais serviços e de plataformas de computação em nuvem subjacentes devem ser usadas com base nos requisitos definidos de funcionalidade e de qualidade pelo usuário, (ii) a necessidade de monitorar continuamente as informações dinâmicas (tais como tempo de resposta, disponibilidade, preço, disponibilidade), relacionadas com serviços de nuvem, além da variedade ampla de serviços, e (iii) a necessidade de se adaptar a aplicação no caso de violações de QoS que afetam os seus requisitos. Essa tese de doutorado propõe uma abordagem para adaptação dinâmica de aplicações multi-cloud que se aplica quando um serviço fica indisponível ou quando os requisitos definidos pelo usuário/desenvolvedor apontam que outra configuração multi-cloud disponível atende de forma mais eficiente. Dessa forma, esse trabalho propõe uma estratégia composta por duas fases. A primeira fase consiste na modelagem da aplicação, que explora a capacidade de representação de similaridades e variabilidades propostas no contexto do paradigma de linhas de produto de software (LPS). Nessa fase é usado um modelo de features estendido para especificar a configuração de serviços de nuvens a ser usado pela aplicação (similaridades) e os diferentes possíveis provedores para cada serviço (variabilidades). Além disso, os requisitos não-funcionais associados aos serviços de nuvem são especificados nesse modelo através de propriedades que descrevem informações dinâmicas sobre esses serviços.  A segunda fase consiste em um processo autonômico baseado no loop de controle MAPE-K, que é responsável por  selecionar, de forma otimizada, um configuração multi-cloud que atenda aos requisitos estabelecidos, e que execute a adaptação. A, estratégia de adaptação proposta é independente da técnica de programação usada realizar a adaptação. Nesse trabalho implementamos a estratégia de adaptação usando várias técnicas de programação como programação orientada a aspectos, programação orientada a contexto e programação orientada a componentes e serviços. Com base nas etapas propostas, procuramos avaliar os seguintes itens: (i) se o processo de modelagem e especificação de requisitos não-funcionais é capaz de garantir o efetivo acompanhamento da satisfação do usuário; (ii) se o processo otimizado de seleção apresenta ganhos significativos quando comparado com abordagem sequencial; e (iii) quais técnicas apresentam a melhor relação custo-benefício, quando comparado os esforços para desenvolvimento/modularidade e desempenho. 


  • Mostrar Abstract
  • Aplicações Multi-Cloud são compostas de serviços oferecidos por múltiplas plataformas de nuvem, onde o usuário/desenvolvedor tem pleno conhecimento da utilização dessas plataformas. O uso de múltiplas plataformas de nuvem evita os seguintes problemas: (i) vendor lock-in, que consiste na dependência da aplicação de uma determinada plataforma de nuvem, o que é prejudicial no caso de degradação ou falha no serviços da plataforma, ou até mesmo aumento do preço do uso do serviço; (ii) degradação ou falha da aplicação devido a  flutuações da qualidade de serviço (QoS) provida por alguma plataforma de nuvem, ou mesmo devido a falha em algum serviço. No cenário multi-cloud é possível se trocar um serviço em falha ou com problemas de QoS por um equivalente de outra plataforma de nuvem. Para que uma aplicação consiga adotar a perspectiva multi-cloud é necessário criar mecanismos que sejam capazes de selecionar quais serviços de nuvem/plataformas devem ser usados, de acordo com os requisitos determinados pelo programador/usuário. Nesse contexto, as maiores dificuldades em termos de desenvolvimento de tais aplicações abrangem questões como: (i) a escolha de quais serviços e de plataformas de computação em nuvem subjacentes devem ser usadas com base nos requisitos definidos de funcionalidade e de qualidade pelo usuário, (ii) a necessidade de monitorar continuamente as informações dinâmicas (tais como tempo de resposta, disponibilidade, preço, disponibilidade), relacionadas com serviços de nuvem, além da variedade ampla de serviços, e (iii) a necessidade de se adaptar a aplicação no caso de violações de QoS que afetam os seus requisitos. Essa tese de doutorado propõe uma abordagem para adaptação dinâmica de aplicações multi-cloud que se aplica quando um serviço fica indisponível ou quando os requisitos definidos pelo usuário/desenvolvedor apontam que outra configuração multi-cloud disponível atende de forma mais eficiente. Dessa forma, esse trabalho propõe uma estratégia composta por duas fases. A primeira fase consiste na modelagem da aplicação, que explora a capacidade de representação de similaridades e variabilidades propostas no contexto do paradigma de linhas de produto de software (LPS). Nessa fase é usado um modelo de features estendido para especificar a configuração de serviços de nuvens a ser usado pela aplicação (similaridades) e os diferentes possíveis provedores para cada serviço (variabilidades). Além disso, os requisitos não-funcionais associados aos serviços de nuvem são especificados nesse modelo através de propriedades que descrevem informações dinâmicas sobre esses serviços.  A segunda fase consiste em um processo autonômico baseado no loop de controle MAPE-K, que é responsável por  selecionar, de forma otimizada, um configuração multi-cloud que atenda aos requisitos estabelecidos, e que execute a adaptação. A, estratégia de adaptação proposta é independente da técnica de programação usada realizar a adaptação. Nesse trabalho implementamos a estratégia de adaptação usando várias técnicas de programação como programação orientada a aspectos, programação orientada a contexto e programação orientada a componentes e serviços. Com base nas etapas propostas, procuramos avaliar os seguintes itens: (i) se o processo de modelagem e especificação de requisitos não-funcionais é capaz de garantir o efetivo acompanhamento da satisfação do usuário; (ii) se o processo otimizado de seleção apresenta ganhos significativos quando comparado com abordagem sequencial; e (iii) quais técnicas apresentam a melhor relação custo-benefício, quando comparado os esforços para desenvolvimento/modularidade e desempenho. 

8
  • FLAULLES BOONE BERGAMASCHI
  • Primalidade Forte em Ambiente Fuzzy

  • Orientador : REGIVAN HUGO NUNES SANTIAGO
  • MEMBROS DA BANCA :
  • REGIVAN HUGO NUNES SANTIAGO
  • BENJAMIN RENE CALLEJAS BEDREGAL
  • ELAINE GOUVEA PIMENTEL
  • EDWARD HERMANN
  • LAECIO CARVALHO DE BARROS
  • Data: 11/12/2015

  • Mostrar Resumo
  • O principal objetivo deste trabalho é propor a noção de primalidade forte e uniformemente forte no ambiente fuzzy. Assim, é apresentado um conceito de ideal uniformemente primo independente de alpha-cortes, mas de certa forma compatível. Também é investigada a primalidade forte nos quantales, propondo uma definição de ideal primo e uniformemente primo coerente com o ambiente não-comutativo que serve de base para a investigação em fuzzy. Como ferramenta adicional, este trabalho introduz o conceito de t/m sistemas para o ambiente fuzzy sugerindo um caminho alternativo para lidar com primalidade. Por fim, é desenvolvido uma versão fuzzy do teorema da correspondência e noções iniciais sobre o radical de um ideal fuzzy.


  • Mostrar Abstract
  • O principal objetivo deste trabalho é propor a noção de primalidade forte e uniformemente forte no ambiente fuzzy. Assim, é apresentado um conceito de ideal uniformemente primo independente de alpha-cortes, mas de certa forma compatível. Também é investigada a primalidade forte nos quantales, propondo uma definição de ideal primo e uniformemente primo coerente com o ambiente não-comutativo que serve de base para a investigação em fuzzy. Como ferramenta adicional, este trabalho introduz o conceito de t/m sistemas para o ambiente fuzzy sugerindo um caminho alternativo para lidar com primalidade. Por fim, é desenvolvido uma versão fuzzy do teorema da correspondência e noções iniciais sobre o radical de um ideal fuzzy.

2014
Dissertações
1
  • DENIS FELIPE
  • Algoritmos Científicos

  • Orientador : ELIZABETH FERREIRA GOUVEA GOLDBARG
  • MEMBROS DA BANCA :
  • ELIZABETH FERREIRA GOUVEA GOLDBARG
  • MARCO CESAR GOLDBARG
  • MYRIAM REGATTIERI DE BIASE DA SILVA DELGADO
  • Data: 14/02/2014

  • Mostrar Resumo
  • As metaheurísticas são arquiteturas gerais que servem de base para o desenvolvimento de algoritmos heurísticos para resolver problemas. Neste trabalho, uma nova metaheurística é proposta, inspirada no processo da pesquisa científica. Para verificar o potencial da abordagem, são realizados experimentos computacionais utilizando o Problema do Caixeiro Alugador e o Problema da Árvore Geradora Biobjetivo. Os resultados são comparados ao estado da arte de cada um dos problemas. A eficiência dos algoritmos científicos é avaliada com relação ao padrão de qualidade das soluções encontradas e ao tempo computacional utilizado na busca. A importância dos resultados obtidos é verificada por testes estatísticos.


  • Mostrar Abstract
  • As metaheurísticas são arquiteturas gerais que servem de base para o desenvolvimento de algoritmos heurísticos para resolver problemas. Neste trabalho, uma nova metaheurística é proposta, inspirada no processo da pesquisa científica. Para verificar o potencial da abordagem, são realizados experimentos computacionais utilizando o Problema do Caixeiro Alugador e o Problema da Árvore Geradora Biobjetivo. Os resultados são comparados ao estado da arte de cada um dos problemas. A eficiência dos algoritmos científicos é avaliada com relação ao padrão de qualidade das soluções encontradas e ao tempo computacional utilizado na busca. A importância dos resultados obtidos é verificada por testes estatísticos.

2
  • APARECIDA LOPES DE MEDEIROS
  • IMPLEMENTAÇÃO DA TÉCNICA DE SOFTWARE PIPELINING NA REDE EM CHIP IPNOSYS

  • Orientador : MARCIO EDUARDO KREUTZ
  • MEMBROS DA BANCA :
  • MARCIO EDUARDO KREUTZ
  • EDGARD DE FARIA CORREA
  • MONICA MAGALHAES PEREIRA
  • ALISSON VASCONCELOS DE BRITO
  • Data: 21/02/2014

  • Mostrar Resumo
  • Com os avanços do universo tecnológico os sistemas embarcados estão cada vez mais presentes em nosso cotidiano, por estes poderem colocar toda a capacidade computacional dentro de um circuito integrado, o que impulsionou o surgimento de arquiteturas de comunicação, como as redes em chip (Network-on-Chip - NoC), como alternativa de arquitetura de interconexão para sistemas em chip (System-on-Chip - SoC). As NoCs são estruturas que possuem roteadores com canais ponto-a-ponto que interconectam os cores do SoC, provendo comunicação. Existem diversas redes em chip na literatura, cada uma com suas características específicas. Dentre essas, para este trabalho foi a escolhida a rede IPNoSyS (Integrated Processing NoC System) por ser uma rede em chip com características diferenciadas em relação às NoCs em geral, pois seus componentes de roteamento acumulam também a função de processamento; seus roteadores são processantes, ou seja, eles possuem unidades funcionais capazes de executar instruções. Com esse novo modelo, pacotes são processados e roteados pela arquitetura do roteador. Este trabalho visa melhorar o desempenho das aplicações que possuem repetição, pois essas aplicações gastam um tempo maior na sua execução, o que se dá pela repetida execução de suas instruções. Assim, é proposta uma maneira de otimização do tempo de execução dessas estruturas, através do emprego de uma técnica de paralelismo a nível de instruções, visando melhor aproveitar os recursos disponíveis pela arquitetura. As aplicações são testada através de simulações e comparadas com a versão original da arquitetura, que provê paralelismo apenas em nível de pacotes.


  • Mostrar Abstract
  • Com os avanços do universo tecnológico os sistemas embarcados estão cada vez mais presentes em nosso cotidiano, por estes poderem colocar toda a capacidade computacional dentro de um circuito integrado, o que impulsionou o surgimento de arquiteturas de comunicação, como as redes em chip (Network-on-Chip - NoC), como alternativa de arquitetura de interconexão para sistemas em chip (System-on-Chip - SoC). As NoCs são estruturas que possuem roteadores com canais ponto-a-ponto que interconectam os cores do SoC, provendo comunicação. Existem diversas redes em chip na literatura, cada uma com suas características específicas. Dentre essas, para este trabalho foi a escolhida a rede IPNoSyS (Integrated Processing NoC System) por ser uma rede em chip com características diferenciadas em relação às NoCs em geral, pois seus componentes de roteamento acumulam também a função de processamento; seus roteadores são processantes, ou seja, eles possuem unidades funcionais capazes de executar instruções. Com esse novo modelo, pacotes são processados e roteados pela arquitetura do roteador. Este trabalho visa melhorar o desempenho das aplicações que possuem repetição, pois essas aplicações gastam um tempo maior na sua execução, o que se dá pela repetida execução de suas instruções. Assim, é proposta uma maneira de otimização do tempo de execução dessas estruturas, através do emprego de uma técnica de paralelismo a nível de instruções, visando melhor aproveitar os recursos disponíveis pela arquitetura. As aplicações são testada através de simulações e comparadas com a versão original da arquitetura, que provê paralelismo apenas em nível de pacotes.

3
  • FILLIPE MORAIS RODRIGUES
  • Uso de Confiabilidade na Rotulação de Exemplos em Problemas de Classificação Multirrótulo com Aprendizado Semissupervisionado

  • Orientador : ANNE MAGALY DE PAULA CANUTO
  • MEMBROS DA BANCA :
  • ANNE MAGALY DE PAULA CANUTO
  • ARAKEN DE MEDEIROS SANTOS
  • FLAVIA CRISTINA BERNARDINI
  • JOAO CARLOS XAVIER JUNIOR
  • Data: 21/02/2014

  • Mostrar Resumo
  • As técnicas de Aprendizado de máquina estudam tarefas de classificação para a aquisição de conhecimento através de um conjunto de dados ou informações. Alguns métodos de aprendizado utilizados pela literatura são os métodos baseados em aprendizado semissupervisionado; este é representado por pequenos percentuais de exemplos rotulados (aprendizado supervisionado) combinados com uma quantidade de exemplos não rotulados (não-supervisionado) durante a fase de treinamento. Grande parte dos métodos de aprendizado de máquina tratam de problemas unirrótulo, ou seja, problemas onde exemplos de um determinado conjunto são associados a uma única classe; entretanto, diante da necessidade existente de classificar dados em uma grande quantidade de domínios, ou em mais de uma classe, essa classificação citada denomína-se classificação multirrótulo. Dessa maneira, a utilização de técnicas de aprendizado semissupervisionado, bem como de métodos de classificação multirrótulos, foram imprescindíveis na apresentação dos resultados. Este trabalho apresenta uma análise experimental dos resultados obtidos por meio da utilização do aprendizado semissupervisionado em problemas de classificação multirrótulo usando parâmetro de confiabilidade como auxílio na classificação do dados.


  • Mostrar Abstract
  • As técnicas de Aprendizado de máquina estudam tarefas de classificação para a aquisição de conhecimento através de um conjunto de dados ou informações. Alguns métodos de aprendizado utilizados pela literatura são os métodos baseados em aprendizado semissupervisionado; este é representado por pequenos percentuais de exemplos rotulados (aprendizado supervisionado) combinados com uma quantidade de exemplos não rotulados (não-supervisionado) durante a fase de treinamento. Grande parte dos métodos de aprendizado de máquina tratam de problemas unirrótulo, ou seja, problemas onde exemplos de um determinado conjunto são associados a uma única classe; entretanto, diante da necessidade existente de classificar dados em uma grande quantidade de domínios, ou em mais de uma classe, essa classificação citada denomína-se classificação multirrótulo. Dessa maneira, a utilização de técnicas de aprendizado semissupervisionado, bem como de métodos de classificação multirrótulos, foram imprescindíveis na apresentação dos resultados. Este trabalho apresenta uma análise experimental dos resultados obtidos por meio da utilização do aprendizado semissupervisionado em problemas de classificação multirrótulo usando parâmetro de confiabilidade como auxílio na classificação do dados.

4
  • RONILDO PINHEIRO DE ARAUJO MOURA
  • Algoritmos de Agrupamento Fuzzy Intervalares e Índices de Validação para Agrupamento de Dados Simbólicos do Tipo Intervalo.

  • Orientador : BENJAMIN RENE CALLEJAS BEDREGAL
  • MEMBROS DA BANCA :
  • ANNE MAGALY DE PAULA CANUTO
  • BENJAMIN RENE CALLEJAS BEDREGAL
  • FRANCISCO DE ASSIS TENORIO DE CARVALHO
  • REGIVAN HUGO NUNES SANTIAGO
  • Data: 21/02/2014

  • Mostrar Resumo
  • A Análise de Dados Simbólicos (SDA) tem como objetivo prover mecanismos de redução de grandes bases de dados para extração do conhecimento e desenvolver métodos que descrevem variáveis do tipo complexas, intervalos ou distribuição de probabilidade. O objetivo desta proposta é estender métodos de agrupamento clássicos para dados sim- bólicos intervalares baseado em medidas de dissimilaridade essencialmente intervalar. A aplicação de distâncias essencialmente intervalar ainda está na fase de amadurecimento e esta trabalho almeja ajudar no amadurecimento dessa abordagem. Este trabalho engloba o paradigma fuzzy para realizar o agrupamento de dados. Os métodos propostos consideram três versões para uma extensão do Fuzzy c-Means e uma do ckMeans. Além disso, é proposto uma abordagem de adaptação para avaliação das partições geradas utilizando índices de validação para variáveis do tipo intervalar.


  • Mostrar Abstract
  • A Análise de Dados Simbólicos (SDA) tem como objetivo prover mecanismos de redução de grandes bases de dados para extração do conhecimento e desenvolver métodos que descrevem variáveis do tipo complexas, intervalos ou distribuição de probabilidade. O objetivo desta proposta é estender métodos de agrupamento clássicos para dados sim- bólicos intervalares baseado em medidas de dissimilaridade essencialmente intervalar. A aplicação de distâncias essencialmente intervalar ainda está na fase de amadurecimento e esta trabalho almeja ajudar no amadurecimento dessa abordagem. Este trabalho engloba o paradigma fuzzy para realizar o agrupamento de dados. Os métodos propostos consideram três versões para uma extensão do Fuzzy c-Means e uma do ckMeans. Além disso, é proposto uma abordagem de adaptação para avaliação das partições geradas utilizando índices de validação para variáveis do tipo intervalar.

5
  • HELOÍNA ALVES ARNALDO
  • Novos Métodos Determinísticos para Gerar  Centros Iniciais dos Grupos no Algoritmo Fuzzy C-Means e Variantes

  • Orientador : BENJAMIN RENE CALLEJAS BEDREGAL
  • MEMBROS DA BANCA :
  • BENJAMIN RENE CALLEJAS BEDREGAL
  • ANNE MAGALY DE PAULA CANUTO
  • REGIVAN HUGO NUNES SANTIAGO
  • GRAÇALIZ PEREIRA DIMURO
  • Data: 24/02/2014

  • Mostrar Resumo
  • Agrupamento de dados é uma técnica aplicada a diversas áreas como mineração de dados,
    processamento de imagens e reconhecimento de padrões. O algoritmo Fuzzy C-Means
    (FCM) é um dos algoritmos de agrupamento fuzzy de dados mais utilizados e discutidos
    na literatura. O desempenho do FCM é fortemente afetado pela seleção dos centros
    iniciais dos grupos. Portanto, a escolha de um bom conjunto de centros iniciais é muito
    importante para o desempenho do algoritmo. No entanto, no FCM,  a escolha dos centroides iniciais é feita de forma
    aleatória, tornando difícil encontrar um bom conjunto. Este trabalho propõe dois novos
    métodos determinísticos para obter os centros iniciais dos grupos, de forma determinística, no algoritmo
    FCM, e que podem também ser usados em algumas variantes do FCM. Neste trabalho
    aplicamos esses métodos na variante ckMeans.Com os métodos propostos, pretendemos obter um conjunto
    de centroides iniciais que esteja próximo dos centroides reais do agrupamento. Com esta
    abordagem queremos reduzir o número de iterações para estes algoritmos convergirem e
    o tempo de processamento sem afetar a qualidade do agrupamento ou mesmo obter um
    melhor agrupamento. Neste sentido, usamos diversos índices de validação para medir a qualidade dos agrupamentos achados pelos algoritmos FCM e ckmeans, modificados com os métodos de inicialização propostos, quando aplicados a diversas bases de dados conhecidas.


  • Mostrar Abstract
  • Agrupamento de dados é uma técnica aplicada a diversas áreas como mineração de dados,
    processamento de imagens e reconhecimento de padrões. O algoritmo Fuzzy C-Means
    (FCM) é um dos algoritmos de agrupamento fuzzy de dados mais utilizados e discutidos
    na literatura. O desempenho do FCM é fortemente afetado pela seleção dos centros
    iniciais dos grupos. Portanto, a escolha de um bom conjunto de centros iniciais é muito
    importante para o desempenho do algoritmo. No entanto, no FCM,  a escolha dos centroides iniciais é feita de forma
    aleatória, tornando difícil encontrar um bom conjunto. Este trabalho propõe dois novos
    métodos determinísticos para obter os centros iniciais dos grupos, de forma determinística, no algoritmo
    FCM, e que podem também ser usados em algumas variantes do FCM. Neste trabalho
    aplicamos esses métodos na variante ckMeans.Com os métodos propostos, pretendemos obter um conjunto
    de centroides iniciais que esteja próximo dos centroides reais do agrupamento. Com esta
    abordagem queremos reduzir o número de iterações para estes algoritmos convergirem e
    o tempo de processamento sem afetar a qualidade do agrupamento ou mesmo obter um
    melhor agrupamento. Neste sentido, usamos diversos índices de validação para medir a qualidade dos agrupamentos achados pelos algoritmos FCM e ckmeans, modificados com os métodos de inicialização propostos, quando aplicados a diversas bases de dados conhecidas.

6
  • JUVANE NUNES MARCIANO
  • Aprendizagem da Língua Japonesa Apoiada por Ferramentas Computacionais: Estudo, Design e Desenvolvimento do Jogo Karuchā Ships Invaders

  • Orientador : LEONARDO CUNHA DE MIRANDA
  • MEMBROS DA BANCA :
  • LEONARDO CUNHA DE MIRANDA
  • ANDRE MAURICIO CUNHA CAMPOS
  • MARCIA JACYNTHA NUNES RODRIGUES LUCENA
  • FÁBIO FERRENTINI SAMPAIO
  • Data: 24/02/2014

  • Mostrar Resumo
  • O uso de ferramentas tecnológicas para apoiar o processo de ensino-aprendizagem de diversas áreas do conhecimento é notório e vem crescendo a cada dia, inclusive, no contexto de aprendizado de idiomas. O estudo de Aprendizado de Idioma com Auxílio de Computador – Computer Assisted Language Learning (CALL) – realizado nesta pesquisa teve o intuito de avaliar as ferramentas existentes nesse contexto, focadas especificamente no idioma japonês e, a partir desse estudo, realizar o desenvolvimento de uma nova ferramenta que auxilie o ensino da língua japonesa. Como resultados, apresentamos um abrangente levantamento sobre o tema nas mais diversas tecnologias, bem como, descrevemos todos os passos do desenvolvimento do jogo Karuchā Ships Invaders, que se propõe a ensinar conceitos básicos do idioma, mesclando-se ao entretenimento, ainda com foco no público de estudantes brasileiros de japonês. Serão apresentadas as fases de concepção do jogo e sua evolução ao longo da pesquisa, bem como a avaliação de sua interface. Ainda, apresentamos um método para avaliar aspectos motivacionais de ferramentas computacionais com foco educacional e resultados de um experimento realizado com usuários em perspectiva.


  • Mostrar Abstract
  • O uso de ferramentas tecnológicas para apoiar o processo de ensino-aprendizagem de diversas áreas do conhecimento é notório e vem crescendo a cada dia, inclusive, no contexto de aprendizado de idiomas. O estudo de Aprendizado de Idioma com Auxílio de Computador – Computer Assisted Language Learning (CALL) – realizado nesta pesquisa teve o intuito de avaliar as ferramentas existentes nesse contexto, focadas especificamente no idioma japonês e, a partir desse estudo, realizar o desenvolvimento de uma nova ferramenta que auxilie o ensino da língua japonesa. Como resultados, apresentamos um abrangente levantamento sobre o tema nas mais diversas tecnologias, bem como, descrevemos todos os passos do desenvolvimento do jogo Karuchā Ships Invaders, que se propõe a ensinar conceitos básicos do idioma, mesclando-se ao entretenimento, ainda com foco no público de estudantes brasileiros de japonês. Serão apresentadas as fases de concepção do jogo e sua evolução ao longo da pesquisa, bem como a avaliação de sua interface. Ainda, apresentamos um método para avaliar aspectos motivacionais de ferramentas computacionais com foco educacional e resultados de um experimento realizado com usuários em perspectiva.

7
  • DANIEL SOARES BRANDAO
  • Avaliando o impacto da utilização de renderizações panorâmicas para a navegação em ambientes virtuais.

  • Orientador : SELAN RODRIGUES DOS SANTOS
  • MEMBROS DA BANCA :
  • SELAN RODRIGUES DOS SANTOS
  • ANDRE MAURICIO CUNHA CAMPOS
  • JAUVANE CAVALCANTE DE OLIVEIRA
  • Data: 25/02/2014

  • Mostrar Resumo
  • Renderização panorâmica é a visualização de objetos tridimensionais em um ambiente virtual através de um largo ângulo de visão. Este trabalho procurou investigar se a utilização de panoramas é capaz de agilizar buscas em um ambiente virtual. Panoramas permitem a apresentação do espaço através de uma menor necessidade de modificar a orientação da câmera, principalmente para o caso de projeções que englobam os 360° que cercam o usuário, o que pode beneficiar as buscas. Contudo, quanto maior o ângulo, mais a visualização do ambiente é distorcida, provocando certa confusão na navegação. A distorção é ainda maior quando o usuário modifica a inclinação da câmera, ou seja, ao olhar para cima ou para baixo. Neste trabalho foi desenvolvida uma técnica para eliminar especificamente as distorções provocadas pela mudança de inclinação, a qual foi denominada projeção hemisférica. Foram realizados experimentos buscando avaliar o desempenho na navegação de busca através das projeções em perspectiva, cilíndrica e hemisférica. Os resultados indicam que a navegação por projeção em perspectiva é superior a navegação por projeções panorâmicas, possivelmente devido a fatores como (i) pouca experiência dos participantes em compreender cenas exibidas de forma panorâmica, (ii) a inerente presença de distorção nas projeções panorâmicas e (iii) a menor resolução de visualização, pois os objetos são apresentados em tamanhos menores nas projeções panorâmicas, dificultando a percepção de detalhes. Contudo, a projeção hemisférica se demonstrou melhor do que a cilíndrica, indicando que a técnica desenvolvida proporciona benefícios para navegação em comparação com as técnicas de projeção panorâmica atuais. A projeção hemisférica também proporcionou a menor quantidade de modificações da orientação da câmera, o que é um indício de que as projeções hemisféricas podem ser particularmente úteis em situações onde existem restrições na facilidade de alterar a orientação. Pesquisas futuras investigarão o desempenho das câmeras sobre dispositivos de interações mais lentos, como o uso apenas de teclado, ou interfaces cérebro-máquina.


  • Mostrar Abstract
  • Renderização panorâmica é a visualização de objetos tridimensionais em um ambiente virtual através de um largo ângulo de visão. Este trabalho procurou investigar se a utilização de panoramas é capaz de agilizar buscas em um ambiente virtual. Panoramas permitem a apresentação do espaço através de uma menor necessidade de modificar a orientação da câmera, principalmente para o caso de projeções que englobam os 360° que cercam o usuário, o que pode beneficiar as buscas. Contudo, quanto maior o ângulo, mais a visualização do ambiente é distorcida, provocando certa confusão na navegação. A distorção é ainda maior quando o usuário modifica a inclinação da câmera, ou seja, ao olhar para cima ou para baixo. Neste trabalho foi desenvolvida uma técnica para eliminar especificamente as distorções provocadas pela mudança de inclinação, a qual foi denominada projeção hemisférica. Foram realizados experimentos buscando avaliar o desempenho na navegação de busca através das projeções em perspectiva, cilíndrica e hemisférica. Os resultados indicam que a navegação por projeção em perspectiva é superior a navegação por projeções panorâmicas, possivelmente devido a fatores como (i) pouca experiência dos participantes em compreender cenas exibidas de forma panorâmica, (ii) a inerente presença de distorção nas projeções panorâmicas e (iii) a menor resolução de visualização, pois os objetos são apresentados em tamanhos menores nas projeções panorâmicas, dificultando a percepção de detalhes. Contudo, a projeção hemisférica se demonstrou melhor do que a cilíndrica, indicando que a técnica desenvolvida proporciona benefícios para navegação em comparação com as técnicas de projeção panorâmica atuais. A projeção hemisférica também proporcionou a menor quantidade de modificações da orientação da câmera, o que é um indício de que as projeções hemisféricas podem ser particularmente úteis em situações onde existem restrições na facilidade de alterar a orientação. Pesquisas futuras investigarão o desempenho das câmeras sobre dispositivos de interações mais lentos, como o uso apenas de teclado, ou interfaces cérebro-máquina.

8
  • SARAH GOMES SAKAMOTO
  • Ambientes Residenciais Controlados por Dispositivos Móveis: Estudo, Concepção e Desenvolvimento de um Aplicativo Considerando a Diversidade

  • Orientador : LEONARDO CUNHA DE MIRANDA
  • MEMBROS DA BANCA :
  • LEONARDO CUNHA DE MIRANDA
  • LYRENE FERNANDES DA SILVA
  • VÂNIA PAULA DE ALMEIDA NERIS
  • Data: 25/02/2014

  • Mostrar Resumo
  • Com o desenvolvimento tecnológico ocorrido nas últimas décadas, o ambiente residencial vem incorporando a cada dia novos equipamentos eletro-eletrônicos de consumo doméstico a fim de facilitar as atividades do cotidiano e promover uma melhor qualidade de vida dos moradores-usuários. Controlar esse ambiente no mundo contemporâneo demanda interação com diferentes interfaces de controle, tornando essa tarefa, relativamente, complexa. Torna-se necessário, portanto, prover interfaces mais adequadas para controlar esses equipamentos. Os dispositivos móveis surgem como uma plataforma viável para realizar esse controle, trazendo comodidade, flexibilidade e diferentes mecanismos de interação com os equipamentos desse ambiente. Porém, ao se projetar novas soluções para esse contexto de uso é necessário considerar a diversidade de usuários e a riqueza de situações de uso desse ambiente. O estudo realizado nesta pesquisa visa compreender aspectos da interação desse contexto específico considerando a relação entre os usuários, a tecnologia e o ambiente. Como resultados, apresentamos um abrangente levantamento de aplicações, a identificação de desafios desse domínio sob a perspectiva da diversidade e o levantamento de requisitos para aplicações desse contexto. Ainda, serão apresentados os passos da concepção de um aplicativo que apóia o controle de recursos do ambiente residencial via dispositivo móvel juntamente com os resultados de um experimento realizado com potenciais usuários da solução computacional implementada.


  • Mostrar Abstract
  • Com o desenvolvimento tecnológico ocorrido nas últimas décadas, o ambiente residencial vem incorporando a cada dia novos equipamentos eletro-eletrônicos de consumo doméstico a fim de facilitar as atividades do cotidiano e promover uma melhor qualidade de vida dos moradores-usuários. Controlar esse ambiente no mundo contemporâneo demanda interação com diferentes interfaces de controle, tornando essa tarefa, relativamente, complexa. Torna-se necessário, portanto, prover interfaces mais adequadas para controlar esses equipamentos. Os dispositivos móveis surgem como uma plataforma viável para realizar esse controle, trazendo comodidade, flexibilidade e diferentes mecanismos de interação com os equipamentos desse ambiente. Porém, ao se projetar novas soluções para esse contexto de uso é necessário considerar a diversidade de usuários e a riqueza de situações de uso desse ambiente. O estudo realizado nesta pesquisa visa compreender aspectos da interação desse contexto específico considerando a relação entre os usuários, a tecnologia e o ambiente. Como resultados, apresentamos um abrangente levantamento de aplicações, a identificação de desafios desse domínio sob a perspectiva da diversidade e o levantamento de requisitos para aplicações desse contexto. Ainda, serão apresentados os passos da concepção de um aplicativo que apóia o controle de recursos do ambiente residencial via dispositivo móvel juntamente com os resultados de um experimento realizado com potenciais usuários da solução computacional implementada.

9
  • ROMEU FERREIRA DE OLIVEIRA
  • Um Método Semi-automatizado para Elicitação de Requisitos de Acessibilidade Web

  • Orientador : LYRENE FERNANDES DA SILVA
  • MEMBROS DA BANCA :
  • LYRENE FERNANDES DA SILVA
  • LEONARDO CUNHA DE MIRANDA
  • CARLA TACIANA LIMA LOURENCO SILVA SCHUENEMANN
  • Data: 26/02/2014

  • Mostrar Resumo
  • No contexto de engenharia de software, a acessibilidade web vem ganhando cada vez mais espaço, se firmando como um importante atributo de qualidade. Esse fato se deve a iniciativas de instituições como a W3C (World Wide Web Consortium) e ao surgimento de normas e leis que fundamentam a importância de elaborar sites e aplicações Web acessíveis. Considerar requisitos não-funcionais (RNFs) tal como a acessibilidade já durante as atividades de análise e especificação de requisitos se mostra uma estratégia para facilitar o andamento do projeto, evitando retrabalho em fases avançadas do desenvolvimento de software por causa de  possíveis erros, falhas ou omissão na elicitação. O objetivo desta proposta de dissertação é desenvolver um processo e uma ferramenta para apoiar a elicitação dos requisitos de acessibilidade web. A estratégia de elicitação presente neste processo é fundamentada em abordagens orientadas a metas e na utilização de catálogos de RNFs, criados com base nas diretrizes contidas no WCAG 2.0 (Web Content Accessibility Guideline) proposto pela W3C.


  • Mostrar Abstract
  • No contexto de engenharia de software, a acessibilidade web vem ganhando cada vez mais espaço, se firmando como um importante atributo de qualidade. Esse fato se deve a iniciativas de instituições como a W3C (World Wide Web Consortium) e ao surgimento de normas e leis que fundamentam a importância de elaborar sites e aplicações Web acessíveis. Considerar requisitos não-funcionais (RNFs) tal como a acessibilidade já durante as atividades de análise e especificação de requisitos se mostra uma estratégia para facilitar o andamento do projeto, evitando retrabalho em fases avançadas do desenvolvimento de software por causa de  possíveis erros, falhas ou omissão na elicitação. O objetivo desta proposta de dissertação é desenvolver um processo e uma ferramenta para apoiar a elicitação dos requisitos de acessibilidade web. A estratégia de elicitação presente neste processo é fundamentada em abordagens orientadas a metas e na utilização de catálogos de RNFs, criados com base nas diretrizes contidas no WCAG 2.0 (Web Content Accessibility Guideline) proposto pela W3C.

10
  • EVERTON FAGNER COSTA DE ALMEIDA
  •  Infoestrutura: Um Sistema em Nuvem para Prover Contexto como Serviço no Cenário de Internet das Coisas Integrado a Ambientes Veiculares.

  • Orientador : AUGUSTO JOSE VENANCIO NETO
  • MEMBROS DA BANCA :
  • AUGUSTO JOSE VENANCIO NETO
  • NELIO ALESSANDRO AZEVEDO CACHO
  • ANDRE LUIZ LINS DE AQUINO
  • Data: 27/02/2014

  • Mostrar Resumo
  • As redes de computadores estão por toda a parte e o advento do IPv6 abre caminho para a explosão da Internet das Coisas. Esse conceito maximiza o compartilhamento de dados entre máquinas computacionais e objetos do dia a dia. Uma das áreas inseridas no âmbito de internet das coisas são as redes veiculares. No entanto, as informações geradas individualmente pelos veículos não contribuem para uma melhoria no trânsito, uma vez que se tem as informações isoladas. Este artigo apresenta a Infoestrutrura, um sistema que vem para facilitar os esforços e custos para desenvolvimento de aplicações sensíveis ao contexto para o cenário de Internet das coisas, que permite gerenciar, armazenar e combinar os dados a fim de gerar contexto consonante indicações e preferências de aplicações veiculares.


  • Mostrar Abstract
  • As redes de computadores estão por toda a parte e o advento do IPv6 abre caminho para a explosão da Internet das Coisas. Esse conceito maximiza o compartilhamento de dados entre máquinas computacionais e objetos do dia a dia. Uma das áreas inseridas no âmbito de internet das coisas são as redes veiculares. No entanto, as informações geradas individualmente pelos veículos não contribuem para uma melhoria no trânsito, uma vez que se tem as informações isoladas. Este artigo apresenta a Infoestrutrura, um sistema que vem para facilitar os esforços e custos para desenvolvimento de aplicações sensíveis ao contexto para o cenário de Internet das coisas, que permite gerenciar, armazenar e combinar os dados a fim de gerar contexto consonante indicações e preferências de aplicações veiculares.

11
  • JOSE SUENEY DE LIMA
  • Detecção e Recuperação de Falhas para a Máquina de Redução de Grafos PEWS-AM

  • Orientador : UMBERTO SOUZA DA COSTA
  • MEMBROS DA BANCA :
  • MARTIN ALEJANDRO MUSICANTE
  • REGINA MARIA MOTZ CARRANO
  • UMBERTO SOUZA DA COSTA
  • Data: 28/02/2014

  • Mostrar Resumo
  • Serviços Web são unidades de software que permitem o acesso a um ou mais recursos, dando suporte à implantação de processos de negócios na Web. Eles permitem a interação através de interfaces bem-definidas, utilizando-se de protocolos padrões da Web, tornando possível a comunicação entre entidades implementadas em diferentes tipos de plataformas. Em virtude dessas características, Serviços Web podem ser integrados com o objetivo de formar aplicações mais robustas, com baixo acoplamento entre serviços, através de composições. Serviços Web estão sujeitos a falhas, situações indesejadas que podem comprometer o processo de negócio parcialmente ou mesmo totalmente. Falhas podem ocorrer tanto na concepção de composições quanto na execução das mesmas. Em virtude disso, é essencial a criação de mecanismos que tornem a execução das composições de serviços mais robusta e tratem falhas. Especificamente, propomos o suporte ao tratamento de falhas em composições de serviços descritas na linguagem PEWS e executadas sobre PEWS-AM, uma implementação criada a partir da noção de grafos. Para suportar o tratamento de falhas em PEWS-AM, estendemos as especificações PEWS e adaptamos as regras de tradução e redução de grafos desta máquina. Estas contribuições foram realizadas tanto no modelo da máquina abstrata quanto no nível da implementação.


  • Mostrar Abstract
  • Serviços Web são unidades de software que permitem o acesso a um ou mais recursos, dando suporte à implantação de processos de negócios na Web. Eles permitem a interação através de interfaces bem-definidas, utilizando-se de protocolos padrões da Web, tornando possível a comunicação entre entidades implementadas em diferentes tipos de plataformas. Em virtude dessas características, Serviços Web podem ser integrados com o objetivo de formar aplicações mais robustas, com baixo acoplamento entre serviços, através de composições. Serviços Web estão sujeitos a falhas, situações indesejadas que podem comprometer o processo de negócio parcialmente ou mesmo totalmente. Falhas podem ocorrer tanto na concepção de composições quanto na execução das mesmas. Em virtude disso, é essencial a criação de mecanismos que tornem a execução das composições de serviços mais robusta e tratem falhas. Especificamente, propomos o suporte ao tratamento de falhas em composições de serviços descritas na linguagem PEWS e executadas sobre PEWS-AM, uma implementação criada a partir da noção de grafos. Para suportar o tratamento de falhas em PEWS-AM, estendemos as especificações PEWS e adaptamos as regras de tradução e redução de grafos desta máquina. Estas contribuições foram realizadas tanto no modelo da máquina abstrata quanto no nível da implementação.

12
  • ELDER GONÇALVES PEREIRA
  •  O Problema do Hiker Dice em Tabuleiro Compacto: Um Estudo Algoritmico

  • Orientador : MARCO CESAR GOLDBARG
  • MEMBROS DA BANCA :
  • ELIZABETH FERREIRA GOUVEA GOLDBARG
  • HENRIQUE PACCA LOUREIRO LUNA
  • ILONEIDE CARLOS DE OLIVEIRA RAMOS
  • MARCO CESAR GOLDBARG
  • MYRIAM REGATTIERI DE BIASE DA SILVA DELGADO
  • Data: 21/03/2014

  • Mostrar Resumo
  • O presente trabalho apresenta algoritmos que buscam as melhores soluções nos tabuleiros de ordem n e sem buracos (tabuleiro compacto) no problema Hiker Dice. Na Ciência da Computação é crescente o interesse em jogos lógicos como o Hiker Dice, devido à dificuldade de solução que esses jogos demandam, bem como suas aplicações em modelos para problemas do mundo real. A pesquisa presentemente relatada, modela o problema através de Grafos, e propõe duas classes de algoritmos de solução. A primeira classe, pertencente aos algoritmos exatos, é constituída por um algoritmo em backtracking aparelhado com um retorno realizado através de regras lógicas e limite da melhor solução encontrada. A segunda classe de algoritmos é constituída por metaheurísticas do tipo Computação Evolucionária, Busca Local Aleatorizada e GRASP (Greed Randomized Adaptative Search). Para os algoritmos metaheurísticos foram criados três operadores específicos da seguinte forma: de reestruturação, de recombinação com duas soluções e construtivo guloso aleatório. O algoritmo exato foi testado em tabuleiros de ordem 4 a 7 esgotando a possibilidade de tratamento computacional dos casos maiores em virtude da explosão em tempo de processamento. As metaheurísticas foram testadas nos tabuleiros 8x8 até 9x9. O processo de afinamento das metaheurísticas envolveu a consideração de até três diferentes parâmetros, adotando-se a configuração de melhor desempenho no tabuleiro 7x7 através do teste estatístico não-paramétrico (U de Mann-Whitney). Nesse processo de avaliação dos parâmetros foram utilizados os resultados obtidos nos algoritmos exatos. Os algoritmos afinados foram então aplicados na solução dos tabuleiros 8 e 9 e comparados pelo mesmo teste estatístico não-paramétrico. A comparação dos algoritmos sugere um melhor potencial de desempenho para o algoritmo de busca local aleatorizada. Ao final do documento é proposta a conclusão da pesquisa com a ampliação dos casos teste e o aperfeiçoamento dos algoritmos propostos.


  • Mostrar Abstract
  • O presente trabalho apresenta algoritmos que buscam as melhores soluções nos tabuleiros de ordem n e sem buracos (tabuleiro compacto) no problema Hiker Dice. Na Ciência da Computação é crescente o interesse em jogos lógicos como o Hiker Dice, devido à dificuldade de solução que esses jogos demandam, bem como suas aplicações em modelos para problemas do mundo real. A pesquisa presentemente relatada, modela o problema através de Grafos, e propõe duas classes de algoritmos de solução. A primeira classe, pertencente aos algoritmos exatos, é constituída por um algoritmo em backtracking aparelhado com um retorno realizado através de regras lógicas e limite da melhor solução encontrada. A segunda classe de algoritmos é constituída por metaheurísticas do tipo Computação Evolucionária, Busca Local Aleatorizada e GRASP (Greed Randomized Adaptative Search). Para os algoritmos metaheurísticos foram criados três operadores específicos da seguinte forma: de reestruturação, de recombinação com duas soluções e construtivo guloso aleatório. O algoritmo exato foi testado em tabuleiros de ordem 4 a 7 esgotando a possibilidade de tratamento computacional dos casos maiores em virtude da explosão em tempo de processamento. As metaheurísticas foram testadas nos tabuleiros 8x8 até 9x9. O processo de afinamento das metaheurísticas envolveu a consideração de até três diferentes parâmetros, adotando-se a configuração de melhor desempenho no tabuleiro 7x7 através do teste estatístico não-paramétrico (U de Mann-Whitney). Nesse processo de avaliação dos parâmetros foram utilizados os resultados obtidos nos algoritmos exatos. Os algoritmos afinados foram então aplicados na solução dos tabuleiros 8 e 9 e comparados pelo mesmo teste estatístico não-paramétrico. A comparação dos algoritmos sugere um melhor potencial de desempenho para o algoritmo de busca local aleatorizada. Ao final do documento é proposta a conclusão da pesquisa com a ampliação dos casos teste e o aperfeiçoamento dos algoritmos propostos.

13
  • ANA CARLA DE CARVALHO CORREIA
  • Interação Gestual em Ambiente Residencial: Estudo, Concepção e Desenvolvimento

  • Orientador : LEONARDO CUNHA DE MIRANDA
  • MEMBROS DA BANCA :
  • JAIR CAVALCANTI LEITE
  • LEONARDO CUNHA DE MIRANDA
  • MARIA CECILIA CALANI BARANAUSKAS
  • Data: 24/03/2014

  • Mostrar Resumo
  • O controle e automação de ambientes residenciais – domótica – é uma área emergente de aplicação da computação. O desenvolvimento de sistemas computacionais para domótica é complexo, devido à diversidade de potenciais usuários e por imergir em um contexto de uso de relações emocionais e de construção familiar. Atualmente, o foco do desenvolvimento desse tipo de sistema está direcionado, sobretudo, aos aspectos tecnológicos e físicos. Em virtude deste fato, a interação gestual nesta pesquisa é investigada sob a ótica da área de Interação Humano-Computador (IHC). Inicialmente, abordamos a temática através da construção de um framework conceitual para discussão de desafios da área, de forma integrada as dimensões: pessoas, modo de interação e domótica. Uma análise mais aprofundada do domínio é realizada empregando o referencial teórico-metodológico da Semiótica Organizacional. Posteriormente, são definidas recomendações para a diversidade que embasam/inspiram o design inclusivo, norteado pelas habilidades físicas, perceptivas e cognitivas, que visam melhor representar a diversidade em questão. Embora os desenvolvedores tenham o apoio de tecnologias de reconhecimento gestual que auxiliam o desenvolvimento “mais rápido”, esses profissionais enfrentam outra dificuldade em não restringir os comandos gestuais da aplicação aos gestos padrões fornecidos por frameworks de desenvolvimento. Portanto, uma abstração da interação gestual foi idealizada por meio de uma formalização, descrita de forma sintática através de blocos de construção que origina uma gramática da interação gestual e, de forma semântica, abordada sob o ponto de vista do sistema residencial. Assim, definimos um conjunto de métricas fundamentadas nas recomendações que são descritas com informações oriundas da gramática preestabelecida e, ainda, concebemos e implementamos em Java, sob o alicerce dessa gramática, um sistema residencial baseada em interação gestual para uso com o Microsoft Kinect. Por fim, realizamos experimento com potenciais usuários finais do sistema com o intuito de melhor analisar os resultados da pesquisa.


  • Mostrar Abstract
  • O controle e automação de ambientes residenciais – domótica – é uma área emergente de aplicação da computação. O desenvolvimento de sistemas computacionais para domótica é complexo, devido à diversidade de potenciais usuários e por imergir em um contexto de uso de relações emocionais e de construção familiar. Atualmente, o foco do desenvolvimento desse tipo de sistema está direcionado, sobretudo, aos aspectos tecnológicos e físicos. Em virtude deste fato, a interação gestual nesta pesquisa é investigada sob a ótica da área de Interação Humano-Computador (IHC). Inicialmente, abordamos a temática através da construção de um framework conceitual para discussão de desafios da área, de forma integrada as dimensões: pessoas, modo de interação e domótica. Uma análise mais aprofundada do domínio é realizada empregando o referencial teórico-metodológico da Semiótica Organizacional. Posteriormente, são definidas recomendações para a diversidade que embasam/inspiram o design inclusivo, norteado pelas habilidades físicas, perceptivas e cognitivas, que visam melhor representar a diversidade em questão. Embora os desenvolvedores tenham o apoio de tecnologias de reconhecimento gestual que auxiliam o desenvolvimento “mais rápido”, esses profissionais enfrentam outra dificuldade em não restringir os comandos gestuais da aplicação aos gestos padrões fornecidos por frameworks de desenvolvimento. Portanto, uma abstração da interação gestual foi idealizada por meio de uma formalização, descrita de forma sintática através de blocos de construção que origina uma gramática da interação gestual e, de forma semântica, abordada sob o ponto de vista do sistema residencial. Assim, definimos um conjunto de métricas fundamentadas nas recomendações que são descritas com informações oriundas da gramática preestabelecida e, ainda, concebemos e implementamos em Java, sob o alicerce dessa gramática, um sistema residencial baseada em interação gestual para uso com o Microsoft Kinect. Por fim, realizamos experimento com potenciais usuários finais do sistema com o intuito de melhor analisar os resultados da pesquisa.

14
  • ALESSANDRO LUIZ STAMATTO FERREIRA
  • Interfaces Cérebro-Computador: Estudo, Design e Desenvolvimento do Jogo AdmiralMind Battleship

  • Orientador : LEONARDO CUNHA DE MIRANDA
  • MEMBROS DA BANCA :
  • JAIR CAVALCANTI LEITE
  • JOSÉ ANTÔNIO DOS SANTOS BORGES
  • LEONARDO CUNHA DE MIRANDA
  • MARCOS CESAR MADRUGA ALVES PINHEIRO
  • Data: 28/03/2014

  • Mostrar Resumo
  • Interface Cérebro-Computador (ICC) é uma área que vêm sendo estudada há décadas, mas apenas nos últimos anos atingiu um nível de maturidade suficiente para permitir o seu uso com jogos digitais. Considerando que no futuro as ICCs farão parte de sistemas interativos, é preciso estudar o seu uso, avaliar quais são seus desafios e limitações e, também, entender de forma mais apurada como adaptá-la para uso conjugado com outras formas usuais de interação humano-computador. Nesta pesquisa, investigamos apenas as ICCs não-invasivas por entendermos que esse tipo de ICC poderá ser, de fato, utilizada por usuários finais nesse “novo” paradigma de interação. Um dos grandes potenciais de uso de ICCs é no domínio de jogos digitais, onde podem aumentar a imersão e a diversão através de um controle via ondas cerebrais. Apesar disso, nos dias atuais, ainda existem grandes dificuldades no processo de design e desenvolvimento de jogos dessa natureza. Como resultados da pesquisa destacamos o extenso levantamento da área, a identificação de desafios de interação relacionados a ICCs, a identificação dos stakeholders através do referencial teórico-metodológico da Semiótica Organizacional, a confecção de um design-rationale para apoiar o processo de design de jogos dessa natureza e, ainda, o design e a implementação em C++ de um jogo de batalha naval via uma ICC híbrida baseada em movimento imaginado para uso com o headset EEG Emotic EPOC.


  • Mostrar Abstract
  • Interface Cérebro-Computador (ICC) é uma área que vêm sendo estudada há décadas, mas apenas nos últimos anos atingiu um nível de maturidade suficiente para permitir o seu uso com jogos digitais. Considerando que no futuro as ICCs farão parte de sistemas interativos, é preciso estudar o seu uso, avaliar quais são seus desafios e limitações e, também, entender de forma mais apurada como adaptá-la para uso conjugado com outras formas usuais de interação humano-computador. Nesta pesquisa, investigamos apenas as ICCs não-invasivas por entendermos que esse tipo de ICC poderá ser, de fato, utilizada por usuários finais nesse “novo” paradigma de interação. Um dos grandes potenciais de uso de ICCs é no domínio de jogos digitais, onde podem aumentar a imersão e a diversão através de um controle via ondas cerebrais. Apesar disso, nos dias atuais, ainda existem grandes dificuldades no processo de design e desenvolvimento de jogos dessa natureza. Como resultados da pesquisa destacamos o extenso levantamento da área, a identificação de desafios de interação relacionados a ICCs, a identificação dos stakeholders através do referencial teórico-metodológico da Semiótica Organizacional, a confecção de um design-rationale para apoiar o processo de design de jogos dessa natureza e, ainda, o design e a implementação em C++ de um jogo de batalha naval via uma ICC híbrida baseada em movimento imaginado para uso com o headset EEG Emotic EPOC.

15
  • DHIEGO FERNANDES CARVALHO
  • AIGA: UM AMBIENTE INTEGRADO DE GERÊNCIA PARA REDES EM MALHA SEM FIO IEEE 802.11s

  • Orientador : MARCOS CESAR MADRUGA ALVES PINHEIRO
  • MEMBROS DA BANCA :
  • MARCOS CESAR MADRUGA ALVES PINHEIRO
  • AUGUSTO JOSE VENANCIO NETO
  • ROMMEL WLADIMIR DE LIMA
  • Data: 31/03/2014

  • Mostrar Resumo
  • As redes em malha sem fio baseadas no 802.11 (Padrão 802.11s) tem se constituído em um ambiente adequado a ser utilizado em diferentes cenários devido a sua capacidade de autoadaptação. Porém, por ser um padrão recente (2012) diversas pesquisas tem sido feitas no sentido de melhorar o desempenho dessas redes, principalmente no que diz respeito aos protocolos de encaminhamento de quadros que podem ser utilizados. As redes criadas em ambientes controlados (testbeds) são um ótimo recurso para auxiliar nessa tarefa. Entretanto a complexidade para configurar diversos cenários de rede no testbed e coletar as informações peritnentes para análise dificultam muito essa tarefa. Neste trabalho é proposto um ambiente integrado para configuração de testbeds incluindo geração de tráfego e coleta de dados que visa facilitar a realização de experimentos com um variado número de cenários.


  • Mostrar Abstract
  • As redes em malha sem fio baseadas no 802.11 (Padrão 802.11s) tem se constituído em um ambiente adequado a ser utilizado em diferentes cenários devido a sua capacidade de autoadaptação. Porém, por ser um padrão recente (2012) diversas pesquisas tem sido feitas no sentido de melhorar o desempenho dessas redes, principalmente no que diz respeito aos protocolos de encaminhamento de quadros que podem ser utilizados. As redes criadas em ambientes controlados (testbeds) são um ótimo recurso para auxiliar nessa tarefa. Entretanto a complexidade para configurar diversos cenários de rede no testbed e coletar as informações peritnentes para análise dificultam muito essa tarefa. Neste trabalho é proposto um ambiente integrado para configuração de testbeds incluindo geração de tráfego e coleta de dados que visa facilitar a realização de experimentos com um variado número de cenários.

16
  • ELIEZIO SOARES DE SOUSA NETO
  • Avaliando a Robustez e Manutenibilidade do Comportamento Excepcional em Aplicações C#


  • Orientador : NELIO ALESSANDRO AZEVEDO CACHO
  • MEMBROS DA BANCA :
  • FERNANDO JOSÉ CASTOR DE LIMA FILHO
  • NELIO ALESSANDRO AZEVEDO CACHO
  • UMBERTO SOUZA DA COSTA
  • Data: 25/04/2014

  • Mostrar Resumo
  • As linguagens de programação convencionais fornecem mecanismos de tratamento de exceções internos a fim de prover implementação de exceções robustas e manuteníveis em sistemas de software. A maioria dessas linguagens modernas, tais como C#, Ruby, Python e muitas outras, frequentemente afirmam ter mecanismos de tratamento de exceção mais apropriados. Elas reduzem as restrições de programação no tratamento de exceção buscando agilizar mudanças no código fonte. Essas linguagens suportam o que chamamos de mecanismos de tratamento de exceções dirigidos a manutenção. Espera-se que a adoção desses mecanismos aumentem a manutenibilidade dos softwares sem impactar na robustez. Entretanto existe pouco conhecimento acerca do impacto que a adoção desses mecanismos tem na robustez de sistemas de software. Este trabalho busca preencher essa lacuna conduzindo um estudo experimental direcionado ao entendimento da relação entre mudanças em programas C# e sua robustez. Em particular, foi avaliado como mudanças nos códigos normal e excepcional se relacionam com faltas no tratamento de exceção. Foi aplicado uma análise de impacto de mudança e uma análise de fluxo de controle em 119 versões de 16 programas escritos em C#. A partir dos dados coletados, este trabalho identificou os elementos do trade-off entre  manutenibilidade e robustez.


  • Mostrar Abstract
  • As linguagens de programação convencionais fornecem mecanismos de tratamento de exceções internos a fim de prover implementação de exceções robustas e manuteníveis em sistemas de software. A maioria dessas linguagens modernas, tais como C#, Ruby, Python e muitas outras, frequentemente afirmam ter mecanismos de tratamento de exceção mais apropriados. Elas reduzem as restrições de programação no tratamento de exceção buscando agilizar mudanças no código fonte. Essas linguagens suportam o que chamamos de mecanismos de tratamento de exceções dirigidos a manutenção. Espera-se que a adoção desses mecanismos aumentem a manutenibilidade dos softwares sem impactar na robustez. Entretanto existe pouco conhecimento acerca do impacto que a adoção desses mecanismos tem na robustez de sistemas de software. Este trabalho busca preencher essa lacuna conduzindo um estudo experimental direcionado ao entendimento da relação entre mudanças em programas C# e sua robustez. Em particular, foi avaliado como mudanças nos códigos normal e excepcional se relacionam com faltas no tratamento de exceção. Foi aplicado uma análise de impacto de mudança e uma análise de fluxo de controle em 119 versões de 16 programas escritos em C#. A partir dos dados coletados, este trabalho identificou os elementos do trade-off entre  manutenibilidade e robustez.

17
  • JOAO MARIA GUEDES DA CRUZ JUNIOR
  • Uma Ferramenta de Análise Automatizada de Técnicas de Seleção de Testes de Regressão Baseada em Mineração de Repositórios de Software

  • Orientador : UIRA KULESZA
  • MEMBROS DA BANCA :
  • LYRENE FERNANDES DA SILVA
  • ROBERTA DE SOUZA COELHO
  • UIRA KULESZA
  • EDUARDO MARTINS GUERRA
  • Data: 29/04/2014

  • Mostrar Resumo
  • O objetivo dos testes de regressão (RT) é reutilizar o conjunto de testes da última versão de um sistema de software na sua versão atual, de forma a maximizar o valor dos testes já desenvolvidos e garantir que antigas funcionalidades continuem funcionando corretamente, mesmo após as novas modificações. Mesmo com o reuso, geralmente nem todos os testes precisam ser re-executados, estimulando o uso de técnicas de seleção dos testes de regressão. Tais técnicas tentam selecionar dentre todos os testes, apenas aqueles que realmente precisam ser re-executados, isto reduz os custos, tornando a prática realmente atrativa para as equipes de desenvolvimento. Diversos estudos recentes buscam avaliar o desempenho de técnicas de seleção de testes de regressão, com o intuito de identificar qual delas se comporta melhor, através do uso de métricas como inclusão e precisão.

    Neste contexto, esta dissertação de mestrado propõe uma ferramenta implementada na linguagem Java para análise automatizada de técnicas de seleção de testes de regressão através da mineração do repositórios de software. A ferramenta é avaliada através da condução de um estudo empírico de análise da técnica de seleção baseada em diferenciação textual em um sistema de informação web de larga escala. O objetivo do estudo é avaliar os benefícios do uso da ferramenta na avaliação de técnicas de seleção de testes de regressão, e identificar o desempenho da técnica de diferenciação textual comparado com a seleção completa de todos os testes.


  • Mostrar Abstract
  • O objetivo dos testes de regressão (RT) é reutilizar o conjunto de testes da última versão de um sistema de software na sua versão atual, de forma a maximizar o valor dos testes já desenvolvidos e garantir que antigas funcionalidades continuem funcionando corretamente, mesmo após as novas modificações. Mesmo com o reuso, geralmente nem todos os testes precisam ser re-executados, estimulando o uso de técnicas de seleção dos testes de regressão. Tais técnicas tentam selecionar dentre todos os testes, apenas aqueles que realmente precisam ser re-executados, isto reduz os custos, tornando a prática realmente atrativa para as equipes de desenvolvimento. Diversos estudos recentes buscam avaliar o desempenho de técnicas de seleção de testes de regressão, com o intuito de identificar qual delas se comporta melhor, através do uso de métricas como inclusão e precisão.

    Neste contexto, esta dissertação de mestrado propõe uma ferramenta implementada na linguagem Java para análise automatizada de técnicas de seleção de testes de regressão através da mineração do repositórios de software. A ferramenta é avaliada através da condução de um estudo empírico de análise da técnica de seleção baseada em diferenciação textual em um sistema de informação web de larga escala. O objetivo do estudo é avaliar os benefícios do uso da ferramenta na avaliação de técnicas de seleção de testes de regressão, e identificar o desempenho da técnica de diferenciação textual comparado com a seleção completa de todos os testes.

18
  • LEONARDO DANTAS DE OLIVEIRA
  • Extensões ao Projeto LVWNet: Mobilidade, interação com equipamentos reais, comunicação direta, e registro dinâmico de nós.

  • Orientador : MARCOS CESAR MADRUGA ALVES PINHEIRO
  • MEMBROS DA BANCA :
  • MARCOS CESAR MADRUGA ALVES PINHEIRO
  • AUGUSTO JOSE VENANCIO NETO
  • FLAVIO DE OLIVEIRA SILVA
  • Data: 05/06/2014

  • Mostrar Resumo
  • Com o crescimento constante da utilização de redes sem fio em ambientes domésticos, empresariais e até industriais, aparecem novos desafios. A prototipação de novos protocolos nesses ambientes tipicamente é restrita a ambientes de simulação, onde existe a necessidadede uma dupla implementação, uma no ambiente de simulação, onde se realiza uma prova de conceito inicial e outra em um ambiente real. Além disso, uma vez que se parta para ambientes reais, não é trivial a criação de um testbed para redes sem fio de alta densidade, dada a necessidade de uso de vários equipamentos reais, incluindo o uso de atenuadores e redutores de potência para tentar reduzir o espaço físico necessário para criação desses laboratórios. Nessa lacuna, o projeto LVWNet (Linux Virtual Wireless Network) foi inicialmente concebido para criação de testbeds completamente virtuais para redes IEEE 802.11 sobre o sistema operacional Linux. Este trabalho tem como objetivo extender o atual projeto LVWNet adicionando a ele os seguintes recursos: i) a possibilidade de interação com hardwares wireless reais, ii) suporte a mobilidade através do posicionamento dos nós em um ambiente de coordenadas no espaço baseado em metros, já com cálculos de perda decorrente da atenuação em espaço livre, iii) aumento da escalabilidade com a criação de um protocolo próprio quer permita a comunicação entre os nós sem necessidade de um host intermediário, e iv) definição de um protocol de registro de nós que permite a inserção de novos nós em uma rede já em operaçao.


  • Mostrar Abstract
  • Com o crescimento constante da utilização de redes sem fio em ambientes domésticos, empresariais e até industriais, aparecem novos desafios. A prototipação de novos protocolos nesses ambientes tipicamente é restrita a ambientes de simulação, onde existe a necessidadede uma dupla implementação, uma no ambiente de simulação, onde se realiza uma prova de conceito inicial e outra em um ambiente real. Além disso, uma vez que se parta para ambientes reais, não é trivial a criação de um testbed para redes sem fio de alta densidade, dada a necessidade de uso de vários equipamentos reais, incluindo o uso de atenuadores e redutores de potência para tentar reduzir o espaço físico necessário para criação desses laboratórios. Nessa lacuna, o projeto LVWNet (Linux Virtual Wireless Network) foi inicialmente concebido para criação de testbeds completamente virtuais para redes IEEE 802.11 sobre o sistema operacional Linux. Este trabalho tem como objetivo extender o atual projeto LVWNet adicionando a ele os seguintes recursos: i) a possibilidade de interação com hardwares wireless reais, ii) suporte a mobilidade através do posicionamento dos nós em um ambiente de coordenadas no espaço baseado em metros, já com cálculos de perda decorrente da atenuação em espaço livre, iii) aumento da escalabilidade com a criação de um protocolo próprio quer permita a comunicação entre os nós sem necessidade de um host intermediário, e iv) definição de um protocol de registro de nós que permite a inserção de novos nós em uma rede já em operaçao.

19
  • JOSÉ CASTILLO LEMA
  • Evolving the Future Internet Clean-Slate Entity Title Architecture with Advanced Quality-Oriented Control Mechanisms

  • Orientador : AUGUSTO JOSE VENANCIO NETO
  • MEMBROS DA BANCA :
  • AUGUSTO JOSE VENANCIO NETO
  • FLAVIO DE OLIVEIRA SILVA
  • MARCOS CESAR MADRUGA ALVES PINHEIRO
  • SERGIO TAKEO KOFUJI
  • Data: 31/07/2014