Skip to main content

Software Unbundling: Challenges and Perspectives

  • Chapter
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((TRMC,volume 9800))

Abstract

Unbundling is a phenomenon that consists of dividing an existing software artifact into smaller ones. It can happen for different reasons, one of them is the fact that applications tend to grow in functionalities and sometimes this can negatively influence the user experience. For example, mobile applications from well-known companies are being divided into simpler and more focused new ones. Despite its current importance, little is known or studied about unbundling or about how it relates to existing software engineering approaches, such as modularization. Consequently, recent cases point out that it has been performed unsystematically and arbitrarily. In this article, our main goal is to present this novel and relevant concept and its underlying challenges in the light of software engineering, also exemplifying it with recent cases. We relate unbundling to standard software modularization, presenting the new motivations behind it, the resulting problems, and drawing perspectives for future support in the area.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   64.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   84.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

Learn about institutional subscriptions

References

  1. Acher, M., Cleve, A., Collet, P., Merle, P., Duchien, L., Lahire, P.: Extraction and evolution of architectural variability models in plugin-based systems. Softw. Syst. Model. 13, 1367–1394 (2013)

    Article  Google Scholar 

  2. Adams, B., De Meuter, W., Tromp, H., Hassan, A.E.: Can we refactor conditional compilation into aspects? In: Proceedings of the 8th ACM International Conference on Aspect-Oriented Software Development, AOSD 2009, pp. 243–254. ACM, New York (2009). http://doi.acm.org/10.1145/1509239.1509274. ISBN: 978-1-60558-442-3

  3. Agesen, O., Ungar, D.: Sifting out the gold: delivering compact applications from an exploratory object-oriented programming environment. ACM SIGPLAN Not. 29, 355–370 (1994). ACM

    Article  Google Scholar 

  4. Ajila, S.A., Gakhar, A.S., Lung, C.-H.: Aspectualization of code clones - an algorithmic approach. Inf. Syst. Front. 16, 835–851 (2013)

    Article  Google Scholar 

  5. Apel, S., Von Rhein, A., Thüm, T., Kästner, C.: Feature-interaction detection based on feature-based specifications. Comput. Netw. 57(12), 2399–2409 (2013)

    Article  Google Scholar 

  6. Bcan, G., Acher, M., Baudry, B., Nasr, S.: Breathing ontological knowledge into feature model synthesis: an empirical study. Empirical Softw. Eng. 21, 1794–1841 (2016). http://dx.doi.org/10.1007/s10664-014-9357-1. ISSN: 1382–3256

    Article  Google Scholar 

  7. Böhmer, M., Hecht, B., Schöning, J., Krüger, A., Bauer, G.: Falling asleep with angry birds, facebook and kindle: a large scale study on mobile application usage. In: Proceedings of the 13th International Conference on Human Computer Interaction with Mobile Devices and Services, pp. 47–56. ACM (2011)

    Google Scholar 

  8. Chen, B., Sivo, S., Seilhamer, R., Sugar, A., Mao, J.: User acceptance of mobile technology: a campus-wide implementation of blackboard’s mobileł learn application. J. Educ. Comput. Res. 49(3), 327–343 (2013)

    Article  Google Scholar 

  9. Clements, P., Northrop, L.M.: Software Product Lines: Practices and Patterns. Addison-Wesley Professional, Upper Saddle River (2001). ISBN: 0201703327

    Google Scholar 

  10. Costa, G., Silva, F., Santos, R., Werner, C., Oliveira, T.: From applications to a software ecosystem platform: an exploratory study. In: Proceedings of the Fifth International Conference on Management of Emergent Digital EcoSystems, pp. 9–16. ACM (2013)

    Google Scholar 

  11. Davis, F.D.: Perceived usefulness, perceived ease of use, and user acceptance of information technology. MIS Q. 13, 319–340 (1989)

    Article  Google Scholar 

  12. Davril, J.-M., Delfosse, E., Hariri, N., Acher, M., Cleland-Huang, J., Heymans, P.: Feature model extraction from large collections of informal product descriptions. In: ESEC/FSE (2013)

    Google Scholar 

  13. Eaddy, M., Aho, A.V., Antoniol, G., Guéhéneuc, Y.-G.: Cerberus: Tracing requirements to source code using information retrieval, dynamic analysis, and program analysis. In: Proceedings of the 2008 The 16th IEEE International Conference on Program Comprehension, ICPC 2008, Washington, DC, USA, pp. 53–62. IEEE Computer Society (2008). http://dx.doi.org/10.1109/ICPC.2008.39. ISBN: 978-0-7695-3176-2

  14. Falaki, H., Mahajan, R., Kandula, S., Lymberopoulos, D., Govindan, R., Estrin, D.: Diversity in smartphone usage. In: Proceedings of the 8th International Conference on Mobile Systems, Applications, and Services, pp. 179–194. ACM (2010)

    Google Scholar 

  15. Ferreira Filho, J.B., Acher, M., Barais, O.: Challenges on software unbundling: growing and letting go. In: 14th International Conference on Modularity 2015, Fort Collins, CO, United States (2015). https://hal.inria.fr/hal-01116694

  16. Figueiredo, E., Cacho, N., Sant’Anna, C., Monteiro, M., Kulesza, U., Garcia, A., Soares, S., Ferrari, F., Khan, S., Castor Filho, F., Dantas, F.: Evolving software product lines with aspects: an empirical study on design stability. In: Proceedings of the 30th International Conference on Software Engineering, ICSE 2008, pp. 261–270. ACM, New York (2008). http://doi.acm.org/10.1145/1368088.1368124. ISBN: 978-1-60558-079-1

  17. France, R.B., Ghosh, S., Leavens, G.T., (eds.): Proceedings of the 14th International Conference on Modularity, MODULARITY 2015, Fort Collins, CO, USA, ACM, 16–19 March 2015

    Google Scholar 

  18. Gallego, M.D., Luna, P., Bueno, S.: User acceptance model of open source software. Comput. Hum. Behav. 24(5), 2199–2216 (2008)

    Article  Google Scholar 

  19. Hariri, N., Castro-Herrera, C., Mirakhorli, M., Cleland-Huang, J., Mobasher, B.: Supporting domain analysis through mining and recommending features from online product listings. IEEE Trans. Softw. Eng. 99, 1 (2013). ISSN: 0098–5589

    Google Scholar 

  20. Humphrey, W.S.: Software unbundling: a personal perspective. IEEE Ann. Hist. Comput. 24(1), 59–63 (2002)

    Article  Google Scholar 

  21. Ickin, S., Wac, K., Fiedler, M., Janowski, L., Hong, J.-H., Dey, A.K.: Factors influencing quality of experience of commonly used mobile applications. IEEE Commun. Mag. 50(4), 48–56 (2012)

    Article  Google Scholar 

  22. Kästner, C., Apel, S., Kuhlemann, M.: Granularity in software product lines. In: Proceedings of the 30th International Conference on Software Engineering, pp. 311–320. ACM (2008)

    Google Scholar 

  23. Kästner, C., Dreiling, A., Ostermann, K.: Variability mining: consistent semiautomatic detection of product-line features. IEEE Trans. Softw. Eng. 40, 67–82 (2014)

    Article  Google Scholar 

  24. Knoop, J., Rüthing, O., Steffen, B.: Partial dead code elimination, vol. 29. ACM (1994)

    Google Scholar 

  25. Marcus, A., Sergeyev, A., Rajlich, V., Maletic, J.I.: An information retrieval approach to concept location in source code. In: Proceedings of the 11th Working Conference on Reverse Engineering, WCRE 2004, Washington, DC, USA, pp. 214–223. IEEE Computer Society (2004). http://dl.acm.org/citation.cfm?id=1038267.1039053. ISBN: 0-7695-2243-2

  26. Mens, T., Wermelinger, M., Ducasse, S., Demeyer, S., Hirschfeld, R., Jazayeri, M.: Challenges in software evolution. In: Eighth International Workshop on Principles of Software Evolution, pp. 13–22. IEEE (2005)

    Google Scholar 

  27. Messerschmitt, D.G., Szyperski, C.: Software Ecosystem: Understanding an Indispensable Technology and Industry, 1st edn. MIT Press Books, Cambridge (2005)

    Google Scholar 

  28. Mortensen, M.: Improving software maintainability through aspectualization (2009)

    Google Scholar 

  29. Mortensen, M., Ghosh, S., Bieman, J.M.: A test driven approach for aspectualizing legacy software using mock systems. Inf. Softw. Technol. 50(7), 621–640 (2008)

    Article  Google Scholar 

  30. Mortensen, M., Ghosh, S., Bieman, J.M.: Aspect-oriented refactoring of legacy applications: an evaluation. IEEE Trans. Softw. Eng. 38(1), 118–140 (2012)

    Article  Google Scholar 

  31. Munoz, F., Baudry, B., Delamare, R., Le Traon, Y.: Usage and testability of AOP: an empirical study of AspectJ. Inf. Softw. Technol. 55(2), 252–266 (2013)

    Article  Google Scholar 

  32. Nadi, S., Berger, T., Kästner, C., Czarnecki, K.: Where do configuration constraints stem from? an extraction approach and an empirical study. IEEE Trans. Softw. Eng. 41, 820–841 (2015)

    Article  Google Scholar 

  33. Ossher, H., Tarr, P.: Using multidimensional separation of concerns to (re) shape evolving software. Commun. ACM 44(10), 43–50 (2001)

    Article  Google Scholar 

  34. Parnas, D.L.: On the criteria to be used in decomposing systems into modules. Commun. ACM 15(12), 1053–1058 (1972)

    Article  Google Scholar 

  35. Pohl, K.: Requirements Engineering: Fundamentals, Principles, and Techniques. Springer, Heidelberg (2010)

    Book  Google Scholar 

  36. Rebêlo, H., Leavens, G.T., Bagherzadeh, M., Rajan, H., Lima, R., Zimmerman, D.M., Cornélio, M., Thüm, T.: Modularizing crosscutting contracts with AspectJML. In: Proceedings of the of the 13th International Conference on Modularity, pp. 21–24. ACM (2014)

    Google Scholar 

  37. Sanakulov, N., Karjaluoto, H.: Consumer adoption of mobile technologies: a literature review. Int. J. Mob. Commun. 13(3), 244–275 (2015)

    Article  Google Scholar 

  38. Savage, T., Revelle, M., Poshyvanyk, D.: Flat3: feature location and textual tracing tool. In: Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - ICSE 2010, vol. 2, pp. 255–258. ACM, New York (2010). http://doi.acm.org/10.1145/1810295.1810345. ISBN: 978-1-60558-719-6

  39. She, S., Ryssel, U., Andersen, N., Wasowski, A., Czarnecki, K.: Efficient synthesis of feature models. Inf. Softw. Technol. 56(9), 1122–1143 (2014). http://dx.doi.org/10.1016/j.infsof.2014.01.012

    Article  Google Scholar 

  40. Tip, F., Sweeney, P.F., Laffra, C., Eisma, A., Streeter, D.: Practical extraction techniques for Java. ACM Trans. Program. Lang. Syst. (TOPLAS) 24(6), 625–666 (2002)

    Article  Google Scholar 

  41. Venkatesh, V., Morris, M.G., Davis, G.B., Davis, F.D.: User acceptance of information technology: toward a unified view. MIS Q. 27, 425–478 (2003)

    Google Scholar 

  42. Washizaki, H., Fukazawa, Y.: A technique for automatic component extraction from object-oriented programs by refactoring. Sci. Comput. Program. 56(1), 99–116 (2005)

    Article  MathSciNet  MATH  Google Scholar 

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

    Google Scholar 

  44. Weston, N., Chitchyan, R., Rashid, A.: A framework for constructing semantically composable feature models from natural language requirements. In: SPLC (2009)

    Google Scholar 

  45. Xi, H.: Dead code elimination through dependent types. In: Gupta, G. (ed.) PADL 1999. LNCS, vol. 1551, pp. 228–242. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  46. Zhou, T., Lu, Y.: The effects of personality traits on user acceptance of mobile commerce. Intl. J. Hum. Comput. Interact. 27(6), 545–561 (2011)

    Article  Google Scholar 

Download references

Acknowledgement

We would like to thank the participants of MODULARITY’15 for the feedbacks, suggestions, and discussions. The research leading to these results has received funding from the European Commission under the Seventh (FP7 - 2007-2013) Framework Programme for Research and Technological Development (HEADS project).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to João Bosco Ferreira Filho .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing Switzerland

About this chapter

Cite this chapter

Filho, J.B.F., Acher, M., Barais, O. (2016). Software Unbundling: Challenges and Perspectives. In: Chiba, S., Südholt, M., Eugster, P., Ziarek, L., Leavens, G. (eds) Transactions on Modularity and Composition I. Lecture Notes in Computer Science(), vol 9800. Springer, Cham. https://doi.org/10.1007/978-3-319-46969-0_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-46969-0_6

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-46968-3

  • Online ISBN: 978-3-319-46969-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics