quinta-feira, 6 de novembro de 2014

Seminários do dia 29/10/2014

Material do seminário do LabES realizado no dia 29 de outubro

Boa tarde,


No dia 29 de outubro tivemos a apresentação do Rafael Oliveira.

Título: How to get your paper rejected (Prof. Jeff Offutt)

Resumo:
Nesta apresentação, de um modo bem humorado, o professor Jeff Offut (George Mason University - Fairfax,US) passa à audiência toda a expertise de um profissional que já teve muitos artigos rejeitados ao longo de sua carreira. De um modo dinâmico e com diversos exemplos reais, o Professor Jeff compartilha com a audiência alguns pontos de vista dos revisores de artigos. Sendo assim, o conteúdo da palestra é valiosa para o aluno de pós-graduação que tem interesse em aumentar as chances de ter seus artigos aceitos em conferências e revistas mais competitivas.

Link: Slides

Abraços a todos.
Rodolfo Adamshuk Silva

segunda-feira, 27 de outubro de 2014

Seminários do dia 17/09/2014

Material do seminário do LabES realizado no dia 17 de setembro


O seminário contou com duas apresentações sobre os projetos de pesquisa dos alunos: Thiago Gottardi (doutorado) e Vânia de Oliveira Neves (doutorado).


Resumos dos seminários:

Aluna: Vânia de Oliveira Neves

TítuloHeurísticas para seleção da população inicial de algoritmos de teste baseado em busca para software controlador de veículos autônomos

Resumo: Prévia do artigo publicado no SAST. No artigo é apresentado um estudo realizado com base em logs coletados em testes de campo de um veículo autônomo (SRM: sistema robótico móvel) desenvolvido no ICMC-USP. Esse sistema executa no ambiente ROS e é programado em C++. É apresentada uma análise de cinco logs para dois métodos mais complexos do programa e são analisadas sete heurísticas propostas para gerar uma população inicial que poderia servir como semente para algoritmos de busca. Essas heurísticas são avaliadas, buscando minimizar o número de dados de entrada e maximizar a qualidade da população com base nos critérios de teste todos-nós e todas-arestas.

Link  <Slides>

Aluno: Thiago Gottardi

TituloUma estratégia de reúso de processos no contexto da engenharia de software dirigida por modelos

Resumo: No contexto da Engenharia de Software Dirigida por Modelos (MDSE), a produção  de software pode ser realizada por meio de definições de modelos. Apesar dos benefícios dessa metodologia,  diferentes domínios exigem a especificação de linguagens de modelagem e ferramentas  específicas, que, por sua vez, precisam ser desenvolvidos em conjunto com o software final. Desta forma, desenvolvedores encontram problemas ao utilizar a metodologia, além de não possuir um processo adequado que os guie em como ou quando criar ferramentas de apoio.   Após a realização de um mapeamento sistemático e de três estudos empíricos, foi identificada a carência de diretrizes e processos adequados que apoiem todo o ciclo de vida do MDSE. Além disso, um único processo não é adequado para todos os domínios,   o que exige uma estratégia para reúso de processos adaptáveis a cada projeto.   Portanto,   neste projeto,   propõe-se uma nova estratégia de reúso de processo para o MDSE em conjunto com a definição de um suporte integrado para todo o ciclo de vida do desenvolvimento de sistemas baseados em modelos. Como resultados esperados, pode-se listar: uma estratégia para adequação de processos para MDSE, um ou mais processos resultantes da estratégia com validação em casos reais de utilização, estudos que apresentem as dificuldades relacionadas a MDSE que foram ou não solucionadas e prospecções e recomendações para trabalhos futuros nesta área de pesquisa.

Link <Slides>

terça-feira, 21 de outubro de 2014

Seminários do dia 15/10



Olá Labeanos!

Na última quarta-feira (15/10) tivemos nosso tradicional seminário de grupo.
Naquele encontro o aluno de doutorado Draylson praticou sua apresentação de um artigo que seria apresentado no congreso FIE (Fie Frontiers in Education) (Resumo 1). (slides)
Na segunda apresentação, o aluno de doutorado Rodolfo fez uma apresentação prévia de sua qualificação de doutorado (Resumo 2). (slides)

Abaixo seguem os resumos.

Obrigado a todos
Até o próximo.

Abraços
Rafael


Draylson (Resumo 1)
Título: Towards the use of an automatic assessment system in the teaching of software testing

Resumo: Both software testing and programming foundations are difficult subjects to be taught. In case of programming, experiences have suggested that the mastering of testing can contribute to enhance the students' skills of comprehension and analysis. So, automatic test-based assessment systems have been developed and adopted in programming courses. Aiming at investigating the adoption of assessment systems also in the teaching of software testing, in this paper we discuss the use of PROGTEST - a tool for the submission and automatic evaluation of programming assignments based on testing activities. As most of the automatic assessment systems, PROGTEST offers benefits such as immediate feedback, objectivity and consistency of the evaluation, and a substantial time saving in the evaluation of the programming assignments. Additionally, since it performs the assessments based on testing activities, PROGTEST also offers benefits for the teaching of software testing. Results from two experiments involving the use of PROGTEST in testing courses are presented, providing evidences on the feasibility of its adoption to support the teaching of testing concepts and criteria.


Rodolfo (Resumo 2)

Título: Uso de search-based software testing para otimizar o teste de mutação aplicado a programas concorrentes
Resumo: O teste de mutação é um critério da técnica baseada em defeitos e baseia-se nos enganos que podem ser cometidos pelos desenvolvedores de software. Este critério apresenta uma alta eficácia em revelar defeitos, porém, o seu alto custo compromete sua utilização. No contexto de teste de programas concorrentes, o teste de mutação torna-se mais complexo, pois o programa original pode apresentar mais de uma resposta diferente e correta para uma mesma entrada. Isso ocorre devido ao não determinismo das aplicações concorrentes e não é possível avaliar se um mutante apresentou um comportamento diferente do programa original somente observando a saída obtida. Com isso, têm-se muitos mutantes (e suas sequências de sincronização) para serem avaliados durante a atividade de teste. Técnicas de meta-heurísticas podem ser utilizadas em problemas complexos que compreendem uma grande quantidade de soluções possíveis e que se deseja encontrar uma solução ótima. O uso dessas técnicas no contexto de teste de software é denominado Search-Based Software Testing (SBST). O objetivo deste projeto de doutorado é investigar o uso de SBST para a redução do custo da aplicação do teste de mutação no contexto de aplicações concorrentes. Como resultados, espera-se caracterizar uma abordagem na qual a otimização poderá ser empregada para auxiliar a identificação de mutações relevantes, ou seja, que são capazes de evidenciar os principais problemas inerentes a aplicações concorrentes.











quarta-feira, 10 de setembro de 2014

Seminários de 03/09

Olá pessoal!

No dia 03/09 tivemos duas apresentações: a Silvana fez uma prévia de sua quali e o Rafael compartilhou conosco a sua experiência no doutorado sanduíche. Os detalhes de cada apresentação, incluindo os slides, são dados a seguir.

Aluna: Silvana Morita Melo
Título: Definição de um Framework para Avaliação Sistemática de Técnicas de Teste no Contexto de Software Concorrente (slides)
Resumo: Várias propostas existem para apoiar o teste de programas concorrentes. De uma maneira geral, as propostas exploram a análise estática ou dinâmica, o paradigma de passagem de mensagem ou memória compartilhada, a linguagem de programação e o uso de padrões. Esses trabalhos tratam de diferentes abordagens de teste como: injeção de falhas, verificação formal, desenvolvimento dirigido a teste, execução controlada, teste de mutação, teste baseado em modelos, teste estrutural, análise simbólica, teste baseado em busca, teste de concorrência probabilística, teste de alcançabilidade e geração de casos de teste. Apesar de existirem diversas soluções, não há ainda um corpo de evidências consolidado que possibilite aos desenvolvedores de aplicações concorrentes na indústria e academia selecionar quais as técnicas, ferramentas e estudos disponíveis, apresentam as melhores relações custo/benefício, quando estes são incorporados à atividade de teste da organização. Este trabalho irá investigar as principais alternativas para a atividade de teste que vêm sendo empregadas no contexto de aplicações concorrentes, a fim de desenvolver um framework para auxiliar a avaliação sistemática dessas técnicas, facilitando a realização de estudos futuros e, principalmente, ajudando os profissionais da academia e da indústria a selecionar a melhor técnica/ferramenta de teste considerando diversos fatores de qualidade como satisfação, custo, eficácia e eficiência.


Aluno: Rafael Oliveira
Título: Estágio sanduíche na University of Maryland (College Park, MD, USA) (slides)
Resumo: Este seminário visa a compartilhar as atividades técnicas e as experiências vividas pelo aluno de doutorado Rafael Oliveira durante um ano de estágio sanduíche na Universidade de Maryland (UMD). Localizada entre as cidades de Washington-D.C. e Baltimore-MD, a singularidade em diversas áreas de pesquisa da universidade desperta a atenção de estudantes de várias regiões dos Estados Unidos e do mundo. Rafael, que é orientado pelo Prof. Márcio Delamaro, realizou colaboração de pesquisa entre o ICMC e a UMD sob supervisão Prof. Atif Memon, especialista em teste de sistemas baseados em eventos.

Muito obrigada a todos que participaram! Em especial, agradeço à Silvana e ao Rafael. As duas apresentações foram muito interessantes, principalmente para aprendermos sobre situações pelas quais passaremos um dia na Pós-Graduação: o exame de qualificação e o estágio sanduíche.

Para finalizar, algumas fotos tiradas pelo fotógrafo oficial dos eventos do LabES, Thiago Gottardi:





Até o próximo!

segunda-feira, 1 de setembro de 2014

Seminários do dia 20/08

Student: Silverio Martínez-Fernández 

Title: Towards Guidelines for Building a Business Case and Gathering Evidence of Software Reference Architectures in Industry


Abstract: Software reference architectures are becoming widely adopted by organizations that need to support the design and maintenance of software systems of a shared domain. For organizations that plan to adopt this architecture-centric approach, it becomes fundamental to analyze the return on investment and to understand how software reference architectures are designed, maintained, and used. Unfortunately, there is little evidence-based support to help organizations with these challenges. In this talk, we describe the context and results obtained in an industry-academia collaboration between GESSI, our research group, and everis, an IT consulting firm with more than 10,000 employees that run software reference architecture projects. The main results of this collaboration have been: (a) REARM, a reuse-based economic model for software reference architectures; and (b) industrial evidence about the benefits and drawbacks as well as the artifacts of software reference architectures. The final goal of this research is to construct empirically-grounded guidelines that support organizations to decide on the adoption of software reference architectures and to gather evidence to improve RA-related practices. We will present how the results from our industry-academia collaboration are being packaged in order to create guidelines that could be used in similar contexts as the one of everis. Finally, lessons learned from our industry-academia collaboration will be presented.

Slides: <aqui>

Aluno: Ricardo Ramos de Oliveira
Título: Investigação de uma Abordagem para o Teste como Serviço (TaaS) na Computação em Nuvem

Resumo: A computação em nuvem está abrindo novos horizontes de oportunidade para o teste de software. Os testes baseados em nuvem têm o potencial de oferecer uma atraente combinação de menores custos, pagamento por uso e eliminação de despesas de capitais iniciais com infraestrutura, licenças de ferramentas, configuração e manutenção de ambientes de teste. A redução de custos é o principal fator que influencia as empresas na adoção da nuvem. A computação em nuvem não só mudou a forma de obtenção de recursos de computação, como também a forma de gerenciar e principalmente entregar serviços de computação, tecnologias e soluções. Do mesmo modo, o Teste como Serviço (Testing as a Service, TaaS) é considerado como um novo modelo de negócio e de serviço que proporciona uma maneira eficiente e eficaz de garantir a qualidade do teste de software permitindo atender aos padrões de qualidade, requisitos e necessidades dos consumidores por meio da internet. Neste contexto, é sabido que a computação em nuvem também facilita e oferece oportunidades para o desenvolvimento de técnicas de teste de software mais eficazes e escaláveis. Todavia, existem diversos novos problemas que limitam a utilização dessas novas tecnologias de maneira efetiva, tais como a falta de padronização na criação dos testes e de interoperabilidade entre as plataformas de TaaS, ocasionando o  lock-in, ou seja,  o aprisionamento do usuário ao fornecedor específico ou serviço de teste, causado pela dificuldade em migrar os testes de um provedor TaaS para outro. Partindo dessas limitações, o objetivo deste trabalho é investigar uma solução para o problema conhecido por lock-in no contexto de Teste como Serviço (TaaS) por meio da abordagem de uma especificação padrão de referência, a nível de protocolo HTTP. Assim, pretende-se possibilitar a execução de testes funcionais de uma aplicação que ao mesmo tempo seja independente de linguagem de programação e das tecnologias do fornecedor TaaS, e permitir, dessa forma, maior flexibilidade com o desacoplamento entre ambas as entidades.

Seminários do dia 25/06

Título: Definição de um modelo de processo de desenvolvimento para software orientado à ontologia
Aluna: Joice Basílio Machado Marques
Orientadora: Prof. Dra. Ellen Francine Barbosa

Resumo: O desenvolvimento de software orientado à ontologia tem aumentado em virtude dos benefícios obtidos por meio do uso das ontologias e devido aos novos cenários de desenvolvimento. Em um software orientado à ontologia a ontologia desempenha um papel central e orienta todos os componentes do software.  Este software apresenta particularidades que não estão presentes, de forma integrada, nas especificações dos processos de software atuais. O objetivo desta pesquisa é definir um processo de desenvolvimento para software orientado à ontologia. Para tal, faz-se necessário estabelecer a associação entre as boas práticas da engenharia de software e da engenharia de ontologias, de forma que o processo seja fácil de ser aplicado, factível de ser extensível, simples e adaptável para o contexto da aplicação. Neste trabalho será apresentada a primeira definição do modelo de processo de desenvolvimento para software orientado à ontologia, em andamento no projeto de doutorado. Foram definidas as atividades, metas e tarefas para guiar e orientar a equipe de desenvolvedores, incluindo os papéis dos engenheiros de software e dos engenheiros de ontologia, que serão apresentados no decorrer da explanação.

Slides: <aqui>

Título: Uma contribuição à formalização semântica da UML
Aluno: Vinícius Pereira
Orientador: Prof. Dr. Marcio E. Delamaro

Resumo: As aplicações de sistemas embarcados são diferentes das aplicação de computadores de propósito geral, como o computador pessoal. Isso se deve ao fato de que um sistema embarcado realiza um conjunto de operações predefinidas, baseado em requisitos específicos. Uma vez em produção, dificilmente essas operações sofrem alterações. Por isso, é necessário que suas aplicações possuam um alto nível de segurança e confiabilidade. Uma das formas de buscar isso é através da verificação e validação de modelos criados para auxiliar na especificação, análise e projeto dessas aplicações. Nessa área de modelagem, a UML é a linguagem mais utilizada devido ao seu reconhecimento dentro da computação. Apesar da sua grande variedade de diagramas, a UML não possui uma formalização semântica bem definida. Tendo esse problema em vista, muitos pesquisadores propuseram, no decorrer dos anos, maneiras de formalizar semanticamente a UML. Porém, essas tentativas têm foco em subconjuntos da UML e envolvem restrição para o uso prático das mesmas. Visando abordar esse problema, foi proposta a MADES UML, um subconjunto da UML que utiliza lógica temporal para formalizar um alguns diagramas UML). Este projeto de doutorado visa contribuir com a MADES UML, ao definir uma técnica de rastreabilidade que permita apresentar os resultados obtidos pela etapa de verificação formal dentro dos próprios modelos UML. Essa característica não é comum de ser encontrada nos trabalhos que formalizam à UML, sendo que a grande maioria têm foco apenas na transformação do modelo UML para um modelo formal. Será apresentado no seminário o estado atual da técnica de rastreabilidade em desenvolvimento e os próximos passos.

Slides: <aqui>

Seminários do dia 21/05

Palestrante: Lucas Bueno Ruas de Oliveira
Orientadora: Elisa Nakagawa

Título: Towards a Taxonomy of Services for Developing Service-Oriented Robotic Systems

Resumo: Robotic systems have been increasingly adopted in several sectors of the society. To cope with this demand and diversity, researchers have investigated the Service-Oriented Architecture (SOA) to develop such systems. SOA promotes interoperability between software modules and heterogeneous hardware devices, and a better reusability and flexibility for robotic systems. However, due to the lack of a common understanding on how services for robotic systems should be designed, described and also classified, these services are sometimes difficult to be used in other projects, reducing the potential of reuse provided by SOA. The main contribution of this paper is to propose a taxonomy of services for robotic systems that was based on results of a systematic review, reference architectures, and knowledge of specialists. Results have pointed out that our taxonomy is an important element to organize different types of services, what can promote reuse and productivity in the development of robotic systems.

Slides: <aqui>


Palestrante: Rafael Serapilha Durelli
Orientador: Márcio Delamaro
Título: Uma Abordagem de Modernização de Sistemas Legados Guiada por Modelos de Referência

Resumo: Sistemas legados (SL) possuem inúmeras regras de negócio e acomodam conhecimento de anos e são vitais para as organizações, porém, apresentam sérios problemas de manutenção. Uma forma de melhorar a qualidade de um SL é submetê-lo a um processo de modernização, cujo objetivo pode variar desde melhorar sua modularização, modificar sua arquitetura e plataforma, ou até mesmo usar uma combinação dessas técnicas. Em geral atividades de modernização são conduzidas sem uma clara especificação do problema existente e da solução desejada, resultando em falhas em consequência da falta de padronização e de interoperabilidade entre ferramentas. Assim, a OMG (Object Management Group) cunhou o termo Architecture Driven Modernization (ADM), que consiste em um conjunto de metamodelos, que são  padronizações sobre as quais pode-se aplicar refatorações, calcular métricas e recuperar conhecimento de SL. Entre esses metamodelos tem-se o Knowledge Discovery Metamodel (KDM), que tem como objetivo representar artefatos de um SL e definir a interoperabilidade entre diferentes ferramentas de modernização. O objetivo neste projeto é o desenvolvimento de uma abordagem que recomende diversos cenários alternativos  de modernização para um SL. Assim, o engenheiro de software responsável poderá averiguar quais dos cenários é o mais adequado e, após a escolha, o sistema deverá ser modernizado automaticamente. Como contribuições principais,
deverá ser desenvolvido um modelo de referência e um conjunto de refatorações para o KDM. O modelo de referência consiste em uma DSL que seja possível especificar as características esperadas para o sistema após sua modernização, isto é deverá ser possível especificar o sistema alvo. O conjunto de refatorações deverá permitir transformar uma instância do KDM que representa o SL em uma nova instância aderente ao modelo de referência. Deverá ser desenvolvido um apoio automatizado que mostrará quantitativamente a porcentagem de atendimento desses cenários ao modelo de referência. Assim, o engenheiro poderá escolher um dos cenários, e o sistema deverá ser automaticamente gerado.

Slides: <aqui>