Áreas de Interesse
- Teste de Software: O teste de software é fundamental dentre as atividades de garantia de qualidade de software, e tem como objetivo revelar defeitos. Ele pode ser realizado em programas ou ser baseado em modelos. Os dados de teste são gerados a partir da técnica funcional, estrutural ou baseada em defeitos. O grupo tem realizado diversas pesquisas envolvendo atividades relacionadas ao teste de software tais como: planejamento do teste, geração de dados de teste, depuração e localização de defeitos, teste de regressão e priorização de testes, etc.
- Search Based Software Engineering: ou otimização em Engenharia de Software, é uma área emergente de pesquisa que tem como objetivo utilizar algoritmos metaheurísticos (de busca) para a solução de problemas na área de engenharia de software. Muitos destes algoritmos são oriundos da área de Aprendizado de Máquina, tais como os baseados em: Redes Neurais, Árvores de Decisão, Algoritmos Genéticos, Programação Genética, Colônia de Formigas, Busca Tabu, Núvem de Partícula, Clustering, etc. Eles são adequados para resolver problemas de otimização de difícil solução, muito comuns na Engenharia de Software que podem incluir otimização multiobjetivo (ou de objetivos múltiplos).
As pesquisas realizadas visam a: comparação e proposição de estratégias, métricas, métodos e metodologias, e a implementação e avaliação de ferramentas com a condução de estudos experimentais em diferentes contextos da Engenharia de Software tais como:
- desenvolvimento web: serviços web, tecnologia XML, etc.
- aplicações paralelas: ambientes de passagem de mensagem tais como MPI, PVM, etc.
- software orientado a objetos e a aspectos: desenvolvimento OO e OA, UML, incluindo programas Java e ASPECTJ, etc
- linhas de produto de software: UML, arquitetura de software, etc
- evolução de software: tarefas de manutenção e refatoração de software, estimativa e localização de defeitos, etc.
- confiabilidade de software: modelos para avaliar e estimar a confiabilidade de software, propensão a defeitos, etc.
- planejamento de software: estudo de modelos e métricas, mais particularmente para estimar esforço, custo de projeto e de teste, etc.