ESE (Engenharia de Software Experimental) é uma das áreas de pesquisa da linha de Engenharia de Software do Programa de Engenharia de Sistemas e Computação (PESC) da COPPE/UFRJ. Seu objetivo é evoluir o conhecimento em Engenharia de Software a partir da aplicação de abordagem científica (experimentação) na construção de novos métodos e técnicas para apoio ao desenvolvimento de software. Além disso, preocupa-se também com o avanço da área, estudando e pesquisando novos modelos para o planejamento, execução e empacotamento de estudos relacionados à Engenharia de Software. Estas atividades são fundamentais para que a Engenharia de Software incorpore cada vez mais os princípios da Engenharia.
Principais Temas
Engenharia de Software Experimental
Apoio Metodológico para Condução de Estudos em Engenharia de Software
Desenvolvimento de tecnologias (abordagens, estratégias, diretrizes, metodologias, modelos, processos entre outros) para apoiar o planejamento, execução e análise de estudos primários, secundários e terciários em Engenharia de Software.
Ambientes para Engenharia de Software e Experimentação
Desenvolvimento de ambiente computacional para apoiar o planejamento, execução e análise de estudos primários, secundários e terciários em Engenharia de Software. Este ambiente é denominado eSEE (experimental Software Engineering Environment). O objetivo é disponibilizar um ambiente (não necessariamente apenas um conjunto de ferramentas integradas) para organizar o conhecimento sobre experimentação e apoiar a condução em larga escala (e-science) de estudos em Engenharia de Software.
Experimentação aplicada à Engenharia de Software
Engenharia de Software Baseada em Buscas (Search-Based Software Engineering)
Investiga soluções computacionais baseadas em diferentes algoritmos de busca para otimização de características do software, como por exemplo, arranjos arquiteturais, desempenho, dentre outras.
Engenharia de Sistemas Ubíquos
Investigação e elaboração de tecnologias que apoiem o desenvolvimento de projetos de software que requerem características de ubiquidade computacional, tais como sensibilidade ao contexto, interoperabilidade e usabilidade universal. Diferentes categorias de sistemas de software são tratadas neste tópico, incluindo sistemas de sistemas.
Engenharia de Aplicações Web
Investigação e elaboração de tecnologias que apoiem o desenvolvimento de Aplicações Web, desde a etapa de Análise até a Verificação e Validação de tais aplicações, considerando as características particulares deste tipo de aplicação e considerando a utilização de modelos.
Agilidade em Engenharia de Software
Investiga práticas com evidência que podem ser utilizadas para inserir agilidade em processos de software (desenvolvimento, construção, testes, dentre outros).
Manutenção e Evolução de Software
Desenvolvimento de soluções computacionais para análise e acompanhamento do decaimento de software com base em modelos de simulação.
Verificação, Validação e Testes de Software
Desenvolvimento de soluções para apoiar a verificação, validação e testes de software ao longo do processo de desenvolvimento, incluindo também a análise causal de defeitos. Neste sentido, estão incluídas questões relacionadas ao método de inspeção, técnicas de inspeção e processo de teste de software.
Processos de Software para Inovação
Investigação e elaboração de tecnologias que apoiem o processo de desenvolvimento de software com foco em organizações que trabalham com inovação, principalmente em sua fase inicial de geração e gerenciamento de ideias.
Infraestrutura
As atividades de pesquisa e desenvolvimento realizadas pelo Grupo ESE ocorrem no contexto do LENS – Laboratório de Engenharia de Software da COPPE/UFRJ, em suas instalações da sala H-319 e I-246.