A Pedagogical Evaluation and Discussion about the Lack of Cohesion in Method (LCOM) Metric Using Field Experiment

Reading time: 6 minute
...

📝 Original Info

  • Title: A Pedagogical Evaluation and Discussion about the Lack of Cohesion in Method (LCOM) Metric Using Field Experiment
  • ArXiv ID: 1004.3277
  • Date: 2010-04-20
  • Authors: Researchers from original ArXiv paper

📝 Abstract

Chidamber and Kemerer first defined a cohesion measure for object-oriented software - the Lack of Cohesion in Methods (LCOM) metric. This paper presents a pedagogic evaluation and discussion about the LCOM metric using field data from three industrial systems. System 1 has 34 classes, System 2 has 383 classes and System 3 has 1055 classes. The main objectives of the study were to determine if the LCOM metric was appropriate in the measurement of class cohesion and the determination of properly and improperly designed classes in the studied systems. Chidamber and Kemerer's suite of metric was used as metric tool. Descriptive statistics was used to analyze results. The result of the study showed that in System 1, 78.8% (26 classes) were cohesive; System 2 54% (207 classes) were cohesive; System 3 30% (317 classes) were cohesive. We suggest that the LCOM metric measures class cohesiveness and was appropriate in the determination of properly and improperly designed classes in the studied system.

💡 Deep Analysis

Deep Dive into A Pedagogical Evaluation and Discussion about the Lack of Cohesion in Method (LCOM) Metric Using Field Experiment.

Chidamber and Kemerer first defined a cohesion measure for object-oriented software - the Lack of Cohesion in Methods (LCOM) metric. This paper presents a pedagogic evaluation and discussion about the LCOM metric using field data from three industrial systems. System 1 has 34 classes, System 2 has 383 classes and System 3 has 1055 classes. The main objectives of the study were to determine if the LCOM metric was appropriate in the measurement of class cohesion and the determination of properly and improperly designed classes in the studied systems. Chidamber and Kemerer’s suite of metric was used as metric tool. Descriptive statistics was used to analyze results. The result of the study showed that in System 1, 78.8% (26 classes) were cohesive; System 2 54% (207 classes) were cohesive; System 3 30% (317 classes) were cohesive. We suggest that the LCOM metric measures class cohesiveness and was appropriate in the determination of properly and improperly designed classes in the studied s

📄 Full Content

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 2, No 3, March 2010 ISSN (Online): 1694-0784 ISSN (Print): 1694-0814

36 A Pedagogical Evaluation and Discussion about the Lack of Cohesion in Method (LCOM) Metric Using Field Experiment.

Ezekiel Okike

School of Computer Studies, Kampala International University ,
Kampala, Uganda 256, Uganda.

Abstract Chidamber and Kemerer first defined a cohesion measure for object-oriented software – the Lack of Cohesion in Methods (LCOM) metric. This paper presents a pedagogic evaluation and discussion about the LCOM metric using field data from three industrial systems. System 1 has 34 classes, System 2 has 383 classes and System 3 has 1055 classes. The main objectives of the study were to determine if the LCOM metric was appropriate in the measurement of class cohesion and the determination of properly and improperly designed classes in the studied systems. Chidamber and Kemerer’s suite of metric was used as metric tool. Descriptive statistics was used to analyze results. The result of the study showed that in System 1, 78.8% (26 classes) were cohesive; System 2 54% (207 classes) were cohesive; System 3 30% (317 classes) were cohesive. We suggest that the LCOM metric measures class cohesiveness and was appropriate in the determination of properly and improperly designed classes in the studied system. Keywords: Class Cohesion, LCOM Metric, Systems, Software Measurement.

Introduction

Software metric is any type of measurement that relates to a software system, process or related documentation. On the other hand, software measurement is concerned with deriving a numeric value for some attributes of a software product or process. By comparing these values to each other and to standards that apply across an organization, one may be able to draw conclusions about the quality of a software or software processes. The Lack of Cohesion in Methods (LCOM) metric was proposed in [5,6] as a measure of cohesion in the object oriented paradigm.
The term cohesion is defined as the “intramodular functional relatedness” in software [1]. This definition, considers the cohesion of each module in isolation: how tightly bound or related its internal elements are. Hence, cohesion as an attribute of software modules capture the degree of association of elements within a module, and the programming paradigm used determines what is an
element and what is a module. In the object-oriented paradigm, for instance, a module is a class and hence cohesion refers to the relatedness among the methods of a class. Cohesion may be categorized ranging from the weakest form to the strongest form in the following order: coincidental, logical, temporal, procedural, communicational, sequential and functional.
i. Coincidental cohesion: A coincidentally cohesive module is one whose elements contribute to activities in a module, but with no meaningful relationship to one another. An example is to have unrelated statements bundled together in a module. Such a module would be hard to understand what it does and can not be reused in another program.
ii. Logical cohesion: A logically cohesive module is one whose elements contribute to activities of the same general category in which the activity or activities to be executed are selected from outside the module. A logically cohesive module does any of several different related things, hence, presenting a confusing interface since some parameters may be needed only sometimes.
iii. Temporal cohesion: A temporally cohesive module is one whose elements are involved in activities that are related in time. That is, the activities are carried out at a particular time. The elements occurring together in a temporally cohesive module do diverse things and execute at the same time.
iv. Procedural cohesion: A procedurally cohesive module is one whose elements are involved in different and possibly unrelated activities in which control flows from each activity to the next. Procedurally cohesive modules tend to be composed of pieces of functions that have little IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 2, No 3, March 2010 www.IJCSI.org

37 relationship to one another (except that they are carried out in a specific order at a certain time).
v. Communicational cohesion: A communicational cohesive module is one whose elements contribute to activities that use the same input or output data.
vi. Sequential cohesion: A sequentially cohesive module is one whose elements are involved in activities such that output data from one activity serve as input data to the next. Some authors identify this as informational cohesion.
vii. Functional cohesion: A functionally cohesive module contains elements that all contribute to the execution of one and only one problem-related task. The elements do exactly one

…(Full text truncated)…

Reference

This content is AI-processed based on ArXiv data.

Start searching

Enter keywords to search articles

↑↓
ESC
⌘K Shortcut