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.
- K. R. Apt. Some Remarks on Boolean Constraint Propagation. In New Trends in Constraints, pages 91–107. Springer, 1999. Google Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- P. Clements and L. Northrop. Software Product Lines: Practices and Patterns. Addison-Wesley, Boston, MA, USA, 2001. Google Scholar
Digital Library
- K. Czarnecki and U. Eisenecker. Generative Programming: Methods, Tools, and Applications. ACM/Addison-Wesley, New York, NY, USA, 2000. Google Scholar
Digital Library
- M. Davis and H. Putnam. A Computing Procedure for Quantification Theory. Journal of the ACM (JACM), 7(3):201–215, 1960. Google Scholar
Digital Library
- J. De Kleer. An Assumption-Based TMS. Artificial intelligence, 28(2):127–162, 1986. Google Scholar
Digital Library
- 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 Scholar
- J. Doyle. A Truth Maintenance System. Artificial Intelligence, 12(3):231–272, 1979.Google Scholar
Cross Ref
- 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 Scholar
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- K. D. Forbus and J. D. Kleer. Building Problem Solvers. MIT Press, 1993. Google Scholar
Digital Library
- 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 Scholar
Cross Ref
- A. Hemakumar. Finding Contradictions in Feature Models. In Proc. Int’l Software Product Line Conf. (SPLC), pages 183– 190, 2008.Google Scholar
- U. Junker. Preferred Explanations and Relaxations for Over-Constrained Problems. In AAAI-2004, 2004. Google Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- D. Kramer, C. S. Sauer, and T. Roth-Berghofer. Towards Explanation Generation using Feature Models in Software Product Lines. In KESE, 2013.Google Scholar
- 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 Scholar
Cross Ref
- M. H. Liffiton and K. A. Sakallah. Algorithms for Computing Minimal Unsatisfiable Subsets of Constraints. Journal of Automated Reasoning, 40:1–33, 2008. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- J. P. Martins and S. C. Shapiro. Reasoning in Multiple Belief Spaces. PhD thesis, State University of New York at Buffalo, 1983. Google Scholar
Digital Library
- T. Mens and S. Demeyer, editors. Software Evolution. Springer-Verlag, Berlin Heidelberg, 2008. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- V. Rutenburg. Propositional Truth Maintenance Systems: Classification and Complexity Analysis. Annals of Mathematics and Artificial Intelligence, 10(3):207–231, 1994.Google Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- P. Trinidad. Automating the Analysis of Stateful Feature Models. PhD thesis, University of Seville, 2012.Google Scholar
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
Index Terms
Explaining anomalies in feature models
Recommendations
Explaining anomalies in feature models
GPCE 2016: Proceedings of the 2016 ACM SIGPLAN International Conference on Generative Programming: Concepts and ExperiencesThe 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 ...
On extracting feature models from sets of valid feature combinations
FASE'13: Proceedings of the 16th international conference on Fundamental Approaches to Software EngineeringRather than developing individual systems, Software Product Line Engineering develops families of systems. The members of the software family are distinguished by the features they implement and Feature Models (FMs) are the de facto standard for ...
Anomaly analyses for feature-model evolution
GPCE 2018: Proceedings of the 17th ACM SIGPLAN International Conference on Generative Programming: Concepts and ExperiencesSoftware Product Lines (SPLs) are a common technique to capture families of software products in terms of commonalities and variabilities. On a conceptual level, functionality of an SPL is modeled in terms of features in Feature Models (FMs). As other ...







Comments