Abstract:
A smell in software refers to a symptom introduced in software artifacts such as architecture, design or code. A code smell can potentially cause deeper and serious probl...Show MoreMetadata
Abstract:
A smell in software refers to a symptom introduced in software artifacts such as architecture, design or code. A code smell can potentially cause deeper and serious problems, while dealing with mainly non-functional requirements such as testability, maintainability, extensibility and scalability. The detection of code smell is an essential step in the refactoring process, which facilitates non functional requirements in a software. The existing approaches for detecting code smells use detection rules or standards using a combination of different object-oriented metrics. Although a variety of code smell detection tools have been developed, they still have limitations and constraints in their capabilities. The most well-known object-oriented metrics are considered to identify the presence of smells in software. This paper proposes a deep learning based approach to detect two code smells (Brain Class and Brain Method). The proposed system uses thirty open source Java projects, which are shared by many users in GitHub repositories. The dataset of these Java projects is partitioned into mutually exclusive training and test sets. Our experiments have demonstrated high accuracy results for both the code smells.
Published in: TENCON 2019 - 2019 IEEE Region 10 Conference (TENCON)
Date of Conference: 17-20 October 2019
Date Added to IEEE Xplore: 12 December 2019
ISBN Information:
ISSN Information:
Keywords assist with retrieval of results and provide a means to discovering other relevant content. Learn more.
- IEEE Keywords
- Index Terms
- Deep Learning ,
- Code Smells ,
- Deep Learning-based Approaches ,
- Deep Problems ,
- Non-functional Requirements ,
- Open-source Java ,
- Software Artifacts ,
- Neural Network ,
- Activation Function ,
- Training Data ,
- Convolutional Neural Network ,
- Convolutional Layers ,
- Source Code ,
- Hidden Layer ,
- Recurrent Neural Network ,
- Dense Layer ,
- Neurons In Layer ,
- Convolutional Neural Network Model ,
- Deep Learning Techniques ,
- Sequence Of Layers ,
- Labeled Data ,
- Keras Library ,
- Class Code ,
- Flat Layer ,
- Statistical Machine Learning ,
- Deep Learning Architectures ,
- High Complexity ,
- Labeled Training Data ,
- Training Dataset
- Author Keywords
Keywords assist with retrieval of results and provide a means to discovering other relevant content. Learn more.
- IEEE Keywords
- Index Terms
- Deep Learning ,
- Code Smells ,
- Deep Learning-based Approaches ,
- Deep Problems ,
- Non-functional Requirements ,
- Open-source Java ,
- Software Artifacts ,
- Neural Network ,
- Activation Function ,
- Training Data ,
- Convolutional Neural Network ,
- Convolutional Layers ,
- Source Code ,
- Hidden Layer ,
- Recurrent Neural Network ,
- Dense Layer ,
- Neurons In Layer ,
- Convolutional Neural Network Model ,
- Deep Learning Techniques ,
- Sequence Of Layers ,
- Labeled Data ,
- Keras Library ,
- Class Code ,
- Flat Layer ,
- Statistical Machine Learning ,
- Deep Learning Architectures ,
- High Complexity ,
- Labeled Training Data ,
- Training Dataset
- Author Keywords