18,665 research outputs found
Comprehension of object-oriented software cohesion: The empirical quagmire
Chidamber and Kemerer (1991) proposed an object-oriented (OO) metric suite which included the Lack of Cohesion Of Methods (LCOM) metric. Despite considerable effort both theoretically and empirically since then, the software engineering community is still no nearer finding a generally accepted definition or measure of OO cohesion. Yet, achieving highly cohesive software is a cornerstone of software comprehension and hence, maintainability. In this paper, we suggest a number of suppositions as to why a definition has eluded (and we feel will continue to elude) us. We support these suppositions with empirical evidence from three large C++ systems and a cohesion metric based on the parameters of the class methods; we also draw from other related work. Two major conclusions emerge from the study. Firstly, any sensible cohesion metric does at least provide insight into the features of the systems being analysed. Secondly however, and less reassuringly, the deeper the investigative search for a definitive measure of cohesion, the more problematic its understanding becomes; this casts serious doubt on the use of cohesion as a meaningful feature of object-orientation and its viability as a tool for software comprehension
Recommended from our members
Object-oriented cohesion as a surrogate of software comprehension: An empirical study
The concept of software cohesion in both the procedural and object-oriented paradigm is well known and documented. What is not so well known or documented is the perception of what empirically constitutes a cohesive 'unit' by software engineers. In this paper, we describe an empirical investigation using object-oriented (OO) classes as a basis. Twenty-four subjects (drawn from IT experienced and IT inexperienced groups) were asked to rate ten classes sampled from two industrial systems in terms of their overall cohesiveness; a class environment was used to carry out the study. Four key results were observed. Firstly, class size (when expressed in terms of number of methods) did not tend to influence the perception of cohesion by any subjects. Secondly, well-commented classes were rated most highly amongst both IT experienced and inexperienced subjects. Thirdly, the empirical study suggests that cohesion comprises a combination of various class factors including low coupling, small numbers of attributes and well-commented methods, rather than any single, individual class feature per se. Finally, the research supports the view that cohesion is a subjective concept reflecting a cognitive combination of class features; as such it is a surrogate for class comprehension
Language as an Evolving Word Web
Human language can be described as a complex network of linked words. In such
a treatment, each distinct word in language is a vertex of this web, and
neighboring words in sentences are connected by edges. It was recently found
(Ferrer and Sol\'e) that the distribution of the numbers of connections of
words in such a network is of a peculiar form which includes two pronounced
power-law regions. Here we treat language as a self-organizing network of
interacting words. In the framework of this concept, we completely describe the
observed Word Web structure without fitting.Comment: 4 pages revtex, 2 figure
Time of avalanche mixing of granular materials in a half filled rotated drum
The avalanche mixing of granular solids in a slowly rotated 2D upright drum
is studied. We demonstrate that the account of the difference between
the angle of marginal stability and the angle of repose of the granular
material leads to a restricted value of the mixing time for a half
filled drum. The process of mixing is described by a linear discrete difference
equation. We show that the mixing looks like linear diffusion of fractions with
the diffusion coefficient vanishing when is an integer part of .
Introduction of fluctuations of supresses the singularities of
and smoothes the dependence .Comment: 4 pages revtex (twocolumn, psfig), 2 figure
- …