A method to prediction of software system’s code smells using neural network
Author(s):
Article Type:
Research/Original Article (دارای رتبه معتبر)
Abstract:
Software engineers are always looking to reduce production costs and increase software quality. There are various methods to improve software quality, and code refactoring is one of these methods. Code refactoring and reorganization is a method for cleaning up software code and is one of the crucial processes in maintaining software quality. One of the main challenges in developing and producing clean code in software is the existence of inconsistent or bad-smelling code. Code smell is a superficial sign in the code that may indicate a deeper problem in the software. The existence of code smells may slow down processing, increase the risk of failure, as well as software errors. Therefore, software developers attempt to identify inconsistent code and facilitate its maintainability and scalability by refactoring software code. However, manual and automatic identification of code smells is challenging and tiring. As a result, methods for identifying such codes automatically and semi-automatically have been proposed. An important note in non-automatic methods is that predicting inconsistent code requires individual knowledge that is both time-consuming and increases the possibility of error. Therefore, automated methods have a greater advantage in predicting inconsistent code. So far, extensive research has been conducted on automatic prediction and identification of inconsistent code. A high percentage of these studies have focused on predicting four types of code smells: long method, feature envy, god class, and data class. In this article, our focus is on improving the accuracy of extracting such inconsistent codes. One of the common methods for predicting this type of code is using machine learning-based methods. Artificial neural networks are a specific type of machine learning algorithm that is modeled according to the human brain's performance method. This means that these networks can learn from input data and provide responses in the form of predictions and classifications. In this article, a multi-layer neural network was used to predict software inconsistent code, as well as a new feature selection method to increase prediction accuracy.
Keywords:
Language:
Persian
Published:
Journal of Electronic and Cyber Defense, Volume:11 Issue: 3, 2023
Pages:
67 to 76
magiran.com/p2691025
دانلود و مطالعه متن این مقاله با یکی از روشهای زیر امکان پذیر است:
اشتراک شخصی
با عضویت و پرداخت آنلاین حق اشتراک یکساله به مبلغ 1,390,000ريال میتوانید 70 عنوان مطلب دانلود کنید!
اشتراک سازمانی
به کتابخانه دانشگاه یا محل کار خود پیشنهاد کنید تا اشتراک سازمانی این پایگاه را برای دسترسی نامحدود همه کاربران به متن مطالب تهیه نمایند!
توجه!
- حق عضویت دریافتی صرف حمایت از نشریات عضو و نگهداری، تکمیل و توسعه مگیران میشود.
- پرداخت حق اشتراک و دانلود مقالات اجازه بازنشر آن در سایر رسانههای چاپی و دیجیتال را به کاربر نمیدهد.
In order to view content subscription is required
Personal subscription
Subscribe magiran.com for 70 € euros via PayPal and download 70 articles during a year.
Organization subscription
Please contact us to subscribe your university or library for unlimited access!