Abstract
Modularity benefits, including the independent maintenance and comprehension of individual modules, have been widely advocated. However, empirical assessments to investigate those benefits have mostly focused on source code, and thus, the relevance of modularity to earlier artifacts is still not so clear (such as requirements and design models). In this paper, we use a multimethod technique, including designed experiments, to empirically evaluate the benefits of modularity in the context of two approaches for specifying product line use case scenarios: PLUSS and MSVCM. The first uses an annotative approach for specifying variability, whereas the second relies on aspect-oriented constructs for separating common and variant scenario specifications. After evaluating these approaches through the specifications of several systems, we find out that MSVCM reduces feature scattering and improves scenario cohesion. These results suggest that evolving a product line specification using MSVCM requires only localized changes. On the other hand, the results of six experiments reveal that MSVCM requires more time to derive the product line specifications and, contrasting with the modularity results, reduces the time to evolve a product line specification only when the subjects have been well trained and are used to the task of evolving product line specifications.
Similar content being viewed by others
Notes
This panel occurred at the 10th Software Product Line Conference.
Actually, the effort was collected in milliseconds. However, to facilitate the reader to comprehend our results, we discuss our findings in this paper either in seconds or in minutes.
References
Alférez, M., Bonifácio, R., Teixeira, L., Accioly, P., Kulesza, U., Moreira, A., Araújo, J.a., Borba, P.: Evaluating scenario-based SPL requirements approaches: the case for modularity, stability and expressiveness. Requir. Eng. pp. 1–22 (2013). doi:10.1007/s00766-013-0184-5
Alferez, M., et al.: A model-driven approach for software product lines requirements engineering. In: Proceedings of the Twentieth International Conference on Software Engineering & Knowledge Engineering (SEKE’2008), pp. 779–784. San Francisco, USA (2008)
Alférez, M., et al.: Multi-view composition language for software product line requirements. In: 2nd International Conference on Software Language Engineering. Denver, USA (2009)
Apel, S., Leich, T., Saake, G.: Aspectual mixin layers: aspects and features in concert. In: 28th International conference on Software engineering, pp. 122–131. ACM, New York, NY, USA (2006). doi:10.1145/1134285.1134304
Basili, V.: The role of experimentation in software engineering: past, current, and future. In: Software Engineering, 1996, Proceedings of the 18th International Conference on, pp. 442–449 (1996). doi:10.1109/ICSE.1996.493439
Basili, V., Shull, F., Lanubile, F.: Building knowledge through families of experiments. IEEE Trans. Softw. Eng. 25(4), 456–473 (1999). doi:10.1109/32.799939
Bertolino, A., Gnesi, S.: Use case-based testing of product lines. In: 9th European Software Engineering Conference (ESEC/FSE), pp. 355–358. ACM, New York (2003). doi:10.1145/940071.940120
Bonifácio, R., Borba, P.: Modeling scenario variability as crosscutting mechanisms. In: AOSD ’09: Proceedings of the 8th ACM International Conference on Aspect-Oriented Software Development, pp. 125–136. ACM, New York, NY (2009). doi:10.1145/1509239.1509258
Bonifácio, R., Borba, P., Soares, S.: On the benefits of variability management as crosscutting. In: Early Aspects Workshop at AOSD. Brussels, Belgium (2008)
Borba, P., Teixeira, L., Gheyi, R.: A theory of software product line refinement. Theoretical Computer Science 455(0), 2–30 (2012). doi:10.1016/j.tcs.2012.01.031. ¡ce:title? International Colloquium on Theoretical Aspects of Computing¡ce:title¿
Borenstein, M., Hedges, L., Higgins, J., Rothstein, H.: Introduction to Meta-Analysis. Statistics in Practice. Wiley, New York (2009)
Box, G., Hunter, J., Hunter, W.: Statistics for Experimenters: Design, Innovation, and Discovery, 2nd edn. Wiley-Interscience, New York (2004)
Chaudhuri, S.: Microsoft conference management system. on-line (2009). http://cmt.research.microsoft.com/cmt/
Chitchyan, R., Greenwood, P., Sampaio, A., Rashid, A., Garcia, A.F., da Silva, L.F.: Semantic vs. syntactic compositions in aspect-oriented requirements engineering: an empirical study. In: K.J. Sullivan (ed.) Proceedings of the 8th International Conference on Aspect-Oriented Software Development, AOSD 2009, Charlottesville, Virginia, USA, March 2–6, 2009, pp. 149–160. ACM (2009). doi:10.1145/1509239.1509260
Ciolkowski, M.: What do we know about perspective-based reading? an approach for quantitative aggregation in software engineering. In: Empirical Software Engineering and Measurement, 2009. ESEM 2009. 3rd International Symposium on, pp. 133–144 (2009)
Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley Professional, Reading (2001)
Czarnecki, K., Antkiewicz, M.: Mapping features to models: A template approach based on superimposed variants. In: Generative Programming and Component Engineering (GPCE), LNCS, vol. 3676, pp. 422–437. Springer (2005). doi:10.1007/11561347_28
Czarnecki, K., Eisenecker, U.: Generative Programming: Methods, Tools, and Applications. ACM Press/Addison-Wesley Publishing Co., New York (2000)
Czarnecki, K., Pietroszek, K.: Verifying feature-based model templates against well-formedness ocl constraints. In: 5th International Conference on Generative Programming and Component Engineering, pp. 211–220. ACM, New York, NY (2006). doi:10.1145/1173706.1173738
Deligiannis, I., Shepperd, M., Roumeliotis, M., Stamelos, I.: An empirical investigation of an object-oriented design heuristic for maintainability. J. Syst. Softw. 65(2), 127–139 (2003). doi:10.1016/S0164-1212(02)00054-7
Deligiannis, I.S., et al.: A review of experimental investigations into object-oriented technology. Empir. Softw. Eng. 7, 193–231 (2002)
Do, H., Mirarab, S., Tahvildari, L., Rothermel, G.: The effects of time constraints on test case prioritization: A series of controlled experiments. IEEE Trans. Softw. Eng. 36(5), 593–617 (2010). doi:10.1109/TSE.2010.58
Eaddy, M.: An empirical assessment of the crosscutting concern problem. Ph.D. thesis, Graduate School of Arts and Sciences, Columbia University (2008)
Eaddy, M., Aho, A., Murphy, G.: Identifying, assigning, and quantifying crosscutting concerns. In: First Workshop on Assessment of Contemporary Modularization Techniques (ACOM). Minneapolis, USA (2007)
Eaddy, M., Zimmermann, T., Sherwood, K.D., Garg, V., Murphy, G.C., Nagappan, N., Aho, A.V.: Do crosscutting concerns cause defects? IEEE Trans. Softw. Eng. 34(4), 497–515 (2008). doi:10.1109/TSE.2008.36
Eriksson, M., Borstler, J., Borg, K.: The pluss approach - domain modeling with features, use cases and use case realizations. In: 9th International Conference on Software Product Lines, pp. 33–44. LNCS (2005)
Eriksson, M., Borstler, J., Borg, K.: Software product line modeling made practical. Commun. ACM 49(12), 49–54 (2006). doi:10.1145/1183236.1183265
Eriksson, M., Börstler, J., Borg, K.: Managing requirements specifications for product lines: An approach and industry case study. J. Syst. Softw. 82, 435–447 (2009)
Everitt, B., Hothorn, T.: A Handbook of Statistical Analyses Using R. Chapman & Hall/CRC (2006). http://CRAN.R-project.org/package=HSAUR
Figueiredo, E., et al.: Evolving software product lines with aspects: an empirical study on design stability. In: 30th International Conference on Software Engineering, pp. 261–270. ACM, New York, NY (2008). doi:10.1145/1368088.1368124
Figueiredo, E., et al.: On the Maintainability of Aspect-Oriented Software: A Concern-Oriented Measurement Framework. Software Maintenance and Reengineering, 2008. CSMR 2008. 12th European Conference on pp. 183–192 (2008)
Filho, F.C., Cacho, N., Figueiredo, E., ao, R.M., Garcia, A., Rubira, C.M.F.: Exceptions and aspects: the devil is in the details. In: 14th ACM SIGSOFT International Symposium on Foundations of Software Engineering, pp. 152–162 (2006)
Garcia, A., et al.: Modularizing design patterns with aspects: a quantitative study. 4th International Conference on Aspect-oriented Software Development 14(18), 3–14 (2005)
Gheyi, R., Massoni, T., Borba, P.: A theory for feature models in alloy. In: First Alloy Workshop, pp. 71–80. Portland, United States (2006)
Glass, R.L.: The software-research crisis. Softw. IEEE 11(6), 42–47 (1994). doi:10.1109/52.329400
Greenwood, P., et al.: On the impact of aspectual decompositions on design stability: An empirical study. 21st European Conference on Object-Oriented Programming (2007)
Group, Z.: Open conference management system. on-line (2009). http://www.openconf.com/
Hanenberg, S., Kleinschmager, S., Josupeit-Walter, M.: Does aspect-oriented programming increase the development speed for crosscutting code? An empirical study. In: ESEM ’09: Proceedings of the 2009 3rd International Symposium on Empirical Software Engineering and Measurement, pp. 156–167. IEEE Computer Society, Washington, DC, USA (2009). doi:10.1109/ESEM.2009.5316028
Juristo, N., Moreno, A.: Basics of Software Engineering Experimentation. Kluwer Academic Pub, Boston (2001)
Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, A.S.: Feature-oriented domain analysis (foda) feasibility study. Tech. Rep. CMU/SEI-90-TR-21, Software Engineering Institute (1990)
Kästner, C., Apel, S., Kuhlemann, M.: Granularity in software product lines. In: 30th International Conference on Software Engineering, pp. 311–320. ACM, New York (2008). doi:10.1145/1368088.1368131
Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.: Getting started with aspect. Commun. ACM 44(10), 59–65 (2001). doi:10.1145/383845.383858
Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An overview of AspectJ. In: ECOOP ’01: Proceedings of the 15th European Conference on Object-Oriented Programming, pp. 327–353. Springer, London (2001)
Kienzle, J., et al.: Crisis management systems (2009). http://www.cs.mcgill.ca/joerg/taosd/TAOSD/
Kitchenham, B., Pfleeger, S., Pickard, L., Jones, P., Hoaglin, D., El Emam, K., Rosenberg, J.: Preliminary guidelines for empirical research in software engineering. IEEE Trans. Softw. Eng. 28(8), 721–734 (2002). doi:10.1109/TSE.2002.1027796
Kitchenham, B., Pfleeger, S.L., Fenton, N.: Towards a framework for software measurement validation. IEEE Trans. Softw. Eng. 21(12), 929–944 (1995). doi:10.1109/32.489070
Konstantopoulos, S., Hedges, L.V.: Analyzing effect sizes: Fixed-effects models. The handbook of research synthesis and meta-analysis pp. 279–293 (2009)
Krueger, C.W.: Easing the transition to software mass customization. In: Revised Papers from the 4th International Workshop on Software Product-Family Engineering, PFE ’01, pp. 282–293. Springer, London (2002). http://dl.acm.org/citation.cfm?id=648114.748909
Krueger, C.W.: New methods in software product line practice. Commun. ACM 49(12), 37–40 (2006). doi:10.1145/1183236.1183262
Kuehl, R., Kuehl, R.: Design of experiments: statistical principles of research design and analysis. Duxbury-Thomson Learning (2000)
Lagaisse, B., Win, B.D., Joosen, W., Oeyen, J.V.: E-finance case study: analysis and requirements. Tech. Rep. CW438, Department of Computer Science, Katholieke Universiteit Leuven (2006). http://www.cs.kuleuven.be/publicaties/rapporten/cw/CW438.abs.html
Lemos, O., Ferrari, F., Silveira, F., Garcia, A.: Development of auxiliary functions: Should you be agile? an empirical assessment of pair programming and test-first programming. In: Software Engineering (ICSE), 2012 34th International Conference on, pp. 529–539 (2012). doi:10.1109/ICSE.2012.6227163
Lima, L., Iyoda, J., Sampaio, A., Aranha, E.: Test case prioritization based on data reuse an experimental study. In: ESEM ’09: Proceedings of the 2009 3rd International Symposium on Empirical Software Engineering and Measurement, pp. 279–290. IEEE Computer Society, Washington, DC (2009). doi:10.1109/ESEM.2009.5315980
Linden, F.J.v.d., Schmid, K., Rommes, E.: Software Product Lines in Action: The Best Industrial Practice in Product Line Engineering. Springer, New York (2007)
Masuhara, H., Kiczales, G.: Modeling crosscutting in aspect-oriented mechanisms. In: European Conference on Object-Oriented Programming (ECOOP), Lecture Notes in Computer Science, pp. 2–28. Springer (2003)
Pohl, K., Böckle, G., van der Linden, F.J.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer, New York (2005)
Pohl, K., Metzger, A.: The eshop product line. Online: http://www.sei.cmu.edu/splc2006/eShop.pdf
R Development Core Team: R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing, Vienna (2011). http://www.R-project.org/. ISBN 3-900051-07-0
Ramsey, F., Schafer, D.: The Statistical Sleuth: A Course in Methods of Data Analysis. Duxbury Press Belmont, California (1997)
Sampaio, A., Greenwood, P., Garcia, A., Rashid, A.: A comparative study of aspect-oriented requirements engineering approaches. In: Empirical Software Engineering and Measurement, 2007. ESEM 2007. First International Symposium on, pp. 166–175 (2007). doi:10.1109/ESEM.2007.15
Sjoberg, D.I., Yamashita, A., Anda, B., Mockus, A., Dyba, T.: Quantifying the effect of code smells on maintenance effort. IEEE Transactions on Software Engineering 99(PrePrints), 1 (2012). doi:10.1109/TSE.2012.89
Soares, S., Borba, P., Laureano, E.: Distribution and persistence as aspects. Softw Pract Exp 36(7), 711–759 (2006)
Soares, S., Laureano, E., Borba, P.: Implementing distribution and persistence aspects with aspectj. SIGPLAN Not. 37(11), 174–190 (2002). doi:10.1145/583854.582437
Whittle, J., Araujo, J.: Scenario modelling with aspects. IEE Proc Softw 151(4), 157–171 (2004). doi:10.1049/ip-sen:20040921
Whittle, J., Moreira, A., ao Araújo, J., Jayaraman, P., Elkhodary, A., Rabbi, R.: An expressive aspect composition language for uml state diagrams. In: International Conference on Model Driven Engineering, Languages and Systems (MODELS’2007), LNCS, vol. 4735, pp. 514–528. Springer (2007)
Wohlin, C., Runeson, P., Host, M., Ohlsson, C., Regnell, B., Wesslén, A.: Experimentation in Software Engineering: An Introduction. Kluver, Norwell (2000)
Wohlin, C., Runeson, P., Höst, M., Ohlsson, M.C., Regnell, B., Wesslén, A.: Experimentation in Software Engineering. Springer Science & Business Media, New York (2012)
Acknowledgments
This work was partially supported by the National Institute of Science and Technology for Software Engineering [INES (http://www.ines.org.br], funded by CNPq and FACEPE, Grants 573964/2008-4 and APQ-1037-1.03/08. The first author is supported by the Grants CNPq CT-INFO 17/2007.
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Andrzej Wąsowski and Thorsten Weyer.
Rights and permissions
About this article
Cite this article
Bonifácio, R., Borba, P., Ferraz, C. et al. Empirical assessment of two approaches for specifying software product line use case scenarios. Softw Syst Model 16, 97–123 (2017). https://doi.org/10.1007/s10270-015-0471-3
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-015-0471-3