Mind the Gap! Automated Anomaly Detection for Potentially Unbounded Cardinality-Based Feature Models

  • Markus Weckesser
  • Malte Lochau
  • Thomas Schnabel
  • Björn Richerzhagen
  • Andy Schürr
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9633)


Feature models are frequently used for specifying variability of user-configurable software systems, e.g., software product lines. Numerous approaches have been developed for automating feature model validation concerning constraint consistency and absence of anomalies. As a crucial extension to feature models, cardinality annotations and respective constraints allow for multiple, and even potentially unbounded occurrences of feature instances within configurations. This is of particular relevance for user-adjustable application resources as prevalent, e.g., in cloud computing. However, a precise semantic characterization and tool support for automated and scalable validation of cardinality-based feature models is still an open issue. In this paper, we present a comprehensive formalization of cardinality-based feature models with potentially unbounded feature multiplicities. We apply a combination of ILP and SMT solvers to automate consistency checking and anomaly detection, including novel anomalies, e.g., interval gaps. We present evaluation results gained from our tool implementation showing applicability and scalability to larger-scale models.


Software product lines Cloud-based systems Cardinality-based feature models Integer Linear Programming (ILP) 



This work was partially supported by the DFG (German Research Foundation) as part of projects B01 and C02 within CRC 1053 – MAKI and under SPP 1593: Design For Future – Managed Software Evolution.


  1. 1.
    Anastasakis, K., Bordbar, B., Georg, G., Ray, I.: On challenges of model transformation from UML to Alloy. Softw. Syst. Model. 9(1), 69–86 (2010)CrossRefGoogle Scholar
  2. 2.
    Bąk, K., Czarnecki, K., Wąsowski, A.: Feature and meta-models in Clafer: mixed, specialized, and coupled. In: Malloy, B., Staab, S., Brand, M. (eds.) SLE 2010. LNCS, vol. 6563, pp. 102–122. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  3. 3.
    Bak, K., Diskin, Z., Antkiewicz, M., Czarnecki, K., Wasowski, A.: Clafer: unifying class and feature modeling. Softw. Syst. Model. 1–35 (2014)Google Scholar
  4. 4.
    Balaban, M., Maraee, A.: Simplification and correctness of UML class diagrams – focusing on multiplicity and aggregation/composition constraints. In: Moreira, A., Schätz, B., Gray, J., Vallecillo, A., Clarke, P. (eds.) MODELS 2013. LNCS, vol. 8107, pp. 454–470. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  5. 5.
    Batory, D.: Feature models, grammars, and propositional formulas. In: Obbink, H., Pohl, K. (eds.) SPLC 2005. LNCS, vol. 3714, pp. 7–20. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  6. 6.
    Benavides, D., Segura, S., Ruiz-Cortés, A.: Automated analysis of feature models 20 years later: a literature review. Inf. Syst. 35(6), 615–636 (2010)CrossRefGoogle Scholar
  7. 7.
    Benavides, D., Trinidad, P., Ruiz-Cortés, A.: Automated reasoning on feature models. In: Pastor, Ó., Falcão e Cunha, J. (eds.) CAiSE 2005. LNCS, vol. 3520, pp. 491–503. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  8. 8.
    Boufares, F., Bennaceur, H.: Consistency problems in ER-schemas for database systems. Inf. Technol. 163(4), 263–274 (2004)MathSciNetzbMATHGoogle Scholar
  9. 9.
    Bürdek, J., Lity, S., Lochau, M., Berens, M., Goltz, U., Schürr, A.: Staged configuration of dynamic software product lines with complex binding time constraints. In: VaMoS 2014, pp. 16: 1–16: 8 (2014)Google Scholar
  10. 10.
    Cadoli, M., Calvanese, D., De Giacomo, G., Mancini, T.: Finite model reasoning on UML class diagrams via constraint programming. In: Basili, R., Pazienza, M.T. (eds.) AI*IA 2007. LNCS (LNAI), vol. 4733, pp. 36–47. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  11. 11.
    Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley Longman Publishing Co., Inc, Boston (2001)Google Scholar
  12. 12.
    Cordy, M., Schobbens, P.Y., Heymans, P., Legay, A.: Beyond boolean product-line model checking: dealing with feature attributes and multi-features. In: ICSE 2013, pp. 472–481 (2013)Google Scholar
  13. 13.
    Czarnecki, K., Helsen, S.: Staged configuration using feature models. In: Nord, R.L. (ed.) SPLC 2004. LNCS, vol. 3154, pp. 266–283. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  14. 14.
    Czarnecki, K., Helsen, S., Eisenecker, U.W.: Formalizing cardinality-based feature models and their specialization. Softw. Process Improv. Pract. 10(1), 7–29 (2005)CrossRefGoogle Scholar
  15. 15.
    Falkner, A., Feinerer, I., Salzer, G., Schenner, G.: Computing product configurations via UML and integer linear programming. Int. J. Mass Customisation 3(4), 351–367 (2010)CrossRefGoogle Scholar
  16. 16.
    Fleurey, F., Haugen, Ø., Møller-Pedersen, B., Svendsen, A., Zhang, X.: Standardizing variability – challenges and solutions. In: Ober, I., Ober, I. (eds.) SDL 2011. LNCS, vol. 7083, pp. 233–246. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  17. 17.
    GNU Linear Programming Kit, Version 4.55.
  18. 18.
    Gurobi Optimization, I.: Gurobi Optimizer Reference Manual (2015).
  19. 19.
    Heymans, P., Schobbens, P.Y., Trigaux, J.C., Bontemps, Y., Matulevicius, R., Classen, A.: Evaluating formal properties of feature diagram languages. IET Softw. 2(3), 281–302 (2008)CrossRefGoogle Scholar
  20. 20.
    Hubaux, A., Heymans, P., Schobbens, P.-Y., Deridder, D.: Towards multi-view feature-based configuration. In: Wieringa, R., Persson, A. (eds.) REFSQ 2010. LNCS, vol. 6182, pp. 106–112. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  21. 21.
    IBM ILOG CPLEX V12.6 User’s Manual for CPLEX. IBM Corp. (2015).
  22. 22.
    Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, S.A.: Feature oriented domain analysis (FODA). Technical report, CMU (1990)Google Scholar
  23. 23.
    Karataş, A.S., Oğuztüzün, H., Doğru, A.: Mapping extended feature models to constraint logic programming over finite domains. In: Bosch, J., Lee, J. (eds.) SPLC 2010. LNCS, vol. 6287, pp. 286–299. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  24. 24.
    Le Berre, D., Parrain, A.: The Sat4j Library, Release 2.2. J. Satisfiability Boolean Model. Comput. 7, 59–64 (2010)Google Scholar
  25. 25.
    Mendonça, M., Wasowski, A., Czarnecki, K.: SAT-based analysis of feature models is easy. In: 13th SPLC, pp. 231–240 (2009)Google Scholar
  26. 26.
    Michel, R., Classen, A., Hubaux, A., Boucher, Q.: A formal semantics for feature cardinalities in feature diagrams. In: VaMoS 2011, pp. 82–89 (2011)Google Scholar
  27. 27.
    de Moura, L., Bjørner, N.S.: Z3: an efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  28. 28.
    Quinton, C., Romero, D., Duchien, L.: Automated selection and configuration of cloud environments using software product lines principles. In: IEEE Cloud 2014, pp. 144–151 (2014)Google Scholar
  29. 29.
    Quinton, C., Pleuss, A., Berre, D.L., Duchien, L., Botterweck, G.: Consistency checking for the evolution of cardinality-based feature models. In: SPLC 2014, pp. 122–131 (2014)Google Scholar
  30. 30.
    Quinton, C., Romero, D., Duchien, L.: Cardinality-based feature models with constraints: a pragmatic approach. In: SPLC 2013, pp. 162–166 (2013)Google Scholar
  31. 31.
    Richerzhagen, B., Stingl, D., Hans, R., Groß, C., Steinmetz, R.: Bypassing the cloud: peer-assisted event dissemination for augmented reality games. In: P2P 2014, pp. 1–10 (2014)Google Scholar
  32. 32.
    Riebisch, M., Böllert, K., Streitferdt, D., Philippow, I.: Extending feature diagrams with UML multiplicities. In: 6th World Conference on Integrated Design & Process Technology (IDPT) (2002)Google Scholar
  33. 33.
    Schnabel, T., Weckesser, M., Kluge, R., Lochau, M., Schürr, A.: CardyGAn: tool support for cardinality-based feature models. In: VaMoS 2016 (2016) (to appear)Google Scholar
  34. 34.
    Schobbens, P.Y., Heymans, P., Trigaux, J.C.: Feature diagrams: a survey and a formal semantics. In: Proceedings of RE 2006, pp. 139–148 (2006)Google Scholar
  35. 35.
    Schroeter, J., Mucha, P., Muth, M., Jugel, K., Lochau, M.: Dynamic configuration management of cloud-based applications. In: SPLC 2012, pp. 171–178 (2012)Google Scholar
  36. 36.
    Segura, S., Galindo, J., Benavides, D., Parejo, J., Ruiz-Cortés, A.: BeTTy: benchmarking and testing on the automated analysis of feature models. In: VaMoS 2012, pp. 63–71 (2012)Google Scholar
  37. 37.
    Williams, H.P.: Model Building in Mathematical Programming. John Wiley & Sons, Hoboken (2013)zbMATHGoogle Scholar
  38. 38.
    Zhang, W., Yan, H., Zhao, H., Jin, Z.: A BDD-based approach to verifying clone-enabled feature models’ constraints and customization. In: Mei, H. (ed.) ICSR 2008. LNCS, vol. 5030, pp. 186–199. Springer, Heidelberg (2008)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2016

Authors and Affiliations

  • Markus Weckesser
    • 1
  • Malte Lochau
    • 1
  • Thomas Schnabel
    • 1
  • Björn Richerzhagen
    • 2
  • Andy Schürr
    • 1
  1. 1.Real-Time Systems LabTU DarmstadtDarmstadtGermany
  2. 2.Multimedia Communications LabTU DarmstadtDarmstadtGermany

Personalised recommendations