Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Aldrich, J.: Open modules: modular reasoning about advice. In: Proceedings of the 19th European Conference on Object-Oriented Programming (ECOOP), pp. 144–168. Springer (2005)
Alves, V., Matos, P. Jr., Cole, L., Borba, P., Ramalho, G.: Extracting and evolving mobile games product lines. In: Proceedings of the 9th International Software Product Line Conference (SPLC), of Lecture Notes in Computer Science, vol. 3714, pp. 70–81. Springer (2005)
Anastasopoulos, M., Muthig, D.: An evaluation of aspect-oriented programming as a product line implementation technology. In: Proceedings of the 8th International Conference on Software Reuse (ICSR). Lecture Notes in Computer Science, pp. 141–156. Springer (2004)
Andrade, R., Ribeiro, M., Gasiunas, V., Satabin, L., Rebelo, H., Borba, P.: Assessing idioms for implementing features with flexible binding times. In: Proceedings of the 15th European Conference on Software Maintenance and Reengineering (CSMR), pp. 231–240, IEEE Computer Society (2011)
Apel, S., Batory, D.: When to use features and aspects? A case study. In: Proceedings of the 5th International Conference on Generative Programming and Component Engineering (GPCE), pp. 59–68, ACM Press (2006)
ArgoUML. Argouml (2009), http://argouml.tigris.org/
Baniassad, E.L.A., Murphy, G.C.: Conceptual module querying for software reengineering. In: Proceedings of the 20th International Conference on Software Engineering (ICSE), pp. 64–73, IEEE Computer Society (1998)
Batory, D.S.: Feature-oriented programming and the AHEAD tool suite. In: Proceedings of the 26th International Conference on Software Engineering (ICSE), pp. 702–703, IEEE Computer Society (2004)
Chakravarthy, V., Regehr, J., Eric, E.: Edicts: implementing features with flexible binding times. In: Proceedings of the 7th International Conference on Aspect-Oriented Software Development (AOSD), pp. 108–119, ACM (2008)
Classen A., Heymans, P., Schobbens, P.-Y., Legay, A., Raskin, J.-F.: Model checking lots of systems: efficient verification of temporal properties in software product lines. In: Proceedings of the 32nd International Conference on Software Engineering (ICSE), pp. 335–344, ACM (2010)
Couto, M.V., Valente, M.T., Figueiredo, E.: Extracting software product lines: a case study using conditional compilation. In: Proceedings of the 15th European Conference on Software Maintenance and Reengineering (CSMR), pp. 191–200, IEEE Computer Society (2011)
Delaware, B., Cook, W.R., Batory, D.S.: Fitting the pieces together: a machine-checked model of safe composition. In: Proceedings of the 7th Joint Meeting of the European Software Engineering Conference and the International Symposium on Foundations of Software Engineering (ESEC/FSE), pp. 243–252, ACM (2009)
Ernst, M.D., Badros, G.J., Notkin, D.: An empirical analysis of c preprocessor use. IEEE Trans. Softw. Eng. 28, 1146–1170 (2002)
Feigenspan, J., Kästner, C., Apel, S., Liebig, J., Schulze, M., Dachselt, R., Papendieck, M., Leich, T., Saake, G.: Do background colors improve program comprehension in the #ifdef hell? Empir. Softw. Eng. (2012)
Griswold, W.G., Sullivan, K., Song, Y., Shonle, M., Tewari, N., Cai, Y., Rajan, H.: Modular software design with crosscutting interfaces. IEEE Softw. 23(1), 51–60 (2006)
Horie, M., Chiba, S.: Aspectscope: an outline viewer for aspectJ programs. J. Object Technol. 6(9), 341–361 (2007)
Kästner, C., Apel, S., Kuhlemann, M.: Granularity in software product lines. In: Proceedings of the 30th International Conference on Software Engineering (ICSE), pp. 311–320, ACM (2008)
Kästner, C., Apel, S.: Type-checking software product lines—a formal approach. In: Proceedings of the 23rd International Conference on Automated Software Engineering (ASE), pp. 258–267, IEEE Computer Society (2008)
Kersten, M., Murphy, G.C.: Using task context to improve programmer productivity. In: Proceedings of the 14th International Symposium on Foundations of Software Engineering (FSE), pp. 1–11, ACM (2006)
Kiczales, G., Mezini, M.: Aspect-oriented programming and modular reasoning. In: Proceedings of the 27th International Conference on Software Engineering (ICSE), pp. 49–58, ACM Press (2005)
Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: Getting started with aspect J. Commun. ACM 44(10), 59–65 (2001)
Kim, C.H., Batory, D., Khurshid, S.: Reducing combinatorics in testing product lines. In: Proceeding of the 10th International Conference on Aspect-Oriented Software Development (AOSD), pp. 57–68, ACM (2011)
Kim, C.H.P., Bodden, E., Batory, D., Khurshid, S.: Reducing configurations to monitor in a software product line. In: Proceedings of the 1st International Conference on Runtime Verification (RV), of Lecture Notes in Computer Science, vol. 6418, Springer (2010)
Laddad, R.: AspectJ in Action: Practical Aspect-Oriented Programming. Manning Publications Co. (2003)
LaToza, T.D., Myers, B.A.: Developers ask reachability questions. In: Proceedings of the 32nd International Conference on Software Engineering (ICSE), pp. 185–194, ACM (2010)
Le, D., Walkingshaw, E., Erwig, M.: #ifdef confirmed harmful: promoting understandable software variation. In: Proceedings of the International Symposium on Visual Languages and Human-Centric Computing (VL/HCC), pp. 143–150, IEEE Computer Society (2011)
Liebig, J., Apel, S., Lengauer, C., Kästner, C., Schulze, M.: An analysis of the variability in forty preprocessor-based software product lines. In: Proceedings of the 32nd International Conference on Software Engineering (ICSE), pp. 105–114, ACM (2010)
Liebig, J., Kästner, C., Apel, S.: Analyzing the discipline of preprocessor annotations in 30 million lines of C code. In: Proceeding of the 10th International Conference on Aspect-Oriented Software Development (AOSD), pp. 191–202, ACM (2011)
Murphy, G.C., Lai, A., Walker, R.J., Robillard, M.P.: Separating features in source code: an exploratory study. In: Proceedings of the 23rd International Conference on Software Engineering (ICSE), pp. 275–284, IEEE Computer Society (2001)
Ribeiro, M., Borba, P.: Improving guidance when restructuring variabilities in software product Lines. In: Proceedings of the 13th European Conference on Software Maintenance and Reengineering (CSMR), pp. 79–88, IEEE Computer Society (2009)
Soares, S., Laureano, E., Borba, P.: Implementing distribution and persistence aspects with aspectJ. In: Proceedings of the 17th Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA), pp. 174–190, ACM (2002)
Störzer, M., Koppen, C.: Pcdiff: attacking the fragile pointcut problem, abstract. In: Proceedings of European Interactive Workshop on Aspects in Software (2004)
Thaker, S., Batory, D.S., Kitchin, D., Cook, W.R.: Safe composition of product lines. In: Proceedings of the 6th International Conference Generative Programming and Component Engineering, (GPCE), pp. 95–104, ACM (2007)
Tip, F.: A Survey of Program Slicing Techniques. Technical report, Amsterdam, The Netherlands (1994)
Vierhauser, M., Grünbacher, P., Egyed, A., Rabiser, R., Heider, W.: Flexible and scalable consistency checking on product line variability models. In: Proceedings of the International Conference on Automated Software Engineering (ASE), pp. 63–72, ACM (2010)
Weiser, M.: Program slicing. In: Proceedings of the 5th International Conference on Software Engineering (ICSE), pp. 439–449, IEEE Press (1981)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Copyright information
© 2014 The Author(s)
About this chapter
Cite this chapter
Ribeiro, M., Borba, P., Brabrand, C. (2014). Comparison with Other Approaches. In: Emergent Interfaces for Feature Modularization. SpringerBriefs in Computer Science. Springer, Cham. https://doi.org/10.1007/978-3-319-11493-4_6
Download citation
DOI: https://doi.org/10.1007/978-3-319-11493-4_6
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-11492-7
Online ISBN: 978-3-319-11493-4
eBook Packages: Computer ScienceComputer Science (R0)