Using FCA to suggest refactorings to correct design defects

  • Authors:
  • Naouel Moha;Jihene Rezgui;Yann-Gaël Guéhéneuc,;Petko Valtchev;Ghizlane El Boussaidi

  • Affiliations:
  • GEODES, Department of Informatics and Operations Research, University of Montreal, Quebec, Canada;GEODES, Department of Informatics and Operations Research, University of Montreal, Quebec, Canada;GEODES, Department of Informatics and Operations Research, University of Montreal, Quebec, Canada;GEODES, Department of Informatics and Operations Research, University of Montreal, Quebec, Canada;GEODES, Department of Informatics and Operations Research, University of Montreal, Quebec, Canada

  • Venue:
  • CLA'06 Proceedings of the 4th international conference on Concept lattices and their applications
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

Design defects are poor design choices resulting in a hard-to-maintain software, hence their detection and correction are key steps of a disciplined software process aimed at yielding high-quality software artifacts. While modern structure- and metric-based techniques enable precise detection of design defects, the correction of the discovered defects, e.g., by means of refactorings, remains a manual, hence error-prone, activity. As many of the refactorings amount to re-distributing class members over a (possibly extended) set of classes, formal concept analysis (FCA) has been successfully applied in the past as a formal framework for refactoring exploration. Here we propose a novel approach for defect removal in object-oriented programs that combines the effectiveness of metrics with the theoretical strength of FCA. A case study of a specific defect, the Blob, drawn from the Azureus project illustrates our approach.