Advertisement

Software Unbundling: Challenges and Perspectives

Chapter
Part of the Lecture Notes in Computer Science book series (LNCS, 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.

Keywords

Unbundling Modularization Features Aspects Reengineering Refactoring Evolution 

Categories and Subject Descriptors

D.2.9 Software Engineering: Distribution Maintenance Enhancement 

Notes

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

References

  1. 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)CrossRefGoogle Scholar
  2. 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. 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). ACMCrossRefGoogle Scholar
  4. 4.
    Ajila, S.A., Gakhar, A.S., Lung, C.-H.: Aspectualization of code clones - an algorithmic approach. Inf. Syst. Front. 16, 835–851 (2013)CrossRefGoogle Scholar
  5. 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)CrossRefGoogle Scholar
  6. 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–3256CrossRefGoogle Scholar
  7. 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. 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)CrossRefGoogle Scholar
  9. 9.
    Clements, P., Northrop, L.M.: Software Product Lines: Practices and Patterns. Addison-Wesley Professional, Upper Saddle River (2001). ISBN: 0201703327Google Scholar
  10. 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. 11.
    Davis, F.D.: Perceived usefulness, perceived ease of use, and user acceptance of information technology. MIS Q. 13, 319–340 (1989)CrossRefGoogle Scholar
  12. 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. 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. 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. 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. 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. 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 2015Google Scholar
  18. 18.
    Gallego, M.D., Luna, P., Bueno, S.: User acceptance model of open source software. Comput. Hum. Behav. 24(5), 2199–2216 (2008)CrossRefGoogle Scholar
  19. 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–5589Google Scholar
  20. 20.
    Humphrey, W.S.: Software unbundling: a personal perspective. IEEE Ann. Hist. Comput. 24(1), 59–63 (2002)CrossRefGoogle Scholar
  21. 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)CrossRefGoogle Scholar
  22. 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. 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)CrossRefGoogle Scholar
  24. 24.
    Knoop, J., Rüthing, O., Steffen, B.: Partial dead code elimination, vol. 29. ACM (1994)Google Scholar
  25. 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. 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. 27.
    Messerschmitt, D.G., Szyperski, C.: Software Ecosystem: Understanding an Indispensable Technology and Industry, 1st edn. MIT Press Books, Cambridge (2005)Google Scholar
  28. 28.
    Mortensen, M.: Improving software maintainability through aspectualization (2009)Google Scholar
  29. 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)CrossRefGoogle Scholar
  30. 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)CrossRefGoogle Scholar
  31. 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)CrossRefGoogle Scholar
  32. 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)CrossRefGoogle Scholar
  33. 33.
    Ossher, H., Tarr, P.: Using multidimensional separation of concerns to (re) shape evolving software. Commun. ACM 44(10), 43–50 (2001)CrossRefGoogle Scholar
  34. 34.
    Parnas, D.L.: On the criteria to be used in decomposing systems into modules. Commun. ACM 15(12), 1053–1058 (1972)CrossRefGoogle Scholar
  35. 35.
    Pohl, K.: Requirements Engineering: Fundamentals, Principles, and Techniques. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  36. 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. 37.
    Sanakulov, N., Karjaluoto, H.: Consumer adoption of mobile technologies: a literature review. Int. J. Mob. Commun. 13(3), 244–275 (2015)CrossRefGoogle Scholar
  38. 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. 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 CrossRefGoogle Scholar
  40. 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)CrossRefGoogle Scholar
  41. 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. 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)MathSciNetCrossRefzbMATHGoogle Scholar
  43. 43.
    Weiser, M.: Program slicing. In: Proceedings of the 5th International Conference on Software Engineering, pp. 439–449. IEEE Press (1981)Google Scholar
  44. 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. 45.
    Xi, H.: Dead code elimination through dependent types. In: Gupta, G. (ed.) PADL 1999. LNCS, vol. 1551, pp. 228–242. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  46. 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)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  1. 1.School of Computer ScienceUniversity of BirminghamBirminghamUK
  2. 2.Inria and Irisa, Université Rennes 1RennesFrance

Personalised recommendations