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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
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)
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
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
Ajila, S.A., Gakhar, A.S., Lung, C.-H.: Aspectualization of code clones - an algorithmic approach. Inf. Syst. Front. 16, 835–851 (2013)
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)
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
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)
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)
Clements, P., Northrop, L.M.: Software Product Lines: Practices and Patterns. Addison-Wesley Professional, Upper Saddle River (2001). ISBN: 0201703327
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)
Davis, F.D.: Perceived usefulness, perceived ease of use, and user acceptance of information technology. MIS Q. 13, 319–340 (1989)
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)
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
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)
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
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
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
Gallego, M.D., Luna, P., Bueno, S.: User acceptance model of open source software. Comput. Hum. Behav. 24(5), 2199–2216 (2008)
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
Humphrey, W.S.: Software unbundling: a personal perspective. IEEE Ann. Hist. Comput. 24(1), 59–63 (2002)
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)
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)
Kästner, C., Dreiling, A., Ostermann, K.: Variability mining: consistent semiautomatic detection of product-line features. IEEE Trans. Softw. Eng. 40, 67–82 (2014)
Knoop, J., Rüthing, O., Steffen, B.: Partial dead code elimination, vol. 29. ACM (1994)
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
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)
Messerschmitt, D.G., Szyperski, C.: Software Ecosystem: Understanding an Indispensable Technology and Industry, 1st edn. MIT Press Books, Cambridge (2005)
Mortensen, M.: Improving software maintainability through aspectualization (2009)
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)
Mortensen, M., Ghosh, S., Bieman, J.M.: Aspect-oriented refactoring of legacy applications: an evaluation. IEEE Trans. Softw. Eng. 38(1), 118–140 (2012)
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)
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)
Ossher, H., Tarr, P.: Using multidimensional separation of concerns to (re) shape evolving software. Commun. ACM 44(10), 43–50 (2001)
Parnas, D.L.: On the criteria to be used in decomposing systems into modules. Commun. ACM 15(12), 1053–1058 (1972)
Pohl, K.: Requirements Engineering: Fundamentals, Principles, and Techniques. Springer, Heidelberg (2010)
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)
Sanakulov, N., Karjaluoto, H.: Consumer adoption of mobile technologies: a literature review. Int. J. Mob. Commun. 13(3), 244–275 (2015)
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
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
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)
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)
Washizaki, H., Fukazawa, Y.: A technique for automatic component extraction from object-oriented programs by refactoring. Sci. Comput. Program. 56(1), 99–116 (2005)
Weiser, M.: Program slicing. In: Proceedings of the 5th International Conference on Software Engineering, pp. 439–449. IEEE Press (1981)
Weston, N., Chitchyan, R., Rashid, A.: A framework for constructing semantically composable feature models from natural language requirements. In: SPLC (2009)
Xi, H.: Dead code elimination through dependent types. In: Gupta, G. (ed.) PADL 1999. LNCS, vol. 1551, pp. 228–242. Springer, Heidelberg (1998)
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)
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
Corresponding author
Editor information
Editors and Affiliations
Rights 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)