Abstract
Modern civilization cannot survive without software. Because software is the building block of new generation, the quality of software plays an important role in building new technologies and hence, low quality software is not acceptable. Any software is defined by its internal and external characteristics. To measure software quality, its internal attributes such as cohesion, coupling, etc. are used to assess the external quality attributes such as Reusability, Maintainability etc. Very few researchers has worked on assessing external attributes by measuring internal attributes for object oriented systems and all work has been done at class level by using class level metrics. Since classes are not suitable for large applications with higher level of organisation, packages were introduced. Organizing classes into package enhances the Reusability and Maintainability task for object oriented systems. Aspect oriented systems are designed to enhance object oriented systems by modularizing crosscutting concerns like logging, synchronization etc., which are scattered in multiple classes. In this paper, efforts have been made to assess external attributes—Reusability, Maintainability and Understandability, using internal attributes for Aspect oriented systems at package level using fuzzy logic. Software reusability and maintainability improves the quality of software product by reducing development/maintenance time, effort and cost. On the other hand, software Understandability directly or indirectly affects the quality of software. In this paper, fuzzy approach is proposed for assessing the three external attributes using package level internal attributes. Predictions made from the proposed fuzzy approach are validated by analyzing them with the values of external attributes measured for AJhotdraw, an AspectJ software. The results have shown that the predictions made through the proposed approach are correct.








Similar content being viewed by others
References
Ossher, H., Tarr, P.: Using multidimensional separation of concerns to reshape evolving software. ACM 44(10), 43–50 (2001)
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.M., Irwin, J.: Aspect-Oriented Programming, pp. 220–242. Springer, Berlin (1997)
Dempsey, J., Cahill, V.: Aspects of system support for distributed computing. In: Proceedings of ECOOP Workshop on Aspect Oriented Programming, Finland (1997)
Nerurkar, N.W., Kumar, A., Shrivastava, P.: Assessment of reusability in aspect oriented systems using fuzzy logic. ACM SIGSOFT Softw. Eng. Notes 35(5), 1–5 (2010)
Briand, L.C., Morasca, S., Basili, V.R.: Property based software engineering measurement. IEEE Trans. Softw. Eng. 22910, 68–86 (1996)
Kaur, P.J., Kaushal, S.: Package level metrics for reusability in aspect oriented systems. In: Proceedings of IEEE international conference on futuristic trend in computational analysis and knowledge management (ABLAZE), pp. 364–368 (2015)
DeMarco, : Controlling Software Projects. Yourdon Press, Englewood Cliffs (1982)
Nazir, M., Khan, R.A., Mustafa, K.: A metrics based model for understandability quantification. J. Comput. 2(4), 90–94 (2010)
Vandana, S., Vinay, B.: Assessing package reusability in object oriented design. Int. J. Softw. Eng. Appl. 8(4), 75–84 (2014)
Martin, R.C.: Agile Software Development. Pearson Education Inc., London (2003)
Goyal, R.K., Kaushal, S., Sangaiah, A.K.: The utility based non-linear fuzzy AHP optimization model for network selection in heterogeneous wireless networks. Appl. Soft Comput. 67, 800–811 (2017)
Samuel, O.W., Asogbon, G.M., Sangaiah, A.K., Fang, P., Li, G.: An integrated decision support system based on ANN and Fuzzy_AHP for heart failure risk prediction. Expert Syst. Appl. 68, 163–172 (2017)
Kumar, A., Grover, P.S., Kumar, R.: A quantitative evaluation of aspect-oriented software quality model. ACM SIGSOFT Softw. Eng. Notes 34(5), 1–9 (2009)
ISO/IEC 9126-1, 2001, ISO/IEC 9126-2, 2003, ISO/IEC 9126-3, 2003 and ISO/IEC 9126-4, 2004: Information Technology—Product Quality, Quality Model, External Metrics, Internal Metrics, Quality in use Metrics. International Standard ISO/IEC 9126, International Standard Organization
Kumar, P.: Aspect-oriented software quality model—the AOSQ model. Adv. Comput. Int. J. 3(2), 105–118 (2012)
Salamon, W.J., Wallace, D.R.: Quality Characteristics and Metrics for Reusable Software. US DoC for US DoD Ballistic Missile Defence Organization, NISTIR 5459 (1994)
Sant’ Anna, C., Garcia, A., Chavez, C., Lucena, C., Staa, A.: On the reuse and maintenance of aspect-oriented software: an assessment framework. In: XXIII Brazilian Symposium on Software Engineering, Manaus, Brazil (2003)
Leite, J.C., Yu, Y., Lui, L., Yu, E.S.K., Mylopoulos, J.: Quality based software reuse, advanced information system engineering. In: 17th International Conference, Portugal. pp. 535–550 (2005)
Cunha C.A., Sobral J.L., Monteiro M.P.: Reusable aspect-oriented implementations of concurrency patterns and mechanisms. In: Proceedings of 5th International Conference on Aspect-Oriented Software Development, pp. 134–145. ACM, New York (2006)
Zhang, J., Li, H., Cai, X.: Research on reusability of software connector based on AOP. In: IEEE Proceedings of International Conference on Computer Science and Information Technology (iccsit2008), pp 113–117 (2008)
Aljasser K., Schachte P.: ParaAJ-toward reusable and maintainable aspect oriented programs. In: Proceedings of 32nd Australasian Computer Science Conference, Wellington, New Zealand, pp. 53–62 (2009)
Shen H., Zhang S., Zhao J.: An empirical study of maintainability in aspect-oriented system evolution using coupling metrics. In: Proceedings of 2nd IFIP/IEEE International Symposium on Theoretical Aspects of Software Engineering, pp. 233–236 (2008)
Li, J., Kvale, A.A., Conradi, R.: A case study on improving changeability of COTS-based system using aspect-oriented programming. J. Inf. Sci. Eng. 22(2), 375–390 (2006)
Kumar, A., Kumar, R., Grover, P.S.: A comparative study of aspect-oriented methodology with module-oriented and object-oriented methodologies. ICFAI J. Inf. Technol. 2(4), 7–15 (2006)
Kaur, P.J., Kaushal, S.: Cohesion and coupling Measures for Aspect Oriented Systems, vol. 7, pp. 784–788. Elsevier, Amsterdam (2013)
Balani, L., Singh, : Software quality metrics for aspect oriented programming. Int. J. Eng. Res. Technol. 8(1), 1–6 (2015)
Nazir, M., Khan, R.A.: An empirical validation of understandability quantification model. Procedia Technol. 4, 772–777 (2012)
Singh, N., Tripathi, A.: A design phase understandability metric based on coupling and cohesion for object oriented systems. Adv. Intell. Syst. Comput. 308, 321–325 (2015)
Thongmak, M., Muenchaisri, P.: Measuring understandability of aspect oriented code. In: International Conference on Digital Information and Communication Technology and Its Applications, Part of the Communications in Computer and Information Science, vol. 167, pp 43–54. Springer (2011)
Sangaiah, A.K., Thagavelu, A.K., Gao, X.Z., Anbazhagan, N., Saleem, M.S.: An ANFIS approach for evaluation of team level service climate in GSD projects using Taguchi-genetic learning algorithm. Appl. Soft Comput. 30, 628–635 (2015)
Sangaiah, A.K., Gopal, J., Basu, A., Subramaniam, P.R.: An integrated fuzzy DEMATEL, TOPSIS and ELECTRE approach for evaluating knowledge transfer effectiveness with reference to GSD project outcome. Neural Comput. Appl. 28, 111–123 (2017)
Sangaiah, A.K., Subramaiam, P.R., Zheng, X.: A combined fuzzy DEMATEL and fuzzy TOPSIS approach for evaluating GSD project outcome factors. Neural Comput. Appl. 26, 1025–1040 (2015)
Sangaiah, A.K., Samual, O.W., Abdel, M., Wang, H.: Towards an efficient risk assessment in software projects—fuzzy reinforcement paradigm. Comput. Electr. Eng. 71, 833–846 (2017)
Singh, P.K., Sangwan, O.P., Srivastava, A.: An essence of software maintenance prediction using the fuzzy model for aspect oriented software. ARPN J. Eng. Appl. Sci. 9(9), 1598–1605 (2014)
Singh, P.K., Sangwan, O.P., Srivastava, A., Pratap, A.: A framework for assessing the software reusability using fuzzy logic approach for aspect oriented software. Int. J. Inf. Technol. Comput. Sci. 2, 12–20 (2015)
Singh, P.K., Sangwan, O.P., Srivastava, A.: A quantitative evaluation for reusability for aspect oriented software using multi-criteria decision making approach. World Appl. Sci. J. 30(12), 1966–1976 (2014)
Singh PK, Pratap A, Singhal A: An estimation of software reusability using fuzzy logic techniques. In: IEEE Proceedings of International Conference on Signal Propagation and Computer Technology (ICSPCT), pp 250–256 (2014)
Kaur, P.J., Kaushal, S., Sangaiah, A.K., Picialli, F.: A framework for assessing reusability using package cohesion measure in aspect oriented system. Int. J. Parallel Program. 46, 1–22 (2017)
Zadeh, L.A.: Fuzzy logic, neural networks and soft computing. Commun. ACM 37(3), 77–84 (1994)
Novak, V., Perfilieva, I., Mockor, J.: Mathematical Principles of Fuzzy Logic. Kluwer Academic, Dodrecht (1999). ISBN 0-7923-8595-0
Shivnandan SN, Sumathi S, Deepa SN: Introduction to Fuzzy Logic Using MATLAB. Springer-Verlag, Berlin Heidelberg (2007)
Gupta, V., Chhabra, J.K.: Package level cohesion measurement in object oriented software. J. Braz. Comput. Soc. 18, 251–266 (2012)
Burrows, R., Ferrari, F.C., Garcia, A., Taini, F.: An empirical evaluation of coupling metrics on aspect-oriented programs. In: Proceedings of the ICSE Workshop on Emerging Trends in Software Metrics (ICSE), ACM, Cape Town, South Africa, pp. 53–58 (2010)
Bieman, J.M., Kang, B.K.: Cohesion and reuse in an object-oriented system. ACM SIGSOFT Softw. Eng. Notes 20(SI), 259–262 (1995)
Zhao, J.: Towards a metric suite for aspect oriented software. Technical report, SE 136-25, Information Processing Society of Japan (IPSJ) (2002)
Eaddy, M., Zimmermann, T., Sherwood, K.D.: Do crosscutting concerns cause defects? IEEE Trans. Softw. Eng. 34(4), 497–515 (2008)
Kulesza, U., Sant’ Anna, C., Garcia, A., Coelho, R., Von Staa, A., Lucena, C.: Quantifying the effects of aspect-oriented programming: a maintenance study. In: Proceedings of the 22nd IEEE International Conference on Software Maintenance (ICSM), IEEE Computer Society, pp. 223–232 (2006)
Shen, H., Zhang, S., Zhao, J.: An empirical study of maintainability in aspect-oriented system evolution using coupling metrics. In: Proceedings of the 2nd IFIP/IEEE International Symposium on Theoretical Aspects of Software Engineering (TASE), IEEE Computer Society, pp. 233–236 (2008)
Przybyek, A.: Where the truth lies: AOP and its impact on software modularity. In: Proceedings of the 14th International Conference on Fundamental Approaches to Software Engineering, Springer, Germany (2011)
Zahedian, H., Momeni, S.: Aspect Oriented Software Maintainability Assessment Using Adaptive Neuro-Fuzzy inference System (ANFIS). Journal of Mathematics and Computer Science 12, 243–252 (2014)
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher’s Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Kaur, P.J., Kaushal, S. A Fuzzy Approach for Estimating Quality of Aspect Oriented Systems. Int J Parallel Prog 48, 850–869 (2020). https://doi.org/10.1007/s10766-018-0618-2
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10766-018-0618-2