Skip to main content
Log in

A Framework for Assessing Reusability Using Package Cohesion Measure in Aspect Oriented Systems

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10

Similar content being viewed by others

References

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

    Article  Google Scholar 

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

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

    Article  Google Scholar 

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

    Google Scholar 

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

    Article  Google Scholar 

  6. Brichau, J., D’Hondt, T.: An introduction to Aspect Oriented Software Development. AOSD Europe (2005)

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

    Article  Google Scholar 

  8. Santos, A., Alves, P., Figueiredo, E., Ferrari, F.: Avoiding code pitfalls in aspect-oriented programming. Sci. Comput. Program. 119, 31–50 (2016)

    Article  Google Scholar 

  9. Gupta, V., Chhabra, J.K.: Package level cohesion measurement in object oriented software. J. Braz. Comput. Soc. 18, 251–266 (2012)

    Article  Google Scholar 

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

  11. Almugrin, S., Albattah, W., Melton, A.: Using indirect coupling metrics to predict package maintainability and testability. J. Syst. Softw. 121, 298–310 (2016)

    Article  Google Scholar 

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

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

    Google Scholar 

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

  15. Zhao, J.: Towards a metric suite for aspect oriented software. Technical report, SE 136-25, Information Processing Society of Japan (IPSJ) (2002)

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

  17. Ceccato, M., Tonella, P.: Measuring the effects of software aspectization. In: Proceedings of First Workshop on Aspect Reverse Engineering, WARE (2004)

  18. Gelinas, J.F., Badri, M., Badri, L.: A cohesion measure for aspects. J. Object Technol. 5(7), 97–114 (2006)

    Article  Google Scholar 

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

    Article  Google Scholar 

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

    MATH  Google Scholar 

  21. Balani, L., Singh, A.: Software quality metrics for aspect oriented programming. Int. J. Eng. Res. Technol. 8(1), 1–6 (2015)

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  24. Eder, J., Kappel, G., Schrefl, M.: Coupling and cohesion in object oriented system. Technical report, University of Klagenfurt, Austria (1994)

  25. Hitz, M., Montazeri, B.: Measuring coupling and cohesion in OO systems. In: Proceedings of International Symposium on Applied Corporate Computing, Monterrey, Mexico (1995)

  26. Briand, L.C., Morasca, S., Basili, V.R.: Property based software engineering measurement. IEEE Trans. Softw. Eng. 22910, 68–86 (1996)

    Article  Google Scholar 

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

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

  29. Khan, S.: Design level coupling metrics for UML models. MS Thesis, KFUPM, Saudi Arabia (2004)

  30. Seng, O., Bauer, M., Biehl, M., Pache, G.: Search-based improvement of subsystem decompositions. In: GECCO’05, pp. 1045–1051 (2005)

  31. Hussain, S.: Package cohesion metric for OO systems. MS Thesis, KFUPM, Saudi Arabia (2005)

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

  33. Abdeen, H., Ducasse, S., Sahraoiy, H., Alloui, I.: Automatic package coupling and cycle minimization. In: WCRE’09, CNF, pp. 103–122. IEEE (2009)

  34. Singh, V., Bhattacherjee, V.: Evaluation and application of package level metrics in assessing software quality. Int. J. Comput. Appl. 58(21), 38–46 (2012)

    Google Scholar 

  35. Singh, V., Bhattacherjee, V.: Assessing package reusability in object oriented design. Int. J. Softw. Eng. Appl. 8(4), 75–84 (2014)

    Google Scholar 

  36. Albattah, W., Melton, A.: Package cohesion classification. In: 5th IEEE International Conference of Software Engineering and Service Science (ICSESS), Beijing, pp. 1–8 (2014)

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

  38. Kumar, P.: Aspect oriented software quality model: the AOSQ model. Adv. Comput. 3(2), 105–118 (2012)

    Google Scholar 

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

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

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

    Article  Google Scholar 

  42. Vinobha, A., Velan, S., Babu, C.: IEEE International Conference on Advanced Communication Control and Computing Technologies (ICACCCT), pp. 1715–1722 (2014)

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

    Google Scholar 

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

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

    Article  Google Scholar 

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

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

    Google Scholar 

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

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Arun Kumar Sangaiah.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10766-017-0501-6

Keywords

Navigation