| Peer-Reviewed

A Cohesion Measure for C in the Context of an AOP Paradigm

Received: 7 May 2013     Published: 20 August 2013
Views:       Downloads:
Abstract

Cohesion measures the relative functional strength of a module and impacts the internal attribute of a function such as modularity. Modularity has become an accepted approach in every engineering discipline. The concept of modular design has considerably reduced the complexity of software design. It represents the strength of bond between the internal elements of the modules. To achieve effective modularity, design concepts like functional independence are considered to be very important. Aspect-oriented software development (AOSD) has emerged over the last decade as a paradigm for separation of concerns, which aims to increase the modularity. Therefore the presence of aspects affects the cohesiveness of a module. Like any new technology, aspect-oriented programming (AOP) was introduced to solve problems related to object-orientation (OO), and more in particular Java .It was noticed that AOP’s ideas were not necessarily tied to OO (and Java) but also to less modular paradigm like imperative programming. Moreover, several metrics have been proposed to assess aspect-oriented systems quality attributes in an object oriented context. However, not much work has been done to assess the impact of AOP on imperative style of programming (also called procedural paradigm, such as C language). Therefore, metrics are required to measure quality attributes for AOP used with imperative programming. Cohesion is considered an important software quality attribute. In this context, this paper presents an approach for measuring cohesion based on dependence analysis using control flow graphs (CFG).

Published in American Journal of Software Engineering and Applications (Volume 2, Issue 4)
DOI 10.11648/j.ajsea.20130204.11
Page(s) 105-110
Creative Commons

This is an Open Access article, distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution and reproduction in any medium or format, provided the original work is properly cited.

Copyright

Copyright © The Author(s), 2013. Published by Science Publishing Group

Keywords

Cohesion Measures, Procedural Paradigm, Software Metrics, Aspect Oriented Programming

References
[1] E. Figueiredo, A. Garcia, C. Sant'Anna, U. Kulesza, and C. Lucena, Assessing Aspect-Oriented Artifacts: Towards a Tool-Supported Quantitative Method, Wkshp. on Quantitative Approaches in OO Software Engineering, 2005.
[2] S.R. Chidamber and C.F. Kemerer, A Metrics suite for object Oriented Design, IEEE Transactions on Software Engineering, Vol. 20, No. 6, pp. 476-493, June 1994.
[3] J.Bieman and L. Ott.Measuring Functional Cohesion. IEEE Transactions of Software Engineering.Vol.22,No.10,August 1994.
[4] L.C. Briand, J. Daly and J. Wusr, A unified framework for cohesion measurement in object-oriented systems, Empirical Software Engineering, Vol.3, No.1, pp. 67-117, 1998.
[5] G.Kiczales, J.Lamping, A.Mendhekar,C.Maeda,C.Videara Lopes,J.M. Loingtier and J.Irwin,Aspect Oirented Programming. In ECOOP,1997.
[6] H.S. Chae, Y. R. Kwon and D H. Bae, A cohesion measure for object-oriented classes, Software Practice and Experience, No. 30, pp. 1405-1431, 2000.
[7] Garcia, A. et al.: Modularizing Design Patterns with Aspects: A Quantitative Study. In Proc. of the AOSD’05, Chicago, USA, (2005), pp. 3-14.
[8] Garcia, A. et al.: Separation of Concerns in Multi-Agent Systems: An Empirical Study. In Software Engineering for Multi-Agent Systems II, Springer, LNCS 2940, (2004).
[9] J. Zhao, Coupling Measurement in Aspect-Oriented Systems, Technical-Report SE-142-6, Information Processing Society of Japan (IPSJ), July 2003.
[10] J. Zhao and B. Xu, Measuring Aspect Cohesion, Proceeding of International Conference on Fundamental Approaches to Software Engineering (FASE'2004), LNCS 2984, pp.54-68, Springer-Verlag, Barcelona, Spain, March 29-31, 2004.
[11] B.Kang and Bieman, Design Level Cohesion Measures:Derivation,Comparisons and Applications,Computer Science Technical Report CS-96-103,Colorado State University,1996.
[12] J.F. Gélinas, L. Badri and M. Badri, A Cohesion Measure For Aspects, in Journal of Object Technology, vol. 5, no. 7, September - October 2006, pp. 97 – 114 http://www.jot.fm/issues/issue_2006_09/article5.
[13] Henry, S., Kafura, Software Structure Metrics Based on Information Flow D. IEEE Transactions on Software Engineering Volume SE-7, Issue 5, Sept. 1981 Page(s): 510 - 518
[14] McCabe,T.,A Software Complexity Measure,IEEE Transactions on Software Engineering,Vol 2,Issue 4,pp 308-320,1976.
[15] Meyer B., Oriol M., & Schoeller B. (2009), "Software engineering: lecture 17-18: estimation techniques and
[16] software metrics", Chair of Software Engineering Website, available: http://se.inf.ethz.ch/teaching/2008-S/se 0204/slides/15-Estimation-and-metrics-1-6x.pdf , accessed: 18 January 2009.
[17] N. E. Fenton.(1994) "Software Measurement: A necessary scientific basis", IEEE Trans. Software Eng., vol. 20,no. 3, March 1994, pp. 199-206.
[18] Mariano Ceccato and Paolo Tonella,(2004) " Measuring the Effects of Software Aspectization", In Cd-rom Proceedings of the 1st Workshop on Aspect Reverse Engineering (WARE 2004). November, 2004. Delft, The Netherlands.
[19] C. Sant‟Anna, A. Garcia, C. Chavez, A. von Staa, and C. Lucena. On the reuse and maintenance of aspect oriented software: An evaluation framework. In 17o. Simpsio Brasileiro de Engenharia de Software, pages 19–34,2003.
[20] Yourdon, E. and Constantine, L. L., Structured Design, Yourdon Press, 1978.
[21] Stevens, W. P., Myers, G. J. and Constantine, L. L., "Structured Design," IBM Systems Journal, Vol. 13, No. 2, May 1974.
[22] Karstu , S., An Examination of the Behavior of Slice Base Cohesion Measures, Master's Thesis, Michigan Technological University, Department of Computer Science, August 1994.
Cite This Article
  • APA Style

    Zeba Khanam, S. A. M Rizvi. (2013). A Cohesion Measure for C in the Context of an AOP Paradigm. American Journal of Software Engineering and Applications, 2(4), 105-110. https://doi.org/10.11648/j.ajsea.20130204.11

    Copy | Download

    ACS Style

    Zeba Khanam; S. A. M Rizvi. A Cohesion Measure for C in the Context of an AOP Paradigm. Am. J. Softw. Eng. Appl. 2013, 2(4), 105-110. doi: 10.11648/j.ajsea.20130204.11

    Copy | Download

    AMA Style

    Zeba Khanam, S. A. M Rizvi. A Cohesion Measure for C in the Context of an AOP Paradigm. Am J Softw Eng Appl. 2013;2(4):105-110. doi: 10.11648/j.ajsea.20130204.11

    Copy | Download

  • @article{10.11648/j.ajsea.20130204.11,
      author = {Zeba Khanam and S. A. M Rizvi},
      title = {A Cohesion Measure for C in the Context of an AOP Paradigm},
      journal = {American Journal of Software Engineering and Applications},
      volume = {2},
      number = {4},
      pages = {105-110},
      doi = {10.11648/j.ajsea.20130204.11},
      url = {https://doi.org/10.11648/j.ajsea.20130204.11},
      eprint = {https://article.sciencepublishinggroup.com/pdf/10.11648.j.ajsea.20130204.11},
      abstract = {Cohesion measures the relative functional strength of a module and impacts the internal attribute of a function such as modularity. Modularity has become an accepted approach in every engineering discipline. The concept of modular design has considerably reduced the complexity of software design.  It represents the strength of bond between the internal elements of the modules. To achieve effective modularity, design concepts like functional independence are considered to be very important. Aspect-oriented software development (AOSD) has emerged over the last decade as a paradigm for separation of concerns, which aims to increase the modularity. Therefore the presence of aspects affects the cohesiveness of a module. Like any new technology, aspect-oriented programming (AOP) was introduced to solve problems related to object-orientation (OO), and more in particular Java .It was noticed that AOP’s ideas were not necessarily tied to OO (and Java) but also to less modular paradigm like imperative programming. Moreover, several metrics have been proposed to assess aspect-oriented systems quality attributes in an object oriented context. However, not much work has been done to assess the impact of AOP on imperative style of programming (also called procedural paradigm, such as C language). Therefore, metrics are required to measure quality attributes for AOP used with imperative programming. Cohesion is considered an important software quality attribute. In this context, this paper presents an approach for measuring cohesion based on dependence analysis using control flow graphs (CFG).},
     year = {2013}
    }
    

    Copy | Download

  • TY  - JOUR
    T1  - A Cohesion Measure for C in the Context of an AOP Paradigm
    AU  - Zeba Khanam
    AU  - S. A. M Rizvi
    Y1  - 2013/08/20
    PY  - 2013
    N1  - https://doi.org/10.11648/j.ajsea.20130204.11
    DO  - 10.11648/j.ajsea.20130204.11
    T2  - American Journal of Software Engineering and Applications
    JF  - American Journal of Software Engineering and Applications
    JO  - American Journal of Software Engineering and Applications
    SP  - 105
    EP  - 110
    PB  - Science Publishing Group
    SN  - 2327-249X
    UR  - https://doi.org/10.11648/j.ajsea.20130204.11
    AB  - Cohesion measures the relative functional strength of a module and impacts the internal attribute of a function such as modularity. Modularity has become an accepted approach in every engineering discipline. The concept of modular design has considerably reduced the complexity of software design.  It represents the strength of bond between the internal elements of the modules. To achieve effective modularity, design concepts like functional independence are considered to be very important. Aspect-oriented software development (AOSD) has emerged over the last decade as a paradigm for separation of concerns, which aims to increase the modularity. Therefore the presence of aspects affects the cohesiveness of a module. Like any new technology, aspect-oriented programming (AOP) was introduced to solve problems related to object-orientation (OO), and more in particular Java .It was noticed that AOP’s ideas were not necessarily tied to OO (and Java) but also to less modular paradigm like imperative programming. Moreover, several metrics have been proposed to assess aspect-oriented systems quality attributes in an object oriented context. However, not much work has been done to assess the impact of AOP on imperative style of programming (also called procedural paradigm, such as C language). Therefore, metrics are required to measure quality attributes for AOP used with imperative programming. Cohesion is considered an important software quality attribute. In this context, this paper presents an approach for measuring cohesion based on dependence analysis using control flow graphs (CFG).
    VL  - 2
    IS  - 4
    ER  - 

    Copy | Download

Author Information
  • Jamia Millia Islamia, New Delhi

  • Jamia Millia Islamia, New Delhi

  • Sections