Escolar Documentos
Profissional Documentos
Cultura Documentos
Introduo
Prof. Ricardo de Sousa Britto rbritto@ufpi.edu.br
O Que Significa?
Novo ramo da Engenharia de Software dedicado a
resoluo automtica de problemas complexos dessa rea.
Motivao
Sistemas cada vez mais complexos
Abordagens automticas se tornam cada vez mais
necessrias.
Escalabilidade
Solues convencionais sofrem com problemas de
escalabilidade em grandes projetos. Aplicao de tcnicas inteligentes escalvel, dado o aumento no poder de processamento.
Independncia
Resultados so gerados a partir de anlises ausentes
de qualquer vcio ou pr-conceitos.
Quando Aplicar
Problemas Complexos
1. Grande espao de busca; 2. Ausncia de soluo tima.
Otimizao de Variabilidade de Linhas de Produto de Software. Planejamento de Produo em Linhas de Produto de Software.
Planejamento de Release
Alocao de Pessoal
Como Aplicar?
1. Escolher algoritmo de inteligncia computacional; 2. Definir como representar o conhecimento
necessrio ao algoritmo; problema.
Um Pouco de Histria
At 2001: Diversos trabalhos esparsos, especialmente em teste de software, tratam problemas de Engenharia de Software como problemas de busca. 2007: Mark Harman publica o artigo The Current State and Future of Search Based Software Engineering. 2010: 1 Workshop de Otimizao em Engenharia de Software, na cidade de Salvador, BR.
2009: 1st International Symposium on Search Based Software Engineering, na cidade de Windsor, UK.
Linha do tempo
2008: Chamada para Edio Especial do peridico IEEE Transactions on Software Engineering em Search-Based Optimization for Software Engineering. 2001: Mark Harman e Bryan Jones introduzem o termo Search-based Software Engineering em um artigo de mesmo nome.
2011: 3rd International Symposium on Search Based Software Engineering, na cidade de Szeged, Hungria.
2010: 2nd International Symposium on Search Based Software Engineering, na cidade de Benevento, IT.
Descrio:
Ordenar os casos de teste de forma que somente um subconjunto de casos de teste possa ser executado, com somente pequena, ou nenhuma, perda de efetividade.
Formulao:
Considerar as 3 caractersticas:
Volatilidade Complexidade Importncia Valores considerados: 1 (menor) a 5 (maior)
Formulao:
Onde:
Futuro
Novos Problemas
Gerao de novas formulaes para problemas da
engenharia de software. Extenso de formulaes existentes. Tratamento multiobjetivo para formulaes monoobjetivo.
Novas Abordagens
Aplicaes de novos algoritmos em problemas existentes. Estudos comparativos de tcnicas de busca.
Competitividade Humana
Anlise da competitividade dos resultados gerados
automaticamente em comparao com resultados produzidos por humanos.
Futuro
Otimizao Interativa
Estratgias de incorporao do julgamento humano
durante o processo de otimizao.
Hibridizao
Combinao de mtodos na gerao de abordagens
mais eficientes.
Atividade
Leia e escreva uma crtica, levando em
considerao o seu conhecimento de engenharia de software e Inteligncia Computacional, sobre os dois artigos abaixo: M. Harman and B. F . Jone, Search-based software
engineering. Information and Software Technology, vol. 43, pp. 833839, 2001. M. Harman. The Current State and Future of Search Based Software Engineering. 29th Int. Conference on Software Engineering (ICSE 2007), Future of Software Engineering (FoSE), 2007.
Referncias Bibliogrficas
SOUZA, Jerffeson Teixeira. Metaheursticas
Aplicadas a Problemas Complexos da Engenharia de Software. Minicurso Apresentado no XXIII SBES, Fortaleza, 2009. Techniques for Requirements- Based Test Case Prioritization. I WOES, Salvador, 2010. (SEBASE). Statistics. Disponvel em: http://sebase.org/sbse/publications/. Acesso em 18 fevereiro 2011.