Henrique Vignando
Orientador: Prof. Dr. Edson A. Oliveira Junior
UNIVERSIDADE ESTADUAL DE MARINGÁ
CENTRO DE TECNOLOGIA DEPARTAMENTO DE INFORMÁTICA
PROGRAMA DE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
Recente discussão sobre a qualidade dos experimentos em ES e o quão importante é esse processo para ES (Lopes e Travassos, 2009).
Em LPS existe uma escassez de recursos para os avanços dessa área.
Gap de estudos sobre recomendações em experimentos de ES para LPS com qualidade minima desejável.
Uma LPS é um conjunto de produtos que endereçam a um determinado segmento de mercado ou missão particular
(Pohl et al. 2005).
Fonte: Paulo Gandra de Sousa
Esse conjunto de produtos também é denominado família de produtos, no qual os membros desta família são produtos específicos gerados a partir da reutilização de uma infraestrutura comum, denominada núcleo de artefatos (Core assets).
A realização de um experimento é o relacionamento entre causa e efeito, através de modelo teórico entre dois ou mais fenômenos relacionados a fim de determinar se o modelo proposto pode ser considerado correto.
Os experimentos possuem variáveis Independentes e Dependentes. As variáveis independentes são associadas à causa e controladas como resultado das atividades do experimentador, também são chamadas de fatores que podem assumir valores denominados tratamentos. As variáveis dependentes são associadas ao efeito e resultam nas mudanças que o experimentador realiza às variáveis independentes
(Kitchenham et al., 2016)
Fonte: Tradução Wohlin (2012)
O conceito de qualidade em experimentos em ES pode ser visto em três pontos de vista diferentes:
Fonte: Adaptado e Traduzido de Dieste (2011)
A comunidade de Engenharia de Software tem discutido como avaliar a qualidade de experimentos na área, utilizando abordagens como:
Ontologia é um ramo da filosofia que estuda a realidade e existência, ou o ser enquanto ser. Em outras palavras, é o estudo da descrição de coisas do mundo real.
(Wolff e École, 1962)
Ontologias são uma especificação formal de uma contextualização e uma contextualização é uma visão abstrata e simplificada do mundo.
(Gruber, 1993)
Estrutura para uma ontologia:
Fonte: Lucas de Oliveira Teixeira
(Lógica descritiva)
Nesta pesquisa será utilizado ontologia para estruturar e modelar a base de informações extraído do Mapeamento Sistemático de experimentos em LPS (dissertação da Viviane Furtado).
Pode se dizer que será conjunto de meta dados dessas informações.
Sistemas de recomendação são aplicativos software que visam dar suporte para usuário na tomada de decisões ao interagir com grandes espaços de informação.
(ACM Conferece Recommendation System)
Os sistemas de recomendação são técnicas ou ferramentas de software, que pode reduzir a sobrecarga de informações para os usuários, sugerindo itens, conteúdos ou serviços, etc.
(Mahmood e Ricci, 2009).
Em um problema de recomendação, as principais entidades são o usuário e o item e o objetivo é recomendar os itens com melhores score aos usuários, como pode ser visto nos grandes players como, Netflix, Amazon, Facebook, Spotfy, etc...
O primeiro sistema de recomendação proposto foi Tapestry, (Kwong et al., 1992), ele introduziu o conceito de Collaborative filtering.
Collaborative Filtering
Fonte: Gravity R&D (http://gravityrd.brainsum.com)
Content-based Filtering
Fonte: Gravity R&D (http://gravityrd.brainsum.com)
Hybrid Recommender Systems
São algoritmos que combinam Collaborative Filtering com Content-based e podem ser feitos de diversas formas diferentes: aplicando os dois separados e juntando os resultados depois, adicionando a capacidade de Content-based a Collaborative Filtering (ou vice-versa) ou unificando as duas abordagens em um único modelo.
Context-aware Recommender Systems
Existem muitos casos de recomendações que não podem levar em consideração somente os dados do item ou do usuário, como conteúdo personalizado de um site de filmes, sites de viagens e até sites de notícias.
A incorporação do contexto permite personalizar ainda mais a recomendação e criar experiências realmente válidas ao usuário.
Em Engenharia de Software, sistemas de recomendação desempenham importantes funções a fim de ajudar a equipe de software a lidar com sobrecarga de informações, filtrando e fornecendo informações úteis em um determinado contexto.(Robillard et al., 2010)
Recommendation System in Software Engineeiring (RSSE) compreendem três componentes principais que são:
(Rahman et al., 2014).
O objetivo geral é projetar e implementar um sistema de recomendação usando ontologia preditiva em uma base de dados sobre experimentos de software em LPS caracterizadas por sua qualidade.
Os objetivos específicos
Fonte: Edson A. Oliveira Junior
ONTOLOGIA PREDITIVA
SISTEMA DE RECOMENDAÇÃO
Dados
Inferência
Aplicação
Front-End
Na Literatura é possível encontrar algumas dimensões para avaliação de um sistema de recomendação e as recomendações provida por ele.
Fonte: RSSE Cap.10
Fonte: RSSE Cap.10
Espera-se que com esta pesquisa inicie um processo de melhoramento na qualidade de experimentação em LPS através deste projeto e implementação do sistema de recomendação proposto.
Como trabalho futuro espera-se desenvolver melhores abordagens de recomendação afim de comparação com a abordagem proposta.
Uma possível limitação deste estudo é o tempo hábil para implementação e testes de
validação do sistema de recomendação.
| E1 | RSL - Revisão sistemática da Literatura |
| E2 | Projeto: Tecnologias |
| E3 | Projeto: Modelo de Ontologias |
| E4 | Projeto: Modelo de Predição |
| E5 | Projeto: Modelagem de dados |
| E6 | Projeto: Modelo de Recomendação |
| E7 | Projeto: Front-End |
| E8 | Desenvolvimento: Ontologias |
| E9 | Desenvolvimento: Predição |
| E10 | Desenvolvimento: Recomendação |
| E11 | Desenvolvimento: Front-End |
| E12 | Testes |
| E13 | Avaliação dos Resultados |
| E14 | Conclusões |
| E15 | Escrever Qualificação |
| E16 | Defesa da Qualificação |
| E17 | Escrever Dissertação |
| E18 | Defesa da Dissertação |
O objetivo desta proposta de dissertação propor um sistema de recomendação que possa gerar processos e diretrizes para realização de experimentos para LPS com o minimo de qualidade. Para isso, está sendo realizado uma RSL para se aprofundar nos conceitos de Sistemas de Recomendação em ES e modelos de Ontologias para representação dos dados levantados sobre a qualidade dos experimentos em LPS encontrados no trabalho da Viviane Furtado.
Em breve, os estudos extraídos da RSL auxiliarão no cumprimento dos objetivos definidos, no intuito de elaborar um projeto de software de um sistema de recomendação de experimentos em ES para LPS bem como sua avaliação.
Lopes, V. P.; Travassos, G. H. Experimentação em engenharia de software: Glossário de termos. In: 6th Experimental Software Engineering Latin American Workshop (ESELAW 2009), 2009, p. 42–51.
Pohl, K.; Böckle, G.; Linden, F. J. v. d. Software Product Line Engineering: Foundations, Principles and Techniques. Secaucus, NJ, USA: Springer-Verlag New York, Inc., 2005.
Kitchenham, B. A.; Budgen, D.; Brereton, P. Evidence-Based Software engineering and systematic reviews, v. 4. CRC Press, 2016.
Dieste, O.; Grim, A.; Juristo, N.; Saxena, H.; et al. Quantitative determination of the relationship between internal validity and bias in software engineering experiments: Consequences for systematic literature reviews. In: 5th International Symposium on Empirical Software Engineering and Measurement (ESEM), 2011, p. 285–294.
Kampenes, V. Quality of design, analysis and reporting of software engineering experiments: A systematic review. Tese de Doutoramento, Department of Informatics, Faculty of Mathematics and Natural Sciences, University of Oslo, 2007.
Wolff, C.; École, J. Philosophia prima sive ontologia. 1962.
Gruber, T. What is an ontology. WWW Site http://www-ksl. stanford. edu/kst/whatis-an-ontology. html (accessed on 07-09-2004), 1993.
Mahmood, T.; Ricci, F. Improving recommender systems with adaptive conversational strategies. In: Proceedings of the 20th ACM conference on Hypertext and hypermedia, ACM, 2009, p. 73–82.
Kwong, K. K.; Belliveau, J. W.; Chesler, D. A.; Goldberg, I. E.; Weisskoff, R. M.; Poncelet, B. P.; Kennedy, D. N.; Hoppel, B. E.; Cohen, M. S.; Turner, R. Dynamic magnetic resonance imaging of human brain activity during primary sensory stimulation. Proceedings of the National Academy of Sciences, v. 89, n. 12, p. 5675–5679, 1992.
Robillard, M.; Walker, R.; Zimmermann, T. Recommendation systems for software engineering. IEEE software, v. 27, n. 4, p. 80–86, 2010.
Rahman, M. M.; Yeasmin, S.; Roy, C. K. Towards a context-aware ide-based meta search engine for recommendation about programming errors and exceptions. In: Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014 Software Evolution Week-IEEE Conference on, IEEE, 2014, p. 194–203.