American Journal of Software Engineering and Applications
Volume 2, Issue 4, August 2013, Pages: 105-110
Received: May 7, 2013;
Published: Aug. 20, 2013
Views 3319 Downloads 143
Zeba Khanam, Jamia Millia Islamia, New Delhi
S. A. M Rizvi, Jamia Millia Islamia, New Delhi
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).
S. A. M Rizvi,
A Cohesion Measure for C in the Context of an AOP Paradigm, American Journal of Software Engineering and Applications.
Vol. 2, No. 4,
2013, pp. 105-110.
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.
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.
J.Bieman and L. Ott.Measuring Functional Cohesion. IEEE Transactions of Software Engineering.Vol.22,No.10,August 1994.
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.
G.Kiczales, J.Lamping, A.Mendhekar,C.Maeda,C.Videara Lopes,J.M. Loingtier and J.Irwin,Aspect Oirented Programming. In ECOOP,1997.
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.
Garcia, A. et al.: Modularizing Design Patterns with Aspects: A Quantitative Study. In Proc. of the AOSD’05, Chicago, USA, (2005), pp. 3-14.
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).
J. Zhao, Coupling Measurement in Aspect-Oriented Systems, Technical-Report SE-142-6, Information Processing Society of Japan (IPSJ), July 2003.
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.
B.Kang and Bieman, Design Level Cohesion Measures:Derivation,Comparisons and Applications,Computer Science Technical Report CS-96-103,Colorado State University,1996.
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.
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
McCabe,T.,A Software Complexity Measure,IEEE Transactions on Software Engineering,Vol 2,Issue 4,pp 308-320,1976.
Meyer B., Oriol M., & Schoeller B. (2009), "Software engineering: lecture 17-18: estimation techniques and
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.
N. E. Fenton.(1994) "Software Measurement: A necessary scientific basis", IEEE Trans. Software Eng., vol. 20,no. 3, March 1994, pp. 199-206.
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.
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.
Yourdon, E. and Constantine, L. L., Structured Design, Yourdon Press, 1978.
Stevens, W. P., Myers, G. J. and Constantine, L. L., "Structured Design," IBM Systems Journal, Vol. 13, No. 2, May 1974.
Karstu , S., An Examination of the Behavior of Slice Base Cohesion Measures, Master's Thesis, Michigan Technological University, Department of Computer Science, August 1994.