skip to main content
article

Explaining anomalies in feature models

Published:20 October 2016Publication History
Skip Abstract Section

Abstract

The development of variable software, in general, and feature models, in particular, is an error-prone and time-consuming task. It gets increasingly more challenging with industrial-size models containing hundreds or thousands of features and constraints. Each change may lead to anomalies in the feature model such as making some features impossible to select. While the detection of anomalies is well-researched, giving explanations is still a challenge. Explanations must be as accurate and understandable as possible to support the developer in repairing the source of an error. We propose an efficient and generic algorithm for explaining different anomalies in feature models. Additionally, we achieve a benefit for the developer by computing short explanations expressed in a user-friendly manner and by emphasizing specific parts in explanations that are more likely to be the cause of an anomaly. We provide an open-source implementation in FeatureIDE and show its scalability for industrial-size feature models.

References

  1. K. R. Apt. Some Remarks on Boolean Constraint Propagation. In New Trends in Constraints, pages 91–107. Springer, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. K. Bak, Z. Diskin, M. Antkiewicz, K. Czarnecki, and A. Wasowski. Clafer: Unifying Class and Feature Modeling. Software & Systems Modeling, pages 1–35, 2014.Google ScholarGoogle Scholar
  3. D. Batory. Feature Models, Grammars, and Propositional Formulas. In Proc. Int’l Software Product Line Conf. (SPLC), pages 7–20, Berlin, Heidelberg, 2005. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. D. Benavides, S. Segura, and A. Ruiz-Cortés. Automated Analysis of Feature Models 20 Years Later: A Literature Review. Information Systems, 35(6):615–708, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. D. Benavides, A. Felfernig, J. A. Galindo, and F. Reinfrank. Automated Analysis in Feature Modelling and Product Configuration. Proc. Int’l Conf. Software Reuse (ICSR). Springer, Berlin, Heidelberg, 2013.Google ScholarGoogle ScholarCross RefCross Ref
  6. D. Beuche. Modeling and building software product lines with pure::variants. In Proc. Int’l Software Product Line Conf. (SPLC), pages 255–255, New York, NY, USA, 2012. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. A. Classen, Q. Boucher, and P. Heymans. A Text-Based Approach to Feature Modelling: Syntax and Semantics of {TVL}. Science of Computer Programming, 76(12):1130 – 1143, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. P. Clements and L. Northrop. Software Product Lines: Practices and Patterns. Addison-Wesley, Boston, MA, USA, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. K. Czarnecki and U. Eisenecker. Generative Programming: Methods, Tools, and Applications. ACM/Addison-Wesley, New York, NY, USA, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. M. Davis and H. Putnam. A Computing Procedure for Quantification Theory. Journal of the ACM (JACM), 7(3):201–215, 1960. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. J. De Kleer. An Assumption-Based TMS. Artificial intelligence, 28(2):127–162, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. A. Dolgui, J. Sasiadek, M. Zaremba, S. Feldmann, C. Legat, and B. Vogel-Heuser. Engineering Support in the Machine Manufacturing Domain through Interdisciplinary Product Lines: An Applicability Analysis. IFAC-PapersOnLine, 48(3):211 – 218, 2015.Google ScholarGoogle Scholar
  13. J. Doyle. A Truth Maintenance System. Artificial Intelligence, 12(3):231–272, 1979.Google ScholarGoogle ScholarCross RefCross Ref
  14. A. O. Elfaki, S. Phon-Amnuaisuk, and C. K. Ho. Using First Order Logic to Validate Feature Model. In Proc. Int’l Workshop Variability Modelling of Software-Intensive Systems (Va-MoS), pages 169–172, 2009.Google ScholarGoogle Scholar
  15. A. Felfernig and M. Schubert. Fastdiag: A Diagnosis Algorithm for Inconsistent Constraint Sets. In Proceedings of the Workshop on the Principles of Diagnosis (DX 2010), Portland, OR, USA, pages 31–38, 2010.Google ScholarGoogle Scholar
  16. A. Felfernig, M. Schubert, and C. Zehentner. An Efficient Diagnosis Algorithm for Inconsistent Constraint Sets. Artificial Intelligence for Engineering Design, Analysis and Manufacturing, 26:53–62, 2 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. A. Felfernig, D. Benavides, J. Galindo, and F. Reinfrank. Towards Anomaly Explanation in Feature Models. In Proceedings of the Workshop on Configuration, Vienna, Austria, pages 117–124. Citeseer, 2013.Google ScholarGoogle Scholar
  18. K. D. Forbus and J. D. Kleer. Building Problem Solvers. MIT Press, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. O. Guthmann, O. Strichmann, and A. Trostanetski. Minimal unsatisfiable core extraction for SMT. In Proc. Int’l Conf. on Formal Methods in Computer-Aided Design (FMCAD), 2016.Google ScholarGoogle ScholarCross RefCross Ref
  20. A. Hemakumar. Finding Contradictions in Feature Models. In Proc. Int’l Software Product Line Conf. (SPLC), pages 183– 190, 2008.Google ScholarGoogle Scholar
  21. U. Junker. Preferred Explanations and Relaxations for Over-Constrained Problems. In AAAI-2004, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. K. C. Kang, S. G. Cohen, J. A. Hess, W. E. Novak, and A. S. Peterson. Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical Report CMU/SEI-90-TR-21, SE Institute, 1990.Google ScholarGoogle ScholarCross RefCross Ref
  23. C. Kästner, T. Thüm, G. Saake, J. Feigenspan, T. Leich, F. Wielgorz, and S. Apel. FeatureIDE: A Tool Framework for Feature-Oriented Software Development. In Proc. Int’l Conf. Software Engineering (ICSE), pages 611–614, Washington, DC, USA, May 2009. IEEE. Formal demonstration paper. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. D. Kramer, C. S. Sauer, and T. Roth-Berghofer. Towards Explanation Generation using Feature Models in Software Product Lines. In KESE, 2013.Google ScholarGoogle Scholar
  25. U. Lesta, I. Schaefer, and T. Winkelmann. Detecting and Explaining Conflicts in Attributed Feature Models. In Proc. Int’l Workshop Formal Methods and Analysis in Software Product Line Engineering (FMSPLE), pages 31–43, 2015.Google ScholarGoogle ScholarCross RefCross Ref
  26. M. H. Liffiton and K. A. Sakallah. Algorithms for Computing Minimal Unsatisfiable Subsets of Constraints. Journal of Automated Reasoning, 40:1–33, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. M. Mannion. Using First-Order Logic for Product Line Model Validation. In Proc. Int’l Software Product Line Conf. (SPLC), pages 176–187, Berlin, Heidelberg, 2002. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. J. P. Martins and S. C. Shapiro. Reasoning in Multiple Belief Spaces. PhD thesis, State University of New York at Buffalo, 1983. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. T. Mens and S. Demeyer, editors. Software Evolution. Springer-Verlag, Berlin Heidelberg, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. M. Mernik, B. R. Bryant, G. Cabri, M. Ganzha, M. Acher, P. Collet, P. Lahire, and R. B. France. FAMILIAR: A Domain-Specific Language for Large Scale Management of Feature Models. Science of Computer Programming, 78(6):657 – 681, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. K. Pohl, G. Böckle, and F. J. van der Linden. Software Product Line Engineering: Foundations, Principles and Techniques. Springer, Berlin, Heidelberg, Sept. 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. L. Rinc´on, G. L. Giraldo, R. Mazo, and C. Salinesi. An Ontological Rule-Based Approach for Analyzing Dead and False Optional Features in Feature Models. Electronic Notes in Theoretical Computer Science, 302:111–132, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. V. Rutenburg. Propositional Truth Maintenance Systems: Classification and Complexity Analysis. Annals of Mathematics and Artificial Intelligence, 10(3):207–231, 1994.Google ScholarGoogle ScholarCross RefCross Ref
  34. N. Siegmund, M. Rosenmüller, M. Kuhlemann, C. Kästner, S. Apel, and G. Saake. SPL Conqueror: Toward Optimization of Non-Functional Properties in Software Product Lines. Software Quality Journal, 20(3):487–517, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. R. Tartler, J. Sincero, W. Schröder-Preikschat, and D. Lohmann. Dead or Alive: Finding Zombie Features in the Linux Kernel. In Proc. Int’l Workshop Feature-Oriented Software Development (FOSD), pages 81–86. ACM, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. R. Tartler, D. Lohmann, C. Dietrich, C. Egger, and J. Sincero. Configuration Coverage in the Analysis of Large-Scale System Software. In Proceedings of the Workshop on Programming Languages and Operating Systems, page 2. ACM, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. R. Tartler, D. Lohmann, J. Sincero, and W. Schröder-Preikschat. Feature Consistency in Compile-Time-Configurable System Software: Facing the Linux 10,000 Feature Problem. In Proceedings of the Conference on Computer systems, pages 47–60. ACM, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. T. Thüm, S. Apel, C. Kästner, I. Schaefer, and G. Saake. A Classification and Survey of Analysis Strategies for Software Product Lines. ACM Computing Surveys, 47(1):6:1–6:45, June 2014. ISSN 0360-0300. doi: 10.1145/2580950. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. P. Trinidad. Automating the Analysis of Stateful Feature Models. PhD thesis, University of Seville, 2012.Google ScholarGoogle Scholar
  40. P. Trinidad, D. Benavides, A. Ruiz-Cortés, S. Segura, and M. Toro. Explanations for Agile Feature Models. In Proceedings of the Workshop on Agile Product Line Engineering (APLE), page 44, 2006.Google ScholarGoogle Scholar
  41. P. Trinidad, D. Benavides, A. Durán, A. Ruiz-Cortés, and M. Toro. Automated Error Analysis for the Agilization of Feature Modeling. Journal of Systems and Software, 81(6): 883–896, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. T. von der Maßen and H. Lichter. Deficiencies in Feature Models. In Proceedings of the Workshop on Software Variability Management for Product Derivation-Towards Tool Support, 2004.Google ScholarGoogle Scholar
  43. L. A. Zaid, F. Kleinermann, and O. De Troyer. Applying Semantic Web Technology to Feature Modeling. In ACM Symposium on Applied Computing, SAC ’09, pages 1252– 1256, New York, NY, USA, 2009. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Explaining anomalies in feature models

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in

            Full Access

            • Published in

              cover image ACM SIGPLAN Notices
              ACM SIGPLAN Notices  Volume 52, Issue 3
              GPCE '16
              March 2017
              212 pages
              ISSN:0362-1340
              EISSN:1558-1160
              DOI:10.1145/3093335
              Issue’s Table of Contents
              • cover image ACM Conferences
                GPCE 2016: Proceedings of the 2016 ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences
                October 2016
                212 pages
                ISBN:9781450344463
                DOI:10.1145/2993236

              Copyright © 2016 ACM

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 20 October 2016

              Check for updates

              Qualifiers

              • article

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader
            About Cookies On This Site

            We use cookies to ensure that we give you the best experience on our website.

            Learn more

            Got it!