Abstract
In this paper, we support the statement that the most favorable uses of aspects happen when their code relies extensively on quantified statements, i.e., statements that may affect many parts of a system. When this happens, aspects better contribute to separation of concerns, since the otherwise duplicated and tangled code related to the implementation of a crosscutting concern is confined in a single block of code. In this paper we try to provide some insight both qualitative and quantitative arguments in favor of quantification. We describe an Eclipse plugin, called ConcernMetrics and AOPMetric tool that estimates the proposed metrics directly from the object-oriented code of an existing system, i.e., before crosscutting concerns are extracted to aspects. The strategy is applied to the JHOTDRAW open source project and study, how AOP system quantification provides help to developers and maintainers to decide in a cost-effective way.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Steimann, F.: The paradoxical success of aspect-oriented programming. In: 21st Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA), pp. 481–497 (2006)
Wand, M.: Understanding aspects: extended abstract. In: 8th International Conference on Functional Programming (ICFP), pp. 299–300. ACM, New York (2003)
Apel, S.: How AspectJ is used: an analysis of eleven AspectJ programs. J. Object Technol. 9(1), 117–142 (2010)
Sant’Anna, C., Garcia, A., Chavez, C., Lucena, C., von Staa, A.: On the reuse and maintenance of aspect-oriented software: an assessment framework. In: 17th Brazilian Symposium on Software Engineering (SBES), pp. 19–34 (2003)
Wand, M.: Understanding aspects: extended abstract. In: 8th International Conference on Functional Programming (ICFP), pp. 299–300. ACM, New York (2003)
Kulesza, U., Sant’Anna, C., Garcia, A., Coelho, R., von Staa, A., Luce Na, C.: Quantifying the Effects of Aspect-Oriented Programming: A Maintenance Study. In: Proc. Int’l. Conf. Software Maintenance (2006)
Parnas, D.L.: On the criteria to be used in decomposing systems into modules. Commun ACM 15(12), 1053–1058 (1972)
Valente, M.T., et al.: On the benefits of quantification in Aspect J systems. J. Braz Comput. Soc., doi: 10.1007/s13173-010-0008-0
Zhao, J., Xu, B.: Measuring Aspect Cohesion. In: Wermelinger, M., Margaria-Steffen, T. (eds.) FASE 2004. LNCS, vol. 2984, pp. 54–68. Springer, Heidelberg (2004)
Zhang, C., Jacobsen, H.-A.: Resolving Feature Convolution in Middleware Systems. In: Proc. Int’l. Conf. Object-Oriented Programming, Systems, Languages, and Applications (2004)
Garcia, A., Sant’Anna, C., Figueiredo, E., Kulesza, U., Lucena, C.J.P., von Staa, A.: Modularizing Design Patterns with Aspects: A Quantitative Study. In: Rashid, A., Liu, Y. (eds.) Transactions on Aspect-Oriented Software Development I. LNCS, vol. 3880, pp. 36–74. Springer, Heidelberg (2006)
Kulesza, U., Sant’Anna, C., Garcia, A., Coelho, R., von Staa, A., Luce Na, C.: Quantifying the Effects of Aspect-Oriented Programming: A Maintenance Study. In: Proc. Int’l. Conf. Software Maintenance (2006)
Gelinas, J.F., Badri, M., Badri, L.: A Cohesion Measure for Aspects. J. Object Technology 5(7) (2006)
Lopez-Herrejon, R.E., Apel, S.: Measuring and Characterizing Crosscutting in Aspect-Based Programs: Basic Metrics and Case Studies. In: Dwyer, M.B., Lopes, A. (eds.) FASE 2007. LNCS, vol. 4422, pp. 423–437. Springer, Heidelberg (2007)
Apel, S.: How AspectJ is used: an analysis of eleven AspectJ programs. J. Object Technol. 9(1), 117–142 (2010)
Parnas, D.L.: On the criteria to be used in decomposing systems into modules. Commun. ACM 15(12), 1053–1058 (1972)
Colyer, A., Rashid, A., Blair, G.: On the Separation of Concerns in Program Families. Technical Report COMP-001-2004, Computing Department, Lancaster University (2004)
Apel, S., Leich, T., Saake, G.: Aspectual Feature Modules. IEEE Trans. Software Engineering 34(2) (2008)
Garcia, A., Sant’Anna, C., Figueiredo, E., Kulesza, U., de Lucena, C.J.P., von, S.: Modularizing design patterns with aspects: a quantitative study. In: 4th International Conference on Aspect Oriented Software Development (AOSD), pp. 3–14 (2005)
Greenwood, P., Bartolomei, T.T., Figueiredo, E., Dósea, M., Garcia, A.F., Cacho, N., Sant’Anna, C., Soares, S., Borba, P., Kulesza, U., Rashid, A.: On the impact of aspectual decompositions on design stability: An empirical study. In: Bateni, M. (ed.) ECOOP 2007. LNCS, vol. 4609, pp. 176–200. Springer, Heidelberg (2007)
Marin, M., van Deursen, A., Moonen, L., van der Rijst, R.: An integrated crosscutting concern migration strategy and its Semiautomated application to JHotDraw. Autom. Softw. Eng. 16(2), 323–356 (2009)
Binkley, D., Ceccato, M., Harman, M., Ricca, F., Tonella, P.: Automated refactoring of object oriented code into aspects. In: 21st IEEE International Conference on Software Maintenance (ICSM), pp. 27–36 (2005)
Eaddy, M., Zimmermann, T., Sherwood, K.D., Garg, V., Murphy Gail, C., Nagappan, N., Aho, A.V.: Do crosscutting concerns cause defects? IEEE Trans. Softw. Eng. 34(4), 497–515 (2008)
Marin, M., van Deursen, A., Moonen, L.: Identifying crosscutting concerns using fan-in analysis. ACM Trans. Softw. Eng. Methodol. 17(1) (2007)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Sirbi, K., Kulkarni, P.J. (2011). On the Benefit of Quantification in AOP Systems-A Quantitative and a Qualitative Assessment. In: Meghanathan, N., Kaushik, B.K., Nagamalai, D. (eds) Advances in Computer Science and Information Technology. CCSIT 2011. Communications in Computer and Information Science, vol 131. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-17857-3_45
Download citation
DOI: https://doi.org/10.1007/978-3-642-17857-3_45
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-17856-6
Online ISBN: 978-3-642-17857-3
eBook Packages: Computer ScienceComputer Science (R0)