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