Using attribute slicing to refactor large classes

D. Kirk, M. Roper, N. Walkinshaw

Research output: Chapter in Book/Report/Conference proceedingConference contribution book

Abstract

It can often be the case in object-oriented programming that classes bloat, particularly if the represent an ill-formed abstraction. A poorly formed class tends to be formed from disjoint sets of methods and attributes. This can result in a loss of cohesion within the class. Slicing attributes can be used to identify and make explicit the relationships between attributes and the methods that refer to them. This can be a useful tool for identifying code smells and ultimately refactoring. Attribute slicing can also be used to examine the relationships between attributes, as is the case in decomposition slicing. This paper introduces attribute slicing in the context of refactoring bloated classes.
LanguageEnglish
Title of host publicationBeyond Program Slicing
EditorsD. W. Binkley, M. Harman, J. Krinke
Number of pages12
Publication statusPublished - 2006

Fingerprint

cohesion
attribute
decomposition
method
code
loss

Keywords

  • attribute slicing
  • large classes
  • object-oriented programming

Cite this

Kirk, D., Roper, M., & Walkinshaw, N. (2006). Using attribute slicing to refactor large classes. In D. W. Binkley, M. Harman, & J. Krinke (Eds.), Beyond Program Slicing
Kirk, D. ; Roper, M. ; Walkinshaw, N. / Using attribute slicing to refactor large classes. Beyond Program Slicing. editor / D. W. Binkley ; M. Harman ; J. Krinke. 2006.
@inproceedings{b8ed87c623bb4e6980784045cf08ba9f,
title = "Using attribute slicing to refactor large classes",
abstract = "It can often be the case in object-oriented programming that classes bloat, particularly if the represent an ill-formed abstraction. A poorly formed class tends to be formed from disjoint sets of methods and attributes. This can result in a loss of cohesion within the class. Slicing attributes can be used to identify and make explicit the relationships between attributes and the methods that refer to them. This can be a useful tool for identifying code smells and ultimately refactoring. Attribute slicing can also be used to examine the relationships between attributes, as is the case in decomposition slicing. This paper introduces attribute slicing in the context of refactoring bloated classes.",
keywords = "attribute slicing, large classes, object-oriented programming",
author = "D. Kirk and M. Roper and N. Walkinshaw",
year = "2006",
language = "English",
editor = "Binkley, {D. W.} and Harman, {M. } and J. Krinke",
booktitle = "Beyond Program Slicing",

}

Kirk, D, Roper, M & Walkinshaw, N 2006, Using attribute slicing to refactor large classes. in DW Binkley, M Harman & J Krinke (eds), Beyond Program Slicing.

Using attribute slicing to refactor large classes. / Kirk, D.; Roper, M.; Walkinshaw, N.

Beyond Program Slicing. ed. / D. W. Binkley; M. Harman; J. Krinke. 2006.

Research output: Chapter in Book/Report/Conference proceedingConference contribution book

TY - GEN

T1 - Using attribute slicing to refactor large classes

AU - Kirk, D.

AU - Roper, M.

AU - Walkinshaw, N.

PY - 2006

Y1 - 2006

N2 - It can often be the case in object-oriented programming that classes bloat, particularly if the represent an ill-formed abstraction. A poorly formed class tends to be formed from disjoint sets of methods and attributes. This can result in a loss of cohesion within the class. Slicing attributes can be used to identify and make explicit the relationships between attributes and the methods that refer to them. This can be a useful tool for identifying code smells and ultimately refactoring. Attribute slicing can also be used to examine the relationships between attributes, as is the case in decomposition slicing. This paper introduces attribute slicing in the context of refactoring bloated classes.

AB - It can often be the case in object-oriented programming that classes bloat, particularly if the represent an ill-formed abstraction. A poorly formed class tends to be formed from disjoint sets of methods and attributes. This can result in a loss of cohesion within the class. Slicing attributes can be used to identify and make explicit the relationships between attributes and the methods that refer to them. This can be a useful tool for identifying code smells and ultimately refactoring. Attribute slicing can also be used to examine the relationships between attributes, as is the case in decomposition slicing. This paper introduces attribute slicing in the context of refactoring bloated classes.

KW - attribute slicing

KW - large classes

KW - object-oriented programming

UR - http://drops.dagstuhl.de/opus/volltexte/2006/490/

M3 - Conference contribution book

BT - Beyond Program Slicing

A2 - Binkley, D. W.

A2 - Harman, M.

A2 - Krinke, J.

ER -

Kirk D, Roper M, Walkinshaw N. Using attribute slicing to refactor large classes. In Binkley DW, Harman M, Krinke J, editors, Beyond Program Slicing. 2006