Does God Class Decomposition Affect Comprehensibility?

نویسندگان

  • Bart Du Bois
  • Serge Demeyer
  • Jan Verelst
  • Tom Mens
  • Marijn Temmerman
چکیده

Continuous alterations and extensions of a software system introduce so called god classes, accumulating ever more responsibilities. As god classes make essential steps in program comprehension harder, it is expected that effective and efficient techniques to resolve them will facilitate future maintenance tasks. This work reports on a laboratory experiment with 63 computer science students, in which we verified whether the decomposition of a god class using well-known refactorings can affect comprehensibility of the relevant code part. Five alternative god class decompositions were derived through application of refactorings, by which the responsibilities of a natural god class were increasingly split into a number of collaborating classes. Our results indicate that the derived class decompositions differed significantly with regard to the ability of students to map attributes in the class hierarchy to descriptions of the problem domain. Moreover, this effect has been found to interact with the institution in which the participants were enrolled, confirming that comprehensibility is a subjective notion for which we have to take into account people’s skills and expectations. This work indicates that improving comprehensibility is within the grasp of a single maintainer preparing for future change requests by redistributing the responsibilities of a god class using well-known refactorings.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Do UML object diagrams affect design comprehensibility? Results from a family of four controlled experiments

Objective : The main objective of our study is to assess whether the use of UML (Unified Modeling Language) object diagrams improves comprehensibility of software design when this kind of diagrams is added to UML class diagrams. Method : We have conducted a family of four controlled experiments. We involved groups of bachelor and master students. Results : Results suggest that the use of object...

متن کامل

A Semantic-Based Approach for Detecting and Decomposing God Classes

TestElement ProxyControlGUI 22 46 1.12 29 57 0.98 23 252 0.98 24 30 1.20 22 58 1.08 Figure 8: Measures of CBO, NOM, and IC For each candidate class, a complete weighted graph is built. Figure 9(a) shows the graph for the MenuFactory class. The graph involves 22 nodes representing the methods defined in the class and 231 edges connecting the nodes. The threshold for the class ranges from 0.95 to...

متن کامل

How Does Predicate Invention Affect Human Comprehensibility?

During the 1980s Michie defined Machine Learning in terms of two orthogonal axes of performance: predictive accuracy and comprehensibility of generated hypotheses. Since predictive accuracy was readily measurable and comprehensibility not so, later definitions in the 1990s, such as that of Mitchell, tended to use a one-dimensional approach to Machine Learning based solely on predictive accuracy...

متن کامل

Constructing Intermediate Concepts by Decomposition of Real Functions

In learning from examples it is often useful to expand an attribute-vector representation by intermediate concepts. The usual advantage of such structuring of the learning problem is that it makes the learning easier and improves the comprehensibility of induced descriptions. In this paper, we develop a technique for discovering useful intermediate concepts when both the class and the attribute...

متن کامل

Comparing Comprehensibility of Modelling Languages for Specifying Behavioural Requirements

The selection of a suitable modelling language influences the success of software modelling. Several experiments comparing the comprehensibility of graphical modelling languages have been published. However, no published study comparing the comprehensibility of functional requirements modelled in different graphical modelling languages exists. This paper evaluates how two requirements modelled ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2006