Abstract
Feature modeling and product configuration are central parts of software product line development. They define the domain and which features are contained in the final products. Feature modeling and product configuration are manual and thus error-prone tasks. Thus, the design of a feature model comes with several pitfalls for validity. It is necessary to support the user during the creation as much as possible. A qualitative feature model is even important as it affects all other parts, such as product configuration and generation. Therefore, this chapter gives an overview on FeatureIDE’s support to assure the quality of feature models and configurations.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
AL-HAJJAJI, M., KRIETER, S., THüM, T., LOCHAU, M., ANDSAAKE, G. 2016a. IncLing: Efficient Product-line Testing Using Incremental Pairwise Sampling. In Proc. Int’l Conf. Generative Programming: Concepts & Experiences (GPCE). ACM, New York, NY, USA, 144–155.
AL-HAJJAJI, M., MEINICKE, J., KRIETER, S., SCHRöTER, R., THüM, T., LEICH, T., ANDSAAKE, G. 2016b. Tool Demo: Testing Configurable Systems with FeatureIDE. In Proc. Int’l Conf. Generative Programming: Concepts & Experiences (GPCE). ACM, New York, NY, USA, 173–177.
AL-HAJJAJI, M., THüM, T., LOCHAU, M., MEINICKE, J., ANDSAAKE, G. 2016c. Effective Product-Line Testing Using Similarity-Based Product Prioritization. Software and System Modeling (SoSym).
ANANIEVA, S., KOWAL, M., THüM, T., AND SCHAEFER, I. 2016. Implicit Constraints in Partial Feature Models. In Proc. Int’l Workshop Feature-Oriented Software Development (FOSD). ACM, New York, NY, USA, 18–27.
ANTKIEWICZ, M., JI, W., BERGER, T., CZARNECKI, K., SCHMORLEIZ, T., LäMMEL, R., STăNCIULESCU, S., WĄSOWSKI, A., AND SCHAEFER, I. 2014. Flexible Product Line Engineering with a Virtual Platform. In Proc. Int’l Conf. Software Engineering (ICSE). ACM, New York, NY, USA, 532–535.
APEL, S., BATORY, D., KäSTNER, C., ANDSAAKE, G. 2013a. Feature-Oriented Software Product Lines: Concepts and Implementation. Springer, Berlin, Heidelberg.
APEL, S., KäSTNER, C., ANDLENGAUER, C. 2009. FeatureHouse: Language-Independent, Automated Software Composition. In Proc. Int’l Conf. Software Engineering (ICSE). IEEE, Washington, DC, USA, 221–231.
APEL, S., KäSTNER, C., ANDLENGAUER, C. 2013b. Language-Independent and Automated Software Composition: The FeatureHouse Experience. IEEE Trans. Software Engineering (TSE) 39, 1, 63–79.
APEL, S., KOLESNIKOV, S., LIEBIG, J., KäSTNER, C., KUHLEMANN, M., ANDLEICH, T. 2012. Access Control in Feature-Oriented Programming. Science of Computer Programming (SCP) 77, 3, 174–187.
APEL, S., LEICH, T., ROSENMüLLER, M., AND SAAKE, G. 2005. Feature C++: On the Symbiosis of Feature-Oriented and Aspect-Oriented Programming. In Proc. Int’l Conf. Generative Programming and Component Engineering (GPCE). Springer, Berlin, Heidelberg, 125–140.
APEL, S., VON RHEIN, A., THüM, T., AND KäSTNER, C. 2013c. Feature-Interaction Detection Based on Feature-Based Specifications. Computer Networks 57, 12, 2399–2409.
APEL, S., VON RHEIN, A., WENDLER, P., GRöSSLINGER, A., ANDBEYER, D. 2013d. Strategies for Product-Line Verification: Case Studies and Experiments. In Proc. Int’l Conf. Software Engineering (ICSE). IEEE, Piscataway, NJ, USA, 482–491.
BATORY, D. 2003. A Tutorial on Feature-Oriented Programming and Product Lines. In Proc. Int’l Conf. Software Engineering (ICSE). IEEE, Washington, DC, USA, 753–754.
BATORY, D. 2005. Feature Models, Grammars, and Propositional Formulas. In Proc. Int’l Software Product Line Conf. (SPLC). Springer, Berlin, Heidelberg, 7–20.
BATORY, D. 2006. A Tutorial on Feature Oriented Programming and the AHEAD Tool Suite. In Proc. Generative and Transformational Techniques in Software Engineering. Springer, Berlin, Heidelberg, 3–35.
BECKERT, B., HäHNLE, R., ANDSCHMITT, P. 2007. Verification of Object-Oriented Software: The KeY Approach. Springer, Berlin, Heidelberg.
BENAVIDES, D., SEGURA, S., ANDRUIZ-CORTéS, A. 2010. Automated Analysis of Feature Models 20 Years Later: A Literature Review. Information Systems 35, 6, 615–708.
BENDUHN, F., SCHRöTER, R., KENNER, A., KRUCZEK, C.,, LEICH, T., ANDSAAKE, G. 2016. Migration from Annotation-Based to Composition-Based Product Lines: Towards a Tool-Driven Process. In Proc. Conf. Advances and Trends in Software Engineering (SOFTENG). IARIA, 102–109.
BERGER, T., RUBLACK, R., NAIR, D., ATLEE, J. M., BECKER, M., CZARNECKI, K., ANDWĄSOWSKI, A. 2013. A Survey of Variability Modeling in Industrial Practice. In Proc. Int’l Workshop Variability Modelling of Software-Intensive Systems (VaMoS). ACM, New York, NY, USA, 7:1–7:8.
CHVATAL, V. 1979. A Greedy Heuristic for the Set-Covering Problem. Mathematics of operations research 4, 3, 233–235.
CZARNECKI, K.ANDEISENECKER, U. 2000. Generative Programming: Methods, Tools, and Applications. ACM/Addison-Wesley, New York, NY, USA.
CZARNECKI, K., HELSEN, S., ANDEISENECKER, U. 2005. Staged Configuration through Specialization and Multi-Level Configuration of Feature Models. Software Process: Improvement and Practice 10, 2, 143–169.
DUBINSKY, Y., RUBIN, J., BERGER, T., DUSZYNSKI, S., BECKER, M., ANDCZARNECKI, K. 2013. An Exploratory Study of Cloning in Industrial Software Product Lines. In Proc. Europ. Conf. Software Maintenance and Reengineering (CSMR). IEEE, Washington, DC, USA, 25–34.
FEIGENSPAN, J., KäSTNER, C., APEL, S., LIEBIG, J., SCHULZE, M., DACHSELT, R., PAPENDIECK, M., LEICH, T., ANDSAAKE, G. 2013. Do Background Colors Improve Program Comprehension in the #Ifdef Hell? Empirical Software Engineering (EMSE) 18, 4, 699–745.
FEIGENSPAN, J., SCHULZE, M., PAPENDIECK, M., KäSTNER, C., DACHSELT, R., KöPPEN, V., ANDFRISCH, M. 2011. Using Background Colors to Support Program Comprehension in Software Product Lines. In Proc. Int’l Conf. Evaluation Assessment in Software Engineering (EASE). 66–75.
FENSKE, W., MEINICKE, J., SCHULZE, S., SCHULZE, S., ANDSAAKE, G. 2017. Variant-Preserving Refactorings for Migrating Cloned Products to a Product Line. In Proc. Int’l Conf. Software Analysis, Evolution and Reengineering (SANER). IEEE, Piscataway, NJ, USA, 316–326.
FENSKE, W., THüM, T., ANDSAAKE, G. 2014. A Taxonomy of Software Product Line Reengineering. In Proc. Int’l Workshop Variability Modelling of Software-Intensive Systems (VaMoS). ACM, New York, NY, USA, 4:1–4:8.
FOWLER, M. 2000. Refactoring: Improving the Design of Existing Code. Addison-Wesley.
GARVIN, B. J., COHEN, M. B., ANDDWYER, M. B. 2011. Evaluating Improvements to a Meta-Heuristic Search for Constrained Interaction Testing. Empirical Software Engineering (EMSE) 16, 1, 61–102.
GRUBER, O., HARGRAVE, B. J., MCAFFER, J., RAPICAULT, P., ANDWATSON, T. 2005. The Eclipse 3.0 Platform: Adopting OSGi Technology. IBM Syst. J. 44, 2, 289–299.
HALLSTEINSEN, S., HINCHEY, M., PARK, S., AND SCHMID, K. 2008. Dynamic Software Product Lines. IEEE Computer 41, 4, 93–95.
HATCLIFF, J., LEAVENS, G. T., LEINO, K. R. M., MüLLER, P., ANDPARKINSON, M. 2012. Behavioral Interface Specification Languages. ACM Computing Surveys 44, 3, 16:1–16:58.
JOHANSEN, M. F., HAUGEN, Ø., ANDFLEUREY, F. 2011. Properties of Realistic Feature Models Make Combinatorial Testing of Product Lines Feasible. In Proc. Int’l Conf. Model Driven Engineering Languages and Systems (MODELS). Springer, Berlin, Heidelberg, 638–652.
KANG, K. C., COHEN, S. G., HESS, J. A., NOVAK, W. E., ANDPETERSON, A. S. 1990. Feature-Oriented Domain Analysis (FODA) Feasibility Study. Tech. Rep. CMU/SEI-90-TR-21, Software Engineering Institute.
KäSTNER, C.ANDAPEL, S. 2009. Virtual Separation of Concerns – A Second Chance for Preprocessors. J. Object Technology (JOT) 8, 6, 59–78.
KäSTNER, C., APEL, S., ANDKUHLEMANN, M. 2008. Granularity in Software Product Lines. In Proc. Int’l Conf. Software Engineering (ICSE). ACM, New York, NY, USA, 311–320.
KäSTNER, C., GIARRUSSO, P. G., RENDEL, T., ERDWEG, S., OSTERMANN, K., ANDBERGER, T. 2011. Variability-Aware Parsing in the Presence of Lexical Macros and Conditional Compilation. In Proc. Conf. Object-Oriented Programming, Systems, Languages and Applications (OOPSLA). ACM, New York, NY, USA, 805–824.
KäSTNER, C., THüM, T., SAAKE, G., FEIGENSPAN, J., LEICH, T., WIELGORZ, F., ANDAPEL, S. 2009. FeatureIDE: A Tool Framework for Feature-Oriented Software Development. In Proc. Int’l Conf. Software Engineering (ICSE). IEEE, Washington, DC, USA, 611–614. Formal demonstration paper.
KICZALES, G., HILSDALE, E., HUGUNIN, J., KERSTEN, M., PALM, J., ANDGRISWOLD, W. G. 2001. An Overview of AspectJ. In Proc. Europ. Conf. Object-Oriented Programming (ECOOP). Springer, London, UK, 327–354.
KICZALES, G., LAMPING, J., MENDHEKAR, A., MAEDA, C., LOPES, C., LOINGTIER, J.-M., ANDIRWIN, J. 1997. Aspect-Oriented Programming. In Proc. Europ. Conf. Object-Oriented Programming (ECOOP). Springer, Berlin, Heidelberg, 220–242.
KOLESNIKOV, S., VON RHEIN, A., HUNSEN, C., AND APEL, S. 2013. A Comparison of Product-Based, Feature-Based, and Family-Based Type Checking. In Proc. Int’l Conf. Generative Programming: Concepts & Experiences (GPCE). ACM, New York, NY, USA, 115–124.
KOSCIELNY, J., HOLTHUSEN, S., SCHAEFER, I., SCHULZE, S., BETTINI, L., ANDDAMIANI, F. 2014. DeltaJ 1.5: Delta-Oriented Programming for Java 1.5. In Proc. Int’l Conf. Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools (PPPJ). ACM, New York, NY, USA, 63–74.
KOWAL, M., ANANIEVA, S., ANDTHüM, T. 2016. Explaining Anomalies in Feature Models. In Proc. Int’l Conf. Generative Programming: Concepts & Experiences (GPCE). ACM, New York, NY, USA, 132–143.
KRIETER, S., SCHRöTER, R., FENSKE, W., AND SAAKE, G. 2015. Use-Case-Specific Source-Code Documentation for Feature-Oriented Programming. In Proc. Int’l Workshop Variability Modelling of Software-Intensive Systems (VaMoS). ACM, New York, NY, USA, 27:27–27:34.
KRUEGER, C. W. 2002. Variation Management for Software Production Lines. In Proc. Int’l Software Product Line Conf. (SPLC). Springer, Berlin, Heidelberg, 37–48.
LAGUNA, M. A.ANDCRESPO, Y. 2013. A Systematic Mapping Study on Software Product Line Evolution: From Legacy System Reengineering to Product Line Refactoring. Science of Computer Programming (SCP) 78, 8, 1010–1034.
LE, D., WALKINGSHAW, E., ANDERWIG, M. 2011. #ifdef Confirmed Harmful: Promoting Understandable Software Variation. In Proc. Int’l Symposium Visual Languages and Human-Centric Computing (VL/HCC). IEEE, Washington, DC, USA, 143–150.
LEICH, T., APEL, S., MARNITZ, L., ANDSAAKE, G. 2005. Tool Support for Feature-Oriented Software Development - FeatureIDE: An Eclipse-Based Approach. In Proc. Workshop Eclipse Technology eXchange (ETX). ACM, New York, NY, USA, 55–59.
LIEBIG, J., APEL, S., LENGAUER, C., KäSTNER, C., ANDSCHULZE, M. 2010. An Analysis of the Variability in Forty Preprocessor-Based Software Product Lines. In Proc. Int’l Conf. Software Engineering (ICSE). IEEE, Washington, DC, USA, 105–114.
LOHMANN, D., SCHELER, F., TARTLER, R., SPINCZYK, O., ANDSCHRöDER-PREIKSCHAT, W. 2006. A Quantitative Analysis of Aspects in the eCos Kernel. 40, 4, 191–204.
MCILROY, M. D. 1968. Mass Produced Software Components. In Proc. NATO Conf. Software Engineering. Springer, 138–155.
MEDEIROS, F., LIMA, T., DALTON, F., RIBEIRO, M., GHEYI, R., ANDFONSECA, B. 2013. Colligens: A Tool to Support the Development of Preprocessor-Based Software Product Lines in C. In Proc. Brazilian Conf. Software: Theory and Practice (CBSoft). CBSOFT.
MEINICKE, J., THüM, T., SCHRöTER, R., KRIETER, S., BENDUHN, F., SAAKE, G., ANDLEICH, T. 2016a. FeatureIDE: Taming the Preprocessor Wilderness. In Proc. Int’l Conf. Software Engineering (ICSE). ACM, New York, NY, USA, 629–632.
MEINICKE, J., WONG, C.-P., KäSTNER, C., THüM, T., ANDSAAKE, G. 2016b. On Essential Configuration Complexity: Measuring Interactions In Highly-Configurable Systems. In Proc. Int’l Conf. Automated Software Engineering (ASE). ACM, New York, NY, USA, 483–494.
MELO, J., BRABRAND, C., ANDWĄSOWSKI, A. 2016. How Does the Degree of Variability Affect Bug Finding? In Proc. Int’l Conf. Software Engineering (ICSE). ACM, New York, NY, USA, 679–690.
MENDONCA, M.ANDCOWAN, D. 2010. Decision-Making Coordination and Efficient Reasoning Techniques for Feature-Based Configuration. Science of Computer Programming (SCP) 75, 5, 311–332.
MEYER, B. 1988. Object-Oriented Software Construction 1st Ed. Prentice-Hall, Inc., Upper Saddle River, NJ, USA.
MISRA, J. 2004. Private correspondence.
MURPHY-HILL, E., PARNIN, C., ANDBLACK, A. P. 2012. How we refactor, and how we know it. IEEE Trans. Software Engineering (TSE) 38, 1, 5–18.
PARNAS, D. L. 1972. On the Criteria to be used in Decomposing Systems into Modules. Comm. ACM 15, 12, 1053–1058.
PARNAS, D. L. 1976. On the Design and Development of Program Families. IEEE Trans. Software Engineering (TSE) SE-2, 1, 1–9.
PEREIRA, J. A., KRIETER, S., MEINICKE, J., SCHRöTER, R., SAAKE, G., ANDLEICH, T. 2016. FeatureIDE: Scalable Product Configuration of Variable Systems. In Proc. Int’l Conf. Software Reuse (ICSR). Springer, Berlin, Heidelberg, 397–401.
PREHOFER, C. 1997. Feature-Oriented Programming: A Fresh Look at Objects. In Proc. Europ. Conf. Object-Oriented Programming (ECOOP). Springer, Berlin, Heidelberg, 419–443.
QUEIROZ, R., PASSOS, L., VALENTE, M. T., HUNSEN, C., APEL, S., ANDCZARNECKI, K. 2017. The Shape of Feature Code: An Analysis of Twenty C-Preprocessor-Based Systems. Software and System Modeling (SoSym).
RODRIGUES, I., RIBEIRO, M., MEDEIROS, F., BORBA, P., FONSECA, B., ANDGHEYI, R. 2016. Assessing Fine-Grained Feature Dependencies. J. Information and Software Technology (IST) 78, C, 27–52.
RUBIN, J.ANDCHECHIK, M. 2013. A Framework for Managing Cloned Product Variants. In Proc. Int’l Conf. Software Engineering (ICSE). IEEE, Piscataway, NJ, USA, 1233–1236.
RUBIN, J., CZARNECKI, K., ANDCHECHIK, M. 2013. Managing Cloned Variants: A Framework and Experience. In Proc. Int’l Software Product Line Conf. (SPLC). ACM, New York, NY, USA, 101–110.
SCHAEFER, I., BETTINI, L., BONO, V., DAMIANI, F., AND TANZARELLA, N. 2010. Delta-Oriented Programming of Software Product Lines. In Proc. Int’l Software Product Line Conf. (SPLC). Springer, Berlin, Heidelberg, 77–91.
SCHOBBENS, P.-Y., HEYMANS, P., TRIGAUX, J.-C., AND BONTEMPS, Y. 2007. Generic Semantics of Feature Diagrams. Computer Networks 51, 2, 456–479.
SCHRöTER, R., KRIETER, S., THüM, T., BENDUHN, F., ANDSAAKE, G. 2016. Feature-Model Interfaces: The Highway to Compositional Analyses of Highly-Configurable Systems. In Proc. Int’l Conf. Software Engineering (ICSE). ACM, New York, NY, USA, 667–678.
SCHRöTER, R., SIEGMUND, N., THüM, T., AND SAAKE, G. 2014. Feature-Context Interfaces: Tailored Programming Interfaces for Software Product Lines. In Proc. Int’l Software Product Line Conf. (SPLC). ACM, New York, NY, USA, 102–111.
SCHULZE, S., THüM, T., KUHLEMANN, M., AND SAAKE, G. 2012. Variant-Preserving Refactoring in Feature-Oriented Software Product Lines. In Proc. Int’l Workshop Variability Modelling of Software-Intensive Systems (VaMoS). ACM, New York, NY, USA, 73–81.
SEIDL, C., SCHAEFER, I., ANDASSMANN, U. 2014. DeltaEcore - A Model-Based Delta Language Generation Framework. In Proc. Modellierung. Gesellschaft für Informatik, Bonn, Germany, 81–96.
SMARAGDAKIS, Y.ANDBATORY, D. 1998. Implementing Layered Designs with Mixin Layers. In Proc. Europ. Conf. Object-Oriented Programming (ECOOP). Springer, 550–570.
SMARAGDAKIS, Y.ANDBATORY, D. 2002. Mixin Layers: An Object-Oriented Implementation Technique for Refinements and Collaboration-Based Designs. Trans. Software Engineering and Methodology (TOSEM) 11, 2, 215–255.
SPENCER, H.ANDCOLLYER, G. 1992. #ifdef Considered Harmful, or Portability Experience With C News. In USENIX. USENIX Association, 185–197.
TARR, P., OSSHER, H., HARRISON, W., ANDSUTTON, JR., S. M. 1999. N Degrees of Separation: Multi-Dimensional Separation of Concerns. In Proc. Int’l Conf. Software Engineering (ICSE). ACM, New York, NY, USA, 107–119.
THüM, T. 2015. Product-Line Specification and Verification with Feature-Oriented Contracts. Ph.D. thesis, University of Magdeburg, Germany.
THüM, T., BATORY, D., ANDKäSTNER, C. 2009. Reasoning about Edits to Feature Models. In Proc. Int’l Conf. Software Engineering (ICSE). IEEE, Washington, DC, USA, 254–264.
THüM, T., KäSTNER, C., BENDUHN, F., MEINICKE, J., SAAKE, G., ANDLEICH, T. 2014. FeatureIDE: An Extensible Framework for Feature-Oriented Software Development. Science of Computer Programming (SCP) 79, 0, 70–85.
THüM, T., KäSTNER, C., ERDWEG, S., AND SIEGMUND, N. 2011. Abstract Features in Feature Modeling. In Proc. Int’l Software Product Line Conf. (SPLC). IEEE, Washington, DC, USA, 191–200.
THüM, T., LEICH, T., ANDKRIETER, S. 2016. Clean Your Variable Code with FeatureIDE. In Proc. Int’l Software Product Line Conf. (SPLC). ACM, New York, NY, USA, 308–308.
THüM, T., MEINICKE, J., BENDUHN, F., HENTSCHEL, M., VON RHEIN, A., ANDSAAKE, G. 2014. Potential Synergies of Theorem Proving and Model Checking for Software Product Lines. In Proc. Int’l Software Product Line Conf. (SPLC). ACM, New York, NY, USA, 177–186.
THüM, T., RIBEIRO, M., SCHRöTER, R., SIEGMUND, J., ANDDALTON, F. 2016. Product-Line Maintenance with Emergent Contract Interfaces. In Proc. Int’l Software Product Line Conf. (SPLC). ACM, New York, NY, USA, 134–143.
TRINIDAD, P.ANDRUIZ-CORTéS, A. 2009. Abductive Reasoning and Automated Analysis of Feature Models: How are They Connected? In Proc. Int’l Workshop Variability Modelling of Software-Intensive Systems (VaMoS). Universität Duisburg-Essen, Essen, Germany, 145–153.
WHITE, J., SCHMIDT, D. C., BENAVIDES, D., TRINIDAD, P., ANDRUIZ-CORTéS, A. 2008. Automated Diagnosis of Product-Line Configuration Errors in Feature Models. In Proc. Int’l Software Product Line Conf. (SPLC). IEEE, Washington, DC, USA, 225–234.
WIKIPEDIA. 2017. System generation (os).
ZHANG, W., ZHAO, H., ANDMEI, H. 2004. A Propositional Logic-Based Method for Verification of Feature Models. Formal Methods and Software Engineering, 115–130.
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this chapter
Cite this chapter
Meinicke, J., Thüm, T., Schröter, R., Benduhn, F., Leich, T., Saake, G. (2017). Quality Assurance for Feature Models and Configurations. In: Mastering Software Variability with FeatureIDE. Springer, Cham. https://doi.org/10.1007/978-3-319-61443-4_8
Download citation
DOI: https://doi.org/10.1007/978-3-319-61443-4_8
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-61442-7
Online ISBN: 978-3-319-61443-4
eBook Packages: Computer ScienceComputer Science (R0)