Reverse Engineering Architectural Feature Models

  • Mathieu Acher
  • Anthony Cleve
  • Philippe Collet
  • Philippe Merle
  • Laurence Duchien
  • Philippe Lahire
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6903)


Reverse engineering the variability of an existing system is a challenging activity. The architect knowledge is essential to identify variation points and explicit constraints between features, for instance in feature models (FMs), but the manual creation of FMs is both time-consuming and error-prone. On a large scale, it is very difficult for an architect to guarantee that the resulting FM is consistent with the architecture it is associated with. In this paper, we present a comprehensive, tool supported process for reverse engineering architectural FMs. We develop automated techniques to extract and combine different variability descriptions of an architecture. Then, alignment and reasoning techniques are applied to integrate the architect knowledge and reinforce the extracted FM. We illustrate the process when applied to a representative software system and we report on our experience in this context.


Feature Model Reverse Engineering Software Product Line Architect Knowledge Propositional Formula 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Acher, M., Collet, P., Lahire, P., France, R.: Comparing Approaches to Implement Feature Model Composition. In: Kühne, T., Selic, B., Gervais, M.-P., Terrier, F. (eds.) ECMFA 2010. LNCS, vol. 6138, pp. 3–19. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  2. 2.
    Acher, M., Collet, P., Lahire, P., France, R.: A Domain-Specific Language for Managing Feature Models. In: SAC 2011, pp. 1333–1340. PL Track, ACM (2011)Google Scholar
  3. 3.
    Alves, V., Schwanninger, C., Barbosa, L., Rashid, A., Sawyer, P., Rayson, P., Pohl, C., Rummler, A.: An exploratory study of information retrieval techniques in domain analysis. In: SPLC 2008, pp. 67–76. IEEE, Los Alamitos (2008)Google Scholar
  4. 4.
    Apel, S., Kästner, C.: An overview of feature-oriented software development. Journal of Object Technology (JOT) 8(5), 49–84 (2009)CrossRefGoogle Scholar
  5. 5.
    Bachmann, F., Bass, L.: Managing variability in software architectures. SIGSOFT Softw. Eng. Notes 26, 126–132 (2001)CrossRefGoogle Scholar
  6. 6.
    Benavides, D., Segura, S., Ruiz-Cortes, A.: Automated Analysis of Feature Models 20 years Later: a Literature Review. Information Systems (2010)Google Scholar
  7. 7.
    Brace, K.S., Rudell, R.L., Bryant, R.E.: Efficient implementation of a bdd package. In: DAC 1990, pp. 40–45. ACM, New York (1990)Google Scholar
  8. 8.
    Clements, P., Northrop, L.M.: Software Product Lines: Practices and Patterns. Addison-Wesley Professional, Reading (2001)Google Scholar
  9. 9.
    Czarnecki, K., Pietroszek, K.: Verifying feature-based model templates against well-formedness ocl constraints. In: GPCE 2006, pp. 211–220. ACM, New York (2006)Google Scholar
  10. 10.
    Czarnecki, K., Wasowski, A.: Feature diagrams and logics: There and back again. In: SPLC 2007, pp. 23–34 (2007)Google Scholar
  11. 11.
  12. 12.
  13. 13.
    John, I.: Capturing product line information from legacy user documentation. In: Software Product Lines, pp. 127–159. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  14. 14.
    Lopez-Herrejon, R.E., Egyed, A.: Detecting inconsistencies in multi-view models with variability. In: Kühne, T., Selic, B., Gervais, M.-P., Terrier, F. (eds.) ECMFA 2010. LNCS, vol. 6138, pp. 217–232. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  15. 15.
    Lopez-Herrejon, R.E., Egyed, A.: On the need of safe software product line architectures. In: Babar, M.A., Gorton, I. (eds.) ECSA 2010. LNCS, vol. 6285, pp. 493–496. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  16. 16.
    Metzger, A., Pohl, K., Heymans, P., Schobbens, P.-Y., Saval, G.: Disambiguating the documentation of variability in software product lines: A separation of concerns, formalization and automated analysis. In: RE 2007, pp. 243–253 (2007)Google Scholar
  17. 17.
    Parra, C.A., Cleve, A., Blanc, X., Duchien, L.: Feature-based composition of software architectures. In: Babar, M.A., Gorton, I. (eds.) ECSA 2010. LNCS, vol. 6285, pp. 230–245. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  18. 18.
    Schobbens, P.-Y., Heymans, P., Trigaux, J.-C., Bontemps, Y.: Generic semantics of feature diagrams. Comput. Netw. 51(2), 456–479 (2007)CrossRefzbMATHGoogle Scholar
  19. 19.
    Seinturier, L., Merle, P., Fournier, D., Dolet, N., Schiavoni, V., Stefani, J.-B.: Reconfigurable SCA Applications with the FraSCAti Platform. In: SCC 2009, pp. 268–275. IEEE, Los Alamitos (2009)Google Scholar
  20. 20.
    She, S., Lotufo, R., Berger, T., Wasowski, A., Czarnecki, K.: Reverse engineering feature models. In: ICSE 2011, pp. 461–470. ACM, New York (2011)Google Scholar
  21. 21.
    SCA standard,
  22. 22.
    Svahnberg, M., van Gurp, J., Bosch, J.: A taxonomy of variability realization techniques: Research articles. Softw. Pract. Exper. 35(8), 705–754 (2005)CrossRefGoogle Scholar
  23. 23.
    Thüm, T., Batory, D., Kästner, C.: Reasoning about edits to feature models. In: ICSE 2009, pp. 254–264. IEEE, Los Alamitos (2009)Google Scholar
  24. 24.

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Mathieu Acher
    • 1
  • Anthony Cleve
    • 2
  • Philippe Collet
    • 1
  • Philippe Merle
    • 3
  • Laurence Duchien
    • 3
  • Philippe Lahire
    • 1
  1. 1.Université de Nice Sophia Antipolis - I3S (CNRS UMR 6070)France
  2. 2.PReCISE Research CentreUniversity of NamurBelgium
  3. 3.INRIA Lille-Nord Europe, Univ. Lille 1 - CNRS UMR 8022France

Personalised recommendations