• شماره ركورد
    27902
  • پديد آورنده

    احسان اسماعيلي

  • عنوان
    تشخيص خودكار بوي كد با هدف سنجش كيفيت نرم افزار
  • مقطع تحصيلي
    كارشناسي ارشد
  • رشته تحصيلي
    مهندسي كامپيوتر- نرم افزار
  • سال تحصيل
    1398
  • تاريخ دفاع
    1401/7/27
  • استاد راهنما
    دكتر سعيد پارسا
  • استاد مشاور
    __
  • دانشكده
    مهندسي كامپيوتر
  • چكيده
    تشخيص بوهاي كد و بررسي تأثير آن بر صفات كيفي نرم‌افزار از اهميت بالايي برخوردار است؛ چراكه باعث صرفه‌جويي قابل‌توجهي در زمان، منابع و هزينه‌هاي نگه‌داري از نرم‌افزار مي‌شود. بوهاي كد تعاريف انتزاعي و غيردقيقي دارند كه تشخيص آن¬ها را با تعريف قواعد دستي و حد آستانه‌هاي از پيش تعيين شده، دشوار مي‌كند. يادگيري ماشيني براي رفع چالش‌هاي تشخيص بوي كد و تأثير آن بر صفات كيفي راه حلي مناسب است؛ منوط به آنكه داده‌هاي كافي و باكيفيت فراهم باشد. روش‌هاي كنوني بر روي مجموعه‌داده‌هاي محدود و غيرقابل‌اعتماد بنا شده‌اند؛ لذا نادقيق، ناپايدار و غيرقابل‌تعميم هستند. همچنين، مطالعه تجربي جامعي در زمينه ارتباط بين بوهاي كد و صفات كيفي مانند پوشش‌پذيري و آزمون‌پذيري انجام نشده است. در اين پايان‌نامه يك روش سلسله‌مراتبي هوشمند براي شناسايي بوهاي كد و متعاقباً تعيين ميزان اثرگذاري آن¬ها بر صفات كيفي ارائه مي‌گردد. در گام نخست، راهبردهاي يادگيري ماشيني بانظارت و بدون نظارت، براي تشخيص بوهاي كد پيشنهاد مي‌شوند و براي افزايش دقت، يك مجموعه‌داده جديد تركيبي ارائه مي‌شود. سپس در گام دوم، يك مجموعه¬داده جديد صفات كيفي، متشكل پروژه¬هاي جاوا، ساخته مي¬شود. در نهايت، تأثير بوهاي كد بر روي هر صفت كيفي با ساخت و تفسير مدل‌هاي مختلف يادگيري ماشيني رو مجموعه‌داده پيشنهادي، محاسبه مي‌شود. ارزيابي‌ها نشان مي‌دهد مدل‌هاي مبتني بر راهبرد يادگيري بانظارت در همه موارد بهتر از مدل‌هاي بدون نظارت عمل مي‌كنند. مدل‌هاي پيشنهادي در مقايسه با ابزارهاي موجود، به طور ميانگين %40 دقت و يادآوري بالاتري دارند. ارزيابي مدل¬هاي پيش¬بيني كيفيت كد نشان مي¬دهد تركيب مدل‌هاي رگرسور بيشترين دقت پيش‌بيني صفات كيفي بر مبناي بوهاي كد را به‌دست مي‌دهد. تفسير اين مدل گواه اين است كه بوهاي كد رد ارث‌بري، داده كلاس بايد خصوصي باشد و چاقوي ارتش سوئيس مؤثر‌ترين بوهاي كد بر صفات كيفي هستند.
  • تاريخ ورود اطلاعات
    1401/11/26
  • عنوان به انگليسي
    Automatic detection of code smells to measure software quality
  • تاريخ بهره برداري
    10/19/2023 12:00:00 AM
  • دانشجوي وارد كننده اطلاعات

    احسان اسماعيلي

  • چكيده به لاتين
    Code smell detection and measuring its effect on software quality attributes; has great importance because it significantly saves time, resources, and software maintenance costs. Code smells have abstract and imprecise definitions that make it difficult to detect them by defining manual rules and predetermined thresholds. Machine learning is a suitable solution for solving the challenges of code smell detection and its effect on quality attributes; Subject to the availability of sufficient and high-quality data. Current methods are based on limited and unreliable datasets; Therefore, they are imprecise, unstable, and non-generalizable. Also, a comprehensive experimental study on the relationship between code smells and quality attributes such as coverageability and testability have not been done. In this thesis, a smart hierarchical method is presented for identifying code smells and subsequently determining their effect on quality attributes. In the first step, supervised and unsupervised machine learning strategies are proposed to detect code smells, and a new combined dataset is presented to increase accuracy. Then, in the second step, a new dataset of quality attributes, consisting of Java projects, is created. Finally, the effect of code smells on each quality attribute is calculated by building and interpreting different machine learning models on the proposed dataset. eva‎luations show that models based on supervised learning strategy perform better than unsupervised models in all cases. Compared to the existing tools, the proposed models have an average of 40% higher precision and recall. The eva‎luation of code quality prediction models shows that the voting model of regressor models gives the highest accuracy in predicting quality attributes based on code smells. Interpretation of this model proves that refused bequest, class data should be private, and Swiss army knife are the most effective code smells on quality attributes.
  • كليدواژه هاي فارسي
    بوي كد , كيفيت نرم افزار , سنجه هاي كد منبع , يادگيري ماشين , مجموعه داده
  • كليدواژه هاي لاتين
    code smell , software quality , source code metrics , machine learning , dataset
  • Author
    Ehsan Esmaili
  • SuperVisor
    Dr. Saeed Parsa