Comparison with Other Approaches

In this chapter we discuss several previous work on topics like interfaces for non-annotative approaches (such as aspect-oriented programming), separation of concerns and modularity, analyses on preprocessor-based systems, and dataflow analysis. Besides discussing, we compare these works to our approach, pointing out the differences between them.

[1]  Michael D. Ernst,et al.  An Empirical Analysis of C Preprocessor Use , 2002, IEEE Trans. Software Eng..

[2]  Alexander Egyed,et al.  Flexible and scalable consistency checking on product line variability models , 2010, ASE.

[3]  Vander Alves,et al.  Extracting and Evolving Mobile Games Product Lines , 2005, SPLC.

[4]  Sarfraz Khurshid,et al.  Reducing Configurations to Monitor in a Software Product Line , 2010, RV.

[5]  Márcio Ribeiro,et al.  Assessing Idioms for Implementing Features with Flexible Binding Times , 2011, 2011 15th European Conference on Software Maintenance and Reengineering.

[6]  Martin Erwig,et al.  #ifdef confirmed harmful: Promoting understandable software variation , 2011, 2011 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC).

[7]  Mik Kersten,et al.  Using task context to improve programmer productivity , 2006, SIGSOFT '06/FSE-14.

[8]  G. Kiczales,et al.  Aspect-oriented programming and modular reasoning , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[9]  Martin P. Robillard,et al.  Separating features in source code: an exploratory study , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[10]  Sven Apel,et al.  When to use features and aspects?: a case study , 2006, GPCE '06.

[11]  William R. Cook,et al.  Safe composition of product lines , 2007, GPCE '07.

[12]  Márcio Ribeiro,et al.  Improving Guidance when Restructuring Variabilities in Software Product Lines , 2009, 2009 13th European Conference on Software Maintenance and Reengineering.

[13]  Dirk Muthig,et al.  An Evaluation of Aspect-Oriented Programming as a Product Line Implementation Technology , 2004, ICSR.

[14]  Eric Eide,et al.  Edicts: implementing features with flexible binding times , 2008, AOSD.

[15]  Gail C. Murphy,et al.  Conceptual module querying for software reengineering , 1998, Proceedings of the 20th International Conference on Software Engineering.

[16]  Yuanyuan Song,et al.  Modular software design with crosscutting interfaces , 2006, IEEE Software.

[17]  Marco Tulio Valente,et al.  Extracting Software Product Lines: A Case Study Using Conditional Compilation , 2011, 2011 15th European Conference on Software Maintenance and Reengineering.

[18]  Ramnivas Laddad,et al.  Aspect-Oriented Programming Will Improve Quality / Aspect-Oriented Programming: the Real Costs? , 2003, IEEE Softw..

[19]  Sven Apel,et al.  Type-Checking Software Product Lines - A Formal Approach , 2008, 2008 23rd IEEE/ACM International Conference on Automated Software Engineering.

[20]  Pierre-Yves Schobbens,et al.  Model checking lots of systems: efficient verification of temporal properties in software product lines , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[21]  Don Batory Feature-oriented programming and the AHEAD tool suite , 2004, ICSE 2004.

[22]  Sarfraz Khurshid,et al.  Reducing combinatorics in testing product lines , 2011, AOSD '11.

[23]  William G. Griswold,et al.  Getting started with ASPECTJ , 2001, CACM.

[24]  Sven Apel,et al.  An analysis of the variability in forty preprocessor-based software product lines , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[25]  Sven Apel,et al.  Granularity in software product lines , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[26]  Frank Tip,et al.  A survey of program slicing techniques , 1994, J. Program. Lang..

[27]  Thomas Leich,et al.  Do background colors improve program comprehension in the #ifdef hell? , 2012, Empirical Software Engineering.

[28]  Ramnivas Laddad,et al.  Aspectj in Action: Practical Aspect-Oriented Programming , 2003 .

[29]  Sérgio Soares,et al.  Implementing distribution and persistence aspects with aspectJ , 2002, OOPSLA '02.

[30]  William R. Cook,et al.  Fitting the pieces together: a machine-checked model of safe composition , 2009, ESEC/FSE '09.

[31]  Shigeru Chiba,et al.  AspectScope: An Outline Viewer for AspectJ Programs , 2007, J. Object Technol..

[32]  Jonathan Aldrich,et al.  Open Modules: Modular Reasoning About Advice , 2005, ECOOP.

[33]  Sven Apel,et al.  Analyzing the discipline of preprocessor annotations in 30 million lines of C code , 2011, AOSD '11.

[34]  Thomas D. LaToza,et al.  Developers ask reachability questions , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.