Mastering Software Variability with FeatureIDE

feature, 46, 90 Advanced Configuration Page, 27, 66, 68 AHEAD, 16, 143, 146, 148–151, 153, 154, 181, 228, 234 all current configurations, 92, 135, 191 all valid configurations, 92, 135, 191 Alternative-group, 48 Antenna, 16, 97, 99, 101–103, 105, 106, 109, 113, 114, 126 application engineering, 6 aspect-oriented programming, 8, 207 AspectJ, 16 atomic set, 90, 91 automatically (de)selected feature, 67 automatically derive configurations, 92, 135, 189 background color, 125, 177, 232 black-box frameworks, 203 CASA, 92 Chavatal, 92 CIDE, 130 clone-and-own, 3, 6 code metrics, 137, 192 Collaboration Diagram, 19, 129, 179, 233 Collapsing of Subtrees, 52 Colligens, 228 color scheme, 74, 123 components, 7 compound feature, 90, 114 concrete feature, 46, 90 conditional compilation, 7, 97, 105, 123, 131, 228 configuration, 22, 63, 73, 81, 106, 135, 230 Configuration Editor, 23, 27, 64, 66, 73, 77, 83, 91, 107, 230 Configuration Map, 231 Configuration Page, 27, 66 Configuration Wizard, 64 conjunctive normal form, 58 consistency checking, 132, 184 constraint, 47 Constraint Dialog, 25, 50 content assist for directives, 107, 134 convert to FeatureIDE project, 106 core feature, 90, 91 CPP, 7, 228 Create new projects, 93 cross-tree constraint, 25, 49, 73, 81 crosscutting concerns, 8 current configuration, 22, 65, 128 dead feature, 84 delta-oriented modeling, 228 DeltaEcore, 228 DeltaJ, 227 DIMACS, 58 domain analysis, 6, 8 domain engineering, 4 domain implementation, 6, 8 error propagation, 187 Example Wizard, 21, 31 export feature models, 58 false-optional feature, 86 FaMa, 58 feature, 4 feature color, 74, 123, 125, 127, 129, 174, 177–179, 228, 232 feature diagram, 25, 44, 228 © Springer International Publishing AG 2017 J. Meinicke et al., Mastering Software Variability with FeatureIDE, DOI 10.1007/978-3-319-61443-4 241

[1]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[2]  David Lorge Parnas,et al.  On the Design and Development of Program Families , 2001, IEEE Transactions on Software Engineering.

[3]  Bertrand Meyer,et al.  Object-Oriented Software Construction, 1st edition , 1988 .

[4]  Henry Spencer,et al.  #ifdef Considered Harmful, or Portability Experience with C News , 1992, USENIX Summer.

[5]  Christian Prehofer,et al.  Feature-Oriented Programming: A Fresh Look at Objects , 1997, ECOOP.

[6]  Yannis Smaragdakis,et al.  Implementing Layered Designs with Mixin Layers , 1998, ECOOP.

[7]  Stanley M. Sutton,et al.  N degrees of separation: multi-dimensional separation of concerns , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[8]  Yannis Smaragdakis,et al.  Mixin layers: an object-oriented implementation technique for refinements and collaboration-based designs , 2002, TSEM.

[9]  Haiyan Zhao,et al.  A Propositional Logic-Based Method for Verification of Feature Models , 2004, ICFEM.

[10]  Wolfgang Schröder-Preikschat,et al.  A quantitative analysis of aspects in the eCos kernel , 2006, EuroSys.

[11]  Pierre-Yves Schobbens,et al.  Generic semantics of feature diagrams , 2007, Comput. Networks.

[12]  Douglas C. Schmidt,et al.  Automated Diagnosis of Product-Line Configuration Errors in Feature Models , 2008, 2008 12th International Software Product Line Conference.

[13]  Antonio Ruiz Cortés,et al.  Abductive Reasoning and Automated Analysis of Feature Models: How are they connected? , 2009, VaMoS.

[14]  Thomas Thüm,et al.  Reasoning about edits to feature models , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[15]  Viviana Bono,et al.  Delta-Oriented Programming of Software Product Lines , 2010, SPLC.

[16]  Donald D. Cowan,et al.  Decision-making coordination and efficient reasoning techniques for feature-based configuration , 2010, Sci. Comput. Program..

[17]  Sebastian Erdweg,et al.  Abstract Features in Feature Modeling , 2011, 2011 15th International Software Product Line Conference.

[18]  Andrew P. Black,et al.  How We Refactor, and How We Know It , 2012, IEEE Trans. Software Eng..

[19]  Gunter Saake,et al.  Variant-preserving refactoring in feature-oriented software product lines , 2012, VaMoS.

[20]  Marsha Chechik,et al.  Managing cloned variants: a framework and experience , 2013, SPLC '13.

[21]  Marsha Chechik,et al.  A framework for managing cloned product variants , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[22]  Gunter Saake,et al.  Feature-context interfaces: tailored programming interfaces for software product lines , 2014, SPLC.

[23]  Uwe Aßmann,et al.  DeltaEcore - A Model-Based Delta Language Generation Framework , 2014, Modellierung.

[24]  Gunter Saake,et al.  Potential synergies of theorem proving and model checking for software product lines , 2014, SPLC.

[25]  Thomas Leich,et al.  FeatureIDE: An extensible framework for feature-oriented software development , 2014, Sci. Comput. Program..

[26]  Sven Apel,et al.  The shape of feature code: an analysis of twenty C-preprocessor-based systems , 2017, Software & Systems Modeling.

[27]  Thomas Thüm,et al.  Product-line specification and verification with feature-oriented contracts , 2015 .

[28]  Sebastian Krieter,et al.  FeatureIDE: Taming the Preprocessor Wilderness , 2016, 2016 IEEE/ACM 38th International Conference on Software Engineering Companion (ICSE-C).

[29]  Claus Brabrand,et al.  How Does the Degree of Variability Affect Bug Finding? , 2016, 2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE).

[30]  Gunter Saake,et al.  On essential configuration complexity: Measuring interactions in highly-configurable systems , 2016, 2016 31st IEEE/ACM International Conference on Automated Software Engineering (ASE).

[31]  Baldoino Fonseca dos Santos Neto,et al.  Assessing fine-grained feature dependencies , 2016, Inf. Softw. Technol..

[32]  Sebastian Krieter,et al.  FeatureIDE: Scalable Product Configuration of Variable Systems , 2016, ICSR.

[33]  Márcio Ribeiro,et al.  Product-line maintenance with emergent contract interfaces , 2016, SPLC.

[34]  Sebastian Krieter,et al.  Feature-Model Interfaces: The Highway to Compositional Analyses of Highly-Configurable Systems , 2016, 2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE).

[35]  Sebastian Krieter,et al.  Clean your variable code with featureIDE , 2018, SPLC.