Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

DECOR: A Method for the Specification and Detection of Code and Design Smells

Published: 01 January 2010 Publication History
  • Get Citation Alerts
  • Abstract

    Code and design smells are poor solutions to recurring implementation and design problems. They may hinder the evolution of a system by making it hard for software engineers to carry out changes. We propose three contributions to the research field related to code and design smells: 1) Decor, a method that embodies and defines all the steps necessary for the specification and detection of code and design smells, 2) Detex, a detection technique that instantiates this method, and 3) an empirical validation in terms of precision and recall of Detex. The originality of Detex stems from the ability for software engineers to specify smells at a high level of abstraction using a consistent vocabulary and domain-specific language for automatically generating detection algorithms. Using Detex, we specify four well-known design smells: the antipatterns Blob, Functional Decomposition, Spaghetti Code, and Swiss Army Knife, and their 15 underlying code smells, and we automatically generate their detection algorithms. We apply and validate the detection algorithms in terms of precision and recall on Xerces v2.7.0, and discuss the precision of these algorithms on 11 open-source systems.

    Cited By

    View all
    • (2024)Predicting Code Comprehension: A Novel Approach to Align Human Gaze with Code using Deep Neural NetworksProceedings of the ACM on Software Engineering10.1145/36607951:FSE(1982-2004)Online publication date: 12-Jul-2024
    • (2024)Unmasking Data Secrets: An Empirical Investigation into Data Smells and Their Impact on Data QualityProceedings of the IEEE/ACM 3rd International Conference on AI Engineering - Software Engineering for AI10.1145/3644815.3644960(53-63)Online publication date: 14-Apr-2024
    • (2024)Identification of Java lock contention anti-patterns based on run-time performance dataProceedings of the 5th ACM/IEEE International Conference on Automation of Software Test (AST 2024)10.1145/3644032.3644466(209-213)Online publication date: 15-Apr-2024
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image IEEE Transactions on Software Engineering
    IEEE Transactions on Software Engineering  Volume 36, Issue 1
    January 2010
    143 pages

    Publisher

    IEEE Press

    Publication History

    Published: 01 January 2010

    Author Tags

    1. Antipatterns
    2. Java.
    3. code smells
    4. design smells
    5. detection
    6. metamodeling
    7. specification

    Qualifiers

    • Research-article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 11 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Predicting Code Comprehension: A Novel Approach to Align Human Gaze with Code using Deep Neural NetworksProceedings of the ACM on Software Engineering10.1145/36607951:FSE(1982-2004)Online publication date: 12-Jul-2024
    • (2024)Unmasking Data Secrets: An Empirical Investigation into Data Smells and Their Impact on Data QualityProceedings of the IEEE/ACM 3rd International Conference on AI Engineering - Software Engineering for AI10.1145/3644815.3644960(53-63)Online publication date: 14-Apr-2024
    • (2024)Identification of Java lock contention anti-patterns based on run-time performance dataProceedings of the 5th ACM/IEEE International Conference on Automation of Software Test (AST 2024)10.1145/3644032.3644466(209-213)Online publication date: 15-Apr-2024
    • (2024)Multi-faceted Code Smell Detection at Scale using DesigniteJava 2.0Proceedings of the 21st International Conference on Mining Software Repositories10.1145/3643991.3644881(284-288)Online publication date: 15-Apr-2024
    • (2024)Actionable code smell identification with fusion learning of metrics and semanticsScience of Computer Programming10.1016/j.scico.2024.103110236:COnline publication date: 1-Sep-2024
    • (2024)On the effectiveness of developer features in code smell prioritizationJournal of Systems and Software10.1016/j.jss.2024.111968210:COnline publication date: 1-Apr-2024
    • (2024)Improving Code Smell Detection by Reducing Dimensionality Using Ensemble Feature Selection and Machine LearningSN Computer Science10.1007/s42979-024-03013-x5:6Online publication date: 25-Jun-2024
    • (2024)Application of Deep Learning for Code Smell Detection: Challenges and OpportunitiesSN Computer Science10.1007/s42979-024-02956-55:5Online publication date: 3-Jun-2024
    • (2024)An empirical study into the effects of transpilation on quantum circuit smellsEmpirical Software Engineering10.1007/s10664-024-10461-929:3Online publication date: 2-May-2024
    • (2024)CoRT: Transformer-based code representations with self-supervision by predicting reserved words for code smell detectionEmpirical Software Engineering10.1007/s10664-024-10445-929:3Online publication date: 8-Apr-2024
    • Show More Cited By

    View Options

    View options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media