Skip to main content

Comparison with Other Approaches

  • Chapter
  • First Online:
Book cover Emergent Interfaces for Feature Modularization

Part of the book series: SpringerBriefs in Computer Science ((BRIEFSCOMPUTER))

  • 289 Accesses

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. 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)

    Google Scholar 

  2. 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)

    Google Scholar 

  3. 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)

    Google Scholar 

  4. 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)

    Google Scholar 

  5. 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)

    Google Scholar 

  6. ArgoUML. Argouml (2009), http://argouml.tigris.org/

  7. 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)

    Google Scholar 

  8. 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)

    Google Scholar 

  9. 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)

    Google Scholar 

  10. 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)

    Google Scholar 

  11. 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)

    Google Scholar 

  12. 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)

    Google Scholar 

  13. Ernst, M.D., Badros, G.J., Notkin, D.: An empirical analysis of c preprocessor use. IEEE Trans. Softw. Eng. 28, 1146–1170 (2002)

    Article  Google Scholar 

  14. 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)

    Google Scholar 

  15. 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)

    Article  Google Scholar 

  16. Horie, M., Chiba, S.: Aspectscope: an outline viewer for aspectJ programs. J. Object Technol. 6(9), 341–361 (2007)

    Article  Google Scholar 

  17. 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)

    Google Scholar 

  18. 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)

    Google Scholar 

  19. 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)

    Google Scholar 

  20. 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)

    Google Scholar 

  21. 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)

    Article  Google Scholar 

  22. 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)

    Google Scholar 

  23. 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)

    Google Scholar 

  24. Laddad, R.: AspectJ in Action: Practical Aspect-Oriented Programming. Manning Publications Co. (2003)

    Google Scholar 

  25. 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)

    Google Scholar 

  26. 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)

    Google Scholar 

  27. 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)

    Google Scholar 

  28. 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)

    Google Scholar 

  29. 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)

    Google Scholar 

  30. 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)

    Google Scholar 

  31. 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)

    Google Scholar 

  32. Störzer, M., Koppen, C.: Pcdiff: attacking the fragile pointcut problem, abstract. In: Proceedings of European Interactive Workshop on Aspects in Software (2004)

    Google Scholar 

  33. 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)

    Google Scholar 

  34. Tip, F.: A Survey of Program Slicing Techniques. Technical report, Amsterdam, The Netherlands (1994)

    Google Scholar 

  35. 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)

    Google Scholar 

  36. Weiser, M.: Program slicing. In: Proceedings of the 5th International Conference on Software Engineering (ICSE), pp. 439–449, IEEE Press (1981)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Márcio Ribeiro .

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics