Search In this Thesis
   Search In this Thesis  
العنوان
Software Refactoring Using Artificial Intelligence Techniques\
المؤلف
Othman,Rana Samy Menshawy
هيئة الاعداد
باحث / رنا سامي منشاوي عثمان علي عبود
مشرف / أشرف محمد محمد سالم
مشرف / أحمد حسن يوسف
مناقش / ريم محمد رضا بهجت
تاريخ النشر
2022.
عدد الصفحات
70p.:
اللغة
الإنجليزية
الدرجة
ماجستير
التخصص
الهندسة الكهربائية والالكترونية
تاريخ الإجازة
1/1/2022
مكان الإجازة
جامعة عين شمس - كلية الهندسة - قسم هندسة الحاسبات والنظم
الفهرس
Only 14 pages are availabe for public view

from 114

from 114

Abstract

Abstract--Code smells are indicators of code anomalies in poorly implemented or designed software programs. In addition to code fault-proneness and software defects, code smells may substantially hinder code maintainability in the future. The developer’s mission to read code, maintain it or add new features, which can become difficult. Automatic detection of design flaws assists developers in identifying code smells in their software programs to avoid low-quality delivery, which negatively affects software deliverable deadlines. Nevertheless, the interpretation of code smells is subjective. Artificial intelligence (AI)-based detection tools have recently attracted the attention of researchers and have succeeded in eliminating the dependency on the developers’ perception and experience and the need for their prior knowledge of code smell characteristics. However, the majority of existing tools, that are based on machine learning (ML) adopted approaches, are based on structural information and disregarded the importance of capturing code semantic features that reflect the complex semantic relationships in textual code. Fewer tools exploit deep learning (DL) based on the textual features approach. This paper proposes a detection system that exploits ML and DL techniques and compares them. The paper applies six DL techniques based on code semantics features extracted from software code abstract syntax trees (ASTs), and eleven different ML techniques based on code structural features. Furthermore, we propose a complementary refactoring tool that fixes the code smells detected in the detection stage, in order to form an end-to-end refactoring solution. The results showed that DL techniques are still comparable to ML techniques, the majority of ML classifiers, especially the Random Forest algorithm, achieve exceptional performance.