Agenda de defesas Agenda de defesas

Voltar

Defesas de dissertações acontecem nesta quinta-feira (14) no CIn

A primeira acontece às 10h e a segunda, às 14h

Nesta quinta-feira (14), no Programa de Pós-Graduação em Ciência da Computação, acontecerão duas defesas de dissertações. A primeira, titulada “Uma Ferramenta para Modelagem Visual de Ontologias com Raciocínio”, será a partir das 10h; já a segunda, nomeada “A Study of JavaScript Error Handling”, começará a partir das 14h. Ambas acontecem no Centro de Informática (CIn).

A dissertação “Uma Ferramenta para Modelagem Visual de Ontologias com Raciocínio”, realizada pelo aluno Renan Leandro Fernandes e orientada pelos professores Frederico Luiz Gonçalves de Freitas e Ryan Ribeiro de Azevedo (DCC/UFRPE – Garanhuns), será defendida a partir das 10h, na sala D222 do CIn. A banca examinadora será composta pelos professores Robson do Nascimento Fidalgo (CIn/UFPE), Eunice Palmeira da Silva (Coordenação de Informática/IFAL) e Ryan Ribeiro de Azevedo (DCC/UFRPE – Garanhuns).

Enquanto a segunda dissertação “A Study of JavaScript Error Handling”, feita pela aluna Luana Martins dos Santos e orientada pelo professor Fernando José Castor de Lima Filho (CIn/UFPE), será defendida, a partir das 14h, no auditório do CIn. A banca será composta pelo professor orientador e as professoras Carla Taciana Lima Lourenço Silva Schuenemann (CIn/UFPE) e Roberta de Souza Coelho (Dimap/UFRN). 

Resumo 1

A sintaxe e semântica formal das linguagens ontológicas da Web Semântica como Web Ontology Language (OWL) e Resource Description Framework (RDF) são de difícil aprendizado para pessoas sem conhecimento especializado na área de ontologias. As pesquisas em ontologias têm concentrado esforços na tentativa de minimizar este problema, buscando formas de ajudar desenvolvedores e engenheiros do conhecimento na construção de ontologias. Ferramentas de Autoria Inteligente, baseadas em Modelagem Visual, as quais possuem o intuito de facilitar as atividades dos usuários na construção dos seus artefatos computacionais, sejam eles blogs, sites, softwares, bases de dados, ontologias, entre outros, funcionam de forma simples e intuitiva. O intuito da dissertação é desenvolver uma ferramenta de autoria inteligente para construção, manipulação e manutenção de ontologias, permitindo sua criação a partir de modelagem visual. Raciocínio automático de subsunção, deduzindo novos fatos a partir de fatos modelados e raciocínio de inconsistência durante a criação das ontologias e apresentando estes resultados de forma visual aos seus usuários também foi um dos nossos objetivos. A ferramenta desenvolvida é útil no apoio das atividades de usuários experientes como engenheiros de ontologias e no apoio a usuários leigos interessados no desenvolvimento de bases de conhecimento modeladas como ontologias bem como em seu aprendizado. Em comparação com ferramentas de edição visual de ontologias encontradas na literatura, a ferramenta proposta foi a única a apresentar uma explicação visual das deduções e inconsistências obtidas através do raciocínio automático. Na realização dos experimentos, foi percebido que utilizar a combinação de várias técnicas de visualização foi uma abordagem que apresentou bons resultados. A ferramenta Medina possui a visualização em grafos, em árvore e o uso de ocultar objetos visuais. Os usuários interagiram de maneira satisfatória entre as três técnicas com destaque para a funcionalidade de ocultar axiomas presente na ferramenta proposta e bem avaliada pelos participantes do experimento. Com a análise dos resultados, conclui-se que a ferramenta proposta possui capacidades de modelagem visual de ontologias com expressividade até \uD835\uDC9CL\uD835\uDC9EHI\uD835\uDCAC, realiza raciocínios automáticos e também auxilia os desenvolvedores no processo de criação de ontologias, reduzindo a dificuldade empregada no desenvolvimento.

Resumo 2

JavaScript é amplamente usado para desenvolvimento de software Web-based e Standalone. Um grande número de sistemas robustos de software atualmente são construídos usando essa linguagem. Devido à sua popularidade, JavaScript tem sido alvo de vários estudos empíricos nos últimos anos. Pesquisas anteriores analisaram os usos da função eval, como callback functions são empregadas e outros aspectos da linguagem. Neste trabalho, estudamos como os sistemas JavaScript usam os mecanismos de tratamento de erros. JavaScript fornece dois mecanismos diferentes para tratar erros, blocos try-catch e funções de retorno de chamada. Esses mecanismos são empregados em conjunto com um número de abstrações que não foram estudadas anteriormente no contexto do tratamento de erros, a saber: promises, eventos e funções assíncronas (async-await functions). Além disso, avaliamos o uso de tratadores de eventos globais, que é aplicável a cenários em que ocorreu um erro no qual nenhum tratador foi encontrado. Analisamos 192 repositórios de JavaScript do Github, totalizando mais de 60 mil arquivos e 11 milhões de linhas de código. Também os classificamos como Web-based ou Standalone, dependendo do uso do framework Node.js. Analisamos como os mecanismos de tratamento de erros da linguagem são empregados, quais estratégias de tratamento de erros são normalmente empregadas e como os sistemas Web-based e Standalone diferem em relação ao tratamento de erros. Nossas descobertas indicam que callback functions são o mecanismo predominante de tratamento de erros de sistemas JavaScript (nosso dataset consiste em 64.5k callback functions), embora blocos try-catch também sejam usados com frequência (51.2k tratadores). Entre esses blocos try-catch, 25,1% estão vazios. Por outro lado, apenas 0.88% das funções de retorno de chamada estão vazias, embora 1.7% das funções de retorno de chamada que manipulam erros ignorem seu argumento de erro. Descobrimos também que os sistemas baseados na Web têm uma tendência a empregar blocos try-catch com mais frequência do que callback functions para tratamento de erros em comparação com sistemas Standalone. Os sistemas baseados na Web também têm uma tendência maior para ignorar parâmetros de erro quando comparados a sistemas Standalone. No geral, nossa análise mostra que as estratégias de tratamento de erros geralmente são simplistas, envolvendo principalmente ignorar o erro ou apenas registrá-lo.

Data da última modificação: 12/02/2019, 11:35