Emergent Feature Modularization

  • Márcio Ribeiro UFPE
  • Paulo Borba UFPE
  • Claus Brabrand IT University of Copenhagen

Resumo


Muitas técnicas para implementação de famílias e linhas de produtos de software carecem de interfaces, que poderiam explicitar dependências entre features e evitar introdução de erros. Nesse contexto, apresentamos uma solução baseada em ferramenta que permite aos desenvolvedores reconhecer e lidar com dependências entre features: interfaces emergentes, que são computadas sob demanda utilizando-se análises de fluxo de dados sensíveis a features e emergem no ambiente de desenvolvimento para emular benefícios de modularidade não presentes na linguagem de programação. Em um experimento controlado, desenvolvedores que usaram nossa abordagem durante tarefas de manutenção foram 3 vezes mais produtivos e introduziram menos erros.

Referências

Baniassad, E. L. A. and Murphy, G. C. (1998). Conceptual module querying for software reengineering. In ICSE, pages 64–73.

Bodden, E., Tolêdo, T., Ribeiro, M., Brabrand, C., Borba, P., and Mezini, M. (2013). Analyzing software product lines in minutes instead of years. In PLDI. To appear.

Brabrand, C., Ribeiro, M., Tolêdo, T., and Borba, P. (2012). Intraprocedural dataflow analysis for software product lines. In AOSD, pages 13–24.

Brabrand, C., Ribeiro, M., Tolêdo, T., Winther, J., and Borba, P. (2013). Intraprocedural dataflow analysis for software product lines. Transactions on AOSD, 10:73–108.

Kästner, C. et al. (2008). Granularity in Software Product Lines. In ICSE, pages 311–320.

Liebig, J., Apel, S., Lengauer, C., Kästner, C., and Schulze, M. (2010). An analysis of the variability in forty preprocessor-based software product lines. In ICSE, pages 105–114.

Ribeiro, M. et al. (2011a). On the impact of feature dependencies when maintaining preprocessor-based software product lines. In GPCE, pages 23–32.

Ribeiro, M. et al. (2012). On the impact of feature dependencies when maintaining preprocessor-based software product lines. ACM SIGPLAN Notices, 47:23–32.

Ribeiro, M., Pacheco, H., Teixeira, L., and Borba, P. (2010). Emergent Feature Modularization. In Onward!, pages 11–18.

Ribeiro, M., Toledo, T., Borba, P., and Brabrand, C. (2011b). A tool for improving maintainabiliy of preprocessor-based product lines. In Tools Session (CBSoft 2011).

Yin, Z., Yuan, D., Zhou, Y., Pasupathy, S., and Bairavasundaram, L. (2011). How do fixes become bugs? In ESEC/FSE, pages 26–36.
Publicado
23/07/2013
RIBEIRO, Márcio; BORBA, Paulo; BRABRAND, Claus. Emergent Feature Modularization. In: CONCURSO DE TESES E DISSERTAÇÕES (CTD), 26. , 2013, Maceió/AL. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2013 . p. 65-70. ISSN 2763-8820.