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

  • Puneet Jai Kaur
  • Sakshi Kaushal
  • Arun Kumar Sangaiah
  • Francesco Piccialli
Article
Part of the following topical collections:
  1. Special Issue on Programming Models and Algorithms for Data Analysis in HPC Systems

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.

Keywords

Aspect Oriented System Quality metrics Package cohesion Reusability AspectJ 

References

  1. 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)CrossRefGoogle Scholar
  2. 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)Google Scholar
  3. 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)CrossRefGoogle Scholar
  4. 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. 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)CrossRefGoogle Scholar
  6. 6.
    Brichau, J., D’Hondt, T.: An introduction to Aspect Oriented Software Development. AOSD Europe (2005)Google Scholar
  7. 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)CrossRefGoogle Scholar
  8. 8.
    Santos, A., Alves, P., Figueiredo, E., Ferrari, F.: Avoiding code pitfalls in aspect-oriented programming. Sci. Comput. Program. 119, 31–50 (2016)CrossRefGoogle Scholar
  9. 9.
    Gupta, V., Chhabra, J.K.: Package level cohesion measurement in object oriented software. J. Braz. Comput. Soc. 18, 251–266 (2012)CrossRefGoogle Scholar
  10. 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)Google Scholar
  11. 11.
    Almugrin, S., Albattah, W., Melton, A.: Using indirect coupling metrics to predict package maintainability and testability. J. Syst. Softw. 121, 298–310 (2016)CrossRefGoogle Scholar
  12. 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)Google Scholar
  13. 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. 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 2015Google Scholar
  15. 15.
    Zhao, J.: Towards a metric suite for aspect oriented software. Technical report, SE 136-25, Information Processing Society of Japan (IPSJ) (2002)Google Scholar
  16. 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)Google Scholar
  17. 17.
    Ceccato, M., Tonella, P.: Measuring the effects of software aspectization. In: Proceedings of First Workshop on Aspect Reverse Engineering, WARE (2004)Google Scholar
  18. 18.
    Gelinas, J.F., Badri, M., Badri, L.: A cohesion measure for aspects. J. Object Technol. 5(7), 97–114 (2006)CrossRefGoogle Scholar
  19. 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)CrossRefGoogle Scholar
  20. 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)MATHGoogle Scholar
  21. 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. 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. 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. 24.
    Eder, J., Kappel, G., Schrefl, M.: Coupling and cohesion in object oriented system. Technical report, University of Klagenfurt, Austria (1994)Google Scholar
  25. 25.
    Hitz, M., Montazeri, B.: Measuring coupling and cohesion in OO systems. In: Proceedings of International Symposium on Applied Corporate Computing, Monterrey, Mexico (1995)Google Scholar
  26. 26.
    Briand, L.C., Morasca, S., Basili, V.R.: Property based software engineering measurement. IEEE Trans. Softw. Eng. 22910, 68–86 (1996)CrossRefGoogle Scholar
  27. 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)Google Scholar
  28. 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)Google Scholar
  29. 29.
    Khan, S.: Design level coupling metrics for UML models. MS Thesis, KFUPM, Saudi Arabia (2004)Google Scholar
  30. 30.
    Seng, O., Bauer, M., Biehl, M., Pache, G.: Search-based improvement of subsystem decompositions. In: GECCO’05, pp. 1045–1051 (2005)Google Scholar
  31. 31.
    Hussain, S.: Package cohesion metric for OO systems. MS Thesis, KFUPM, Saudi Arabia (2005)Google Scholar
  32. 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)Google Scholar
  33. 33.
    Abdeen, H., Ducasse, S., Sahraoiy, H., Alloui, I.: Automatic package coupling and cycle minimization. In: WCRE’09, CNF, pp. 103–122. IEEE (2009)Google Scholar
  34. 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. 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. 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)Google Scholar
  37. 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)Google Scholar
  38. 38.
    Kumar, P.: Aspect oriented software quality model: the AOSQ model. Adv. Comput. 3(2), 105–118 (2012)Google Scholar
  39. 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)Google Scholar
  40. 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 2014Google Scholar
  41. 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)CrossRefGoogle Scholar
  42. 42.
    Vinobha, A., Velan, S., Babu, C.: IEEE International Conference on Advanced Communication Control and Computing Technologies (ICACCCT), pp. 1715–1722 (2014)Google Scholar
  43. 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. 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)Google Scholar
  45. 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)CrossRefGoogle Scholar
  46. 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)Google Scholar
  47. 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. 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)Google Scholar

Copyright information

© Springer Science+Business Media New York 2017

Authors and Affiliations

  • Puneet Jai Kaur
    • 1
  • Sakshi Kaushal
    • 2
  • Arun Kumar Sangaiah
    • 3
  • Francesco Piccialli
    • 4
  1. 1.Department of Information Technology, U.I.E.T.Panjab UniversityChandigarhIndia
  2. 2.Department of Computer Science and Engineering, U.I.E.T.Panjab UniversityChandigarhIndia
  3. 3.School of Computing Science and EngineeringVIT UniversityVelloreIndia
  4. 4.Department of Mathematics and ApplicationsUniversity of Naples “Federico II”NaplesItaly

Personalised recommendations