To main content

A Decision Support System to Refactor Class Cycles

Abstract

Many studies show that real-world systems are riddled with large dependency cycles among software classes. Dependency cycles are claimed to affect quality factors such as testability, extensibility, modifiability, and reusability. Recent studies reveal that most defects are concentrated in classes that are in and near cycles. In this paper, we (1) propose a new metric: IRCRSS based on the Class Reachability Set Size (CRSS) to identify the reduction ratio between the CRSS of a class and its interfaces, and (2) presents a cycle-breaking decision support system (CB-DSS) that implements existing design approaches in combination with class edge contextual data. Evaluations of multiple systems show that (1) the IRCRSS metric can be used to identify fewer classes as candidates for breaking large cycles, thus reducing refactoring effort, and (2) the CB-DSS can assist software engineers to plan restructuring of classes involved in complex dependency cycles.

Category

Academic chapter/article/Conference paper

Language

English

Author(s)

  • Tosin Daniel Oyetoyan
  • Daniela Soares Cruzes
  • Christian Thurmann-Nielsen

Affiliation

  • Norwegian University of Science and Technology
  • SINTEF Digital / Software Engineering, Safety and Security
  • Evry Consulting

Year

2015

Publisher

IEEE (Institute of Electrical and Electronics Engineers)

Book

2015 IEEE 31st International Conference on Software Maintenance and Evolution (ICSME), Bremen, 29. september-1. october, 2015

ISBN

978-1-4673-7532-0

Page(s)

231 - 240

View this publication at Cristin