Emergent Feature Modularization

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

Abstract


Many current implementation techniques for software families and product lines lack interfaces, which could make code level feature dependencies explicit and avoid errors introduction. As alternative to changing the implementation approach, we introduce a tool-based solution to support developers in recognizing and dealing with feature dependencies: emergent interfaces, which are computed on demand using feature-sensitive dataflow analysis. They emerge in the IDE and emulate benefits of modularity not available in the host language. In a controlled experiment, our interfaces improved performance of maintenance tasks by up to 3 times and also reduced errors introduction.

References

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.
Published
2013-07-23
RIBEIRO, Márcio; BORBA, Paulo; BRABRAND, Claus. Emergent Feature Modularization. In: THESIS AND DISSERTATION CONTEST (CTD), 26. , 2013, Maceió/AL. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2013 . p. 65-70. ISSN 2763-8820.