Abstract
Due to better modularization of crosscutting concerns, the Aspect oriented programming approach enhances the quality of the system as it results in less complex and more readable implementation of the system. As the software applications grow in size and complexity, they require some kind of high level organization. For high level organization of software system, packages are required. A lot of work has been carried out for measuring cohesion in Aspect Oriented Systems (AOS) at class level but very less research has been done for designing package level cohesion metric. Package cohesion metrics plays an important role in analyzing quality of software at package level. According to object oriented design principle, a good software design must have high cohesion with high reusability. Thus a relationship must therefore exist between cohesion and reusability. Number of attempts has been made to evaluate effect of cohesion on external attributes but at class level only. Impact of package level cohesion metrics on reusability for AOS is not yet explored. (a) To implement the proposed package cohesion measure, PCohA, on AspectJ sample packages, (b) to theoretically validate the proposed measure and (c) to find the impact of package cohesion on measuring reusability for AOS. Theoretical validation has been done by proving its validity on four theorems given by Briand et al. For finding the impact of proposed measure on external attributes, correlation has been found between package cohesion, PCohA, and external attribute—reusability. After theoretical validation, it has been proved that the proposed measure is suitable for measuring cohesion at package level. Correlation between package cohesion metric (PCohA) and reusability is calculated by using Karl Pearson Product Moment correlation. The computed values show a strong positive relation between PCohA and Reusability. The proposed package cohesion measure is found to be a useful indicator of external quality factors such as reusability. The proposed metric is also established as a better predictor of code reusability than the existing cohesion measures. The work discussed in this paper can be used for designing high quality software by developing new package level metrics for other quality attributes such as maintainability, changeability etc. as a future work.










Similar content being viewed by others
References
Ali, M.S., Babar, M.A., Che, L., Stol, K.J.: A systematic review of comparative evidence of aspect oriented programming. Inf. Softw. Technol. 52, 871–887 (2010)
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Longtier, J.M., Irwin, J.: Aspect-oriented programming. In: Proceedings of the European Conference on Object Oriented Programming (ECOOP), Springer, LNCS 1241 (1997)
Cacho, N., Santanna, C., Figueiredo, E., Dantas, F., Garcia, A., Batista, T.: Blending design patterns with aspects: a quantitative study. J. Syst. Softw. 98, 117–139 (2014)
Singh, P.K., Sangwan, O.P., Singh, A.P.: A quantitative evaluation of reusability for aspect oriented software using multi-criteria decision making approach. World Appl. Sci. J. 30(12), 1966–1976 (2014)
Rashid, A., Cottenier, T., Greenwood, P., Chitchyan, R., Meunier, R., Coelho, R., Sudholt, M., Joosen, W.: Aspect oriented programming in practice: tales from AOSE-Europe. Computer 42(2), 19–26 (2010)
Brichau, J., D’Hondt, T.: An introduction to Aspect Oriented Software Development. AOSD Europe (2005)
Fabry, J., Roover, C., Noguera, C., Zschaler, S., Rashid, A., Jonckers, V.: AspectJ code analysis and verification with GASR. J. Syst. Softw. 117, 528–544 (2016)
Santos, A., Alves, P., Figueiredo, E., Ferrari, F.: Avoiding code pitfalls in aspect-oriented programming. Sci. Comput. Program. 119, 31–50 (2016)
Gupta, V., Chhabra, J.K.: Package level cohesion measurement in object oriented software. J. Braz. Comput. Soc. 18, 251–266 (2012)
Ebad, S., Ahmed, M.: An evaluation framework for package level cohesion metrics. In: International Conference on Future Information Technology, vol. 13, pp. 239–243. IACSIT Press, Singapore (2011)
Almugrin, S., Albattah, W., Melton, A.: Using indirect coupling metrics to predict package maintainability and testability. J. Syst. Softw. 121, 298–310 (2016)
Tahir, A., Ahmad, R.: An AOP based approach for collecting software maintainability dynamic metrics. In: Second international Conference on Computer Research and Development. IEEE, pp. 168–172 (2010)
Tahir, A., Ahmad, R., Kasirun, Z.: Maintainability dynamic metrics data collection based on aspect oriented technology. Malays. J. Comput. Sci. 23(3), 177–194 (2010)
Kaur, P.J., Kaushal, S.: Package level metrics for reusability in AOS. In: International Conference on Futuristic Trends on Computational Analysis and Knowledge Management (A BLAZE), pp. 364–368. IEEE, Amity University, Noida, 25–27 Feb 2015
Zhao, J.: Towards a metric suite for aspect oriented software. Technical report, SE 136-25, Information Processing Society of Japan (IPSJ) (2002)
Sant’Anna, C., Garcia, A., Chavez, C., Lucena, C., Staa, A.: On the reuse and maintenance of aspect oriented software: an assessment framework. In: 17th Brazilian Symposium on Software Engineering (2002)
Ceccato, M., Tonella, P.: Measuring the effects of software aspectization. In: Proceedings of First Workshop on Aspect Reverse Engineering, WARE (2004)
Gelinas, J.F., Badri, M., Badri, L.: A cohesion measure for aspects. J. Object Technol. 5(7), 97–114 (2006)
Elish, M.O., Al-Khiaty, M., Alshayeb, M.: Investigation of aspect-oriented metrics for stability assessment: a case study. JSW 6(12), 2508–2514 (2011)
Piveta, E.K., Moreira, A., Pimenta, M.S., Araujo, J., Guerreiro, P.: An Empirical Study of Aspect Oriented Metrics, Science of Computer Programming, vol. 78. Elsevier, Amsterdam (2012)
Balani, L., Singh, A.: Software quality metrics for aspect oriented programming. Int. J. Eng. Res. Technol. 8(1), 1–6 (2015)
Kaur, M., Kaur, R.: Improving the design of Cohesion and coupling metrics for aspect oriented software development. Int. J. Comput. Sci. Mob. Comput. 4(5), 99–106 (2015)
Hans, A.: Impact of aspect oriented programming on cross cutting metrics using Breshman technique for homogeneity. Int. J. Adv. Res. Electron. Commun. Eng. 5(8), 2172–2178 (2016)
Eder, J., Kappel, G., Schrefl, M.: Coupling and cohesion in object oriented system. Technical report, University of Klagenfurt, Austria (1994)
Hitz, M., Montazeri, B.: Measuring coupling and cohesion in OO systems. In: Proceedings of International Symposium on Applied Corporate Computing, Monterrey, Mexico (1995)
Briand, L.C., Morasca, S., Basili, V.R.: Property based software engineering measurement. IEEE Trans. Softw. Eng. 22910, 68–86 (1996)
Doval, D., Mancoridis, S., Mitchell, B.S.: Automatic clustering of software systems using genetic algorithm. In: STEP’99, pp. 73–41. IEEE Computer Society (1999)
Vernazza, T., Granatella, G., Succi, G., Benedicenti, L., Mintchev, M.: Defining metrics for software components. In: The World Multiconference on Systemics, Cybernetics and Informatics, Florida (2000)
Khan, S.: Design level coupling metrics for UML models. MS Thesis, KFUPM, Saudi Arabia (2004)
Seng, O., Bauer, M., Biehl, M., Pache, G.: Search-based improvement of subsystem decompositions. In: GECCO’05, pp. 1045–1051 (2005)
Hussain, S.: Package cohesion metric for OO systems. MS Thesis, KFUPM, Saudi Arabia (2005)
Gui, G., Scott, P.D.: Coupling and cohesion metric for evaluation of software component reusability. In: International Conference on Young Computer Scientists, pp. 1181–1186. IEEE (2008)
Abdeen, H., Ducasse, S., Sahraoiy, H., Alloui, I.: Automatic package coupling and cycle minimization. In: WCRE’09, CNF, pp. 103–122. IEEE (2009)
Singh, V., Bhattacherjee, V.: Evaluation and application of package level metrics in assessing software quality. Int. J. Comput. Appl. 58(21), 38–46 (2012)
Singh, V., Bhattacherjee, V.: Assessing package reusability in object oriented design. Int. J. Softw. Eng. Appl. 8(4), 75–84 (2014)
Albattah, W., Melton, A.: Package cohesion classification. In: 5th IEEE International Conference of Software Engineering and Service Science (ICSESS), Beijing, pp. 1–8 (2014)
Kumar, A., Kumar, R., Grover, P.S.: Towards a unified framework for cohesion measurement in AOS. In: 19th Australian Conference on Software Engineering, pp. 57–65. IEEE (2008)
Kumar, P.: Aspect oriented software quality model: the AOSQ model. Adv. Comput. 3(2), 105–118 (2012)
Arora, K., Singhal, A., Kumar, A.: A study of cohesion metrics for Aspect Oriented System. Int. J. Eng. Sci. Adv. Tech. 2(2), 332–337 (2012)
Choudhary, R., Chatterjee, R.: Reusability in AOSD—the aptness, assessment and analysis. In: International Conference on Reliability, Optimization and Information Technology (ICROIT 2014). IEEE, pp. 34–39, 6–8 Feb 2014
Nerurkar, N.W., Kumar, A., Shrivastava, P.: Assessment of reusability in AOS using fuzzy logic. ACM SIGSOFT Softw. Eng. Notes 35(5), 1–5 (2010)
Vinobha, A., Velan, S., Babu, C.: IEEE International Conference on Advanced Communication Control and Computing Technologies (ICACCCT), pp. 1715–1722 (2014)
Dhole, A., Nirmal, N.: An approach for calculation of reusability metrics of object oriented program. Int. J. Eng. Res. Technol. 2(6), 2644–2647 (2013)
Ananthi, S., Roby, J.: A theoretical framework for the maintainability model of AOS. In: International conference on Soft Computing and Software Engineering (SCSE), Procedia Computer Science, vol. 62, pp. 505–512 (2015)
Mallikarjuna Reddy, G., Anil Babu, N., Arun Kumar, R., Deshmukh, G.: Maintenance and understandability of aspect oriented programming. Int. J. Comput. Trends Technol. 36(2), 77–80 (2016)
Tripathi, A., Vardhan, M., Kushwaha, D.S.: Package level cohesion and its application. In: Proceedings of International Conference on Advances in Communication, Network and Computing, CNC, pp. 437–446. Elsevier (2014)
Garg, S., Kahlon, K.S., Bansal, P.K.: How to measure coupling in AOP from UML diagram. Int. J. Comput. Sci. Telecommun. 2(8), 52–57 (2011)
Briand, L., Emam, K.E., Morasca, S.: Theoretical and empirical validation of software product measures. Technical report ISERN-95-03. Fraunhofer Institute of Experimental Software Engineering, Germany (1995)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Kaur, P.J., Kaushal, S., Sangaiah, A.K. et al. A Framework for Assessing Reusability Using Package Cohesion Measure in Aspect Oriented Systems. Int J Parallel Prog 46, 543–564 (2018). https://doi.org/10.1007/s10766-017-0501-6
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10766-017-0501-6