Skip to main content

Extreme Product Line Engineering – Refactoring for Variability: A Test-Driven Approach

  • Conference paper
Agile Processes in Software Engineering and Extreme Programming (XP 2010)

Part of the book series: Lecture Notes in Business Information Processing ((LNBIP,volume 48))

Included in the following conference series:

Abstract

Software product lines - families of similar but not identical software products - need to address the issue of feature variability. That is, a single feature might require various implementations for different customers. Also, features might need optional extensions that are needed by some but not all products. Software product line engineering manages variability by conducting a thorough domain analysis upfront during the planning phases. However, upfront, heavyweight planning approaches are not well-aligned with the values of minimalistic practices like XP where bottom-up, incremental development is common. In this paper, we introduce a bottom-up, test-driven approach to introduce variability to systems by reactively refactoring existing code. We support our approach with an eclipse plug-in to automate the refactoring process. We evaluate our approach by a case study to determine the feasibility and practicality of the approach.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Clements, P., Northrop, L.: Software Product Lines: Practice and Patterns. Addison-Wesley, Reading (2001)

    Google Scholar 

  2. Gurp, J., Bosch, J., Svahnberg, M.: On the Notion of Variability in Software Product Lines. In: Working IEEE/IFIP Conference on Software Architecture, WISCA 2001 (2001)

    Google Scholar 

  3. Schmid, K., Verlage, M.: The Economic Impact of Product Line Adoption and Evolution. IEEE Software 19(4), 50–57 (2002)

    Article  Google Scholar 

  4. Manifesto for Agile Software Development, http://agilemanifesto.org/principles.html

  5. Beck, K., Andres, C.: Extreme Programming Explained: Embrace Change, 2nd edn. Addison-Wesley Professional, Reading (2004)

    Google Scholar 

  6. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patters: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)

    Google Scholar 

  7. https://fitclipse.svn.sourceforge.net/svnroot/fitclipse/trunk/ProductLineDesigner

  8. SourceForge, http://sourceforge.net/projects/buddi

  9. Kruger, C.: Easing the Transition to Software Mass Customization. In: Proceedings of the 4th International Workshop on Product Family Engineering, Germany (2002)

    Google Scholar 

  10. Clegg, K., Kelly, T., McDermid, J.: Incremental Product-Line Development. In: International Workshop on Product Line Engineering, Seattle (2002)

    Google Scholar 

  11. OBrien, L., Smith, D.: MAP and OAR Methods: Techniques for Developing Core Assets for Software Product Lines from Existing Assets, CMU/SEI-2002-TN-007 (2002)

    Google Scholar 

  12. Carbon, R., Lindvall, M., Muthig, D., Costa, P.: Integrating PL Engineering and Agile Methods: Flexible Design Up-front vs. Incremental Design. In: 1st International Workshop on Agile Product Line Engineering (2006)

    Google Scholar 

  13. Hanssen, G., Fægri, T.: Process Fusion: An Industrial Case Study on Agile Software Product Line Engineering. Journal of Systems and Software (2008)

    Google Scholar 

  14. Ghanam, Y., Park, S., Maurer, F.: A Test-Driven Approach to Establishing & Managing Agile Product Lines. In: Proceedings of the 5th Software Product Line Testing Workshop (SPLiT 2008) in conjunction with SPLC 2008, Limerick, Ireland (2008)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Ghanam, Y., Maurer, F. (2010). Extreme Product Line Engineering – Refactoring for Variability: A Test-Driven Approach. In: Sillitti, A., Martin, A., Wang, X., Whitworth, E. (eds) Agile Processes in Software Engineering and Extreme Programming. XP 2010. Lecture Notes in Business Information Processing, vol 48. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-13054-0_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-13054-0_4

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-13053-3

  • Online ISBN: 978-3-642-13054-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics