2010 · 48 citations · 17 references
Software MaintenanceArtificial IntelligenceEngineeringArtificial Immune SystemImmunological ComputingSoftware EngineeringSource Code AnalysisImmune SystemSoftware AnalysisDesign SmellsEmpirical Software Engineering ResearchData ScienceLiving CreaturesImmune-inspired ApproachDesignComputer ScienceStatic Program AnalysisElectronic NoseSoftware DesignSoftware SecurityProgram AnalysisSoftware TestingSoftware Design SmellsBiological ComputationMalware Analysis
We propose a parallel between object-oriented system designs and living creatures. We suggest that, like any living creature, system designs are subject to diseases, which are design smells (code smells and anti patterns). Design smells are conjectured in the literature to impact the quality and life of systems and, therefore, their detection has drawn the attention of both researchers and practitioners with various approaches. With our parallel, we propose a novel approach built on models of the immune system responses to pathogenic material. We show that our approach can detect more than one smell at a time. We build and test our approach on Gantt Project v1.10.2 and Xerces v2.7.0, for which manually-validated and publicly available smells exist. The results show a significant improvement in detection time, precision, and recall, in comparison to the state-of-the-art approaches.
17
Refactoring improving the design of existing code
Mauricio A. Saca · 2017 · 2.1K citations
Software Maintenance, Software Development Practice, Engineering +17
Java quality assurance by detecting code smells
Eva van Emden, Leon Moonen · 2003 · 377 citations