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

    محمدامين شهيدي نشرودكلي

  • عنوان
    بازسازي خودكار كد منبع نرم‌افزار براي رفع ضدالگوهاي زبانشناختي
  • مقطع تحصيلي
    كارشناسي
  • رشته تحصيلي
    مهندسي كامپيوتر
  • سال فارغ التحصيلي
    1400
  • استاد راهنما
    مهرداد آشتياني
  • دانشجوي وارد كننده اطلاعات

    محمدامين شهيدي نشرودكلي

  • تاريخ ورود اطلاعات
    1400/12/08
  • دانشكده
    مهندسي كامئيوتر
  • عنوان به انگليسي
    Automatic Refactoring of Software Source Code to Eliminate Linguistic Antipatterns
  • چكيده
    معيارهاي فراواني براي سنجش كيفيت يك نرم‌افزار وجود دارد كه هركدام از جهتي به سنجش كيفيت نرم‌افزار مي‌پردازد. وجود يا عدم وجود ضدالگوها مي‌تواند معياري براي سنجش كيفيت كُد منبع يك نرم‌افزار باشد. ضدالگو پاسخي به يك مسئله‌ي پرتكرار است كه در نگاه اول راه‌حلي مناسب به نظر مي‌آيد اما مي‌تواند علاوه بر حل نكردن مسئله، مشكلات ديگري نيز ايجاد كند. برخي ضدالگوهاي شناخته‌شده با توجه به تأثيرشان بر روي كارايي ، اطمينان‌پذيري و ساير معيارهاي مرتبط مطالعه مي‌شوند. يكي از اين معيارها خوانايي كد منبع نرم‌افزار است. سازنده يا سازندگان يك برنامه لزوماً تنها كساني نيستند كه به توسعه آن مي‌پردازند، بدين جهت رعايت نكاتي كه فهميدن چگونگي كاركرد برنامه را براي توسعه‌دهندگان احتمالي ساده‌تر مي‌كند مفيد و گاهي ضروري است. اين پايان‌نامه به بررسي ضدالگوهاي مرتبط با نام‌گذاري توابع و ارائه‌ي راه‌حل براي رفع خودكار آن‌ها در كد منبع نرم‌افزار مي‌پردازد. به ضدالگوهايي كه مربوط به نام‌گذاري توابع، متغيرها و غيره در كد منبع نرم‌افزار و همچنين مستندات آن هستند ضدالگوهاي زبان‌شناختي گفته مي‌شود. در اين پايان‌نامه روشي شامل چهار مرحله براي تشخيص و رفع خودكار ضدالگوهاي زبان‌شناختي ارائه مي‌شود. ابتدا درخت نحو انتزاعي كد منبع استخراج مي‌شود. سپس آن گره‌هايي كه در تشخيص ضدالگوها كمك‌كننده‌‌ هستند شناسايي مي‌شوند. سپس توابعي كه در نام‌گذاري آن‌ها ضدالگوهاي زبان‌شناختي رخ داده‌اند شناسايي مي‌شوند و در مرحله‌ي آخر كد مربوط به آن توابع(يا در صورت لزوم، ساير قسمت‌هاي كد منبع) در جهت رفع ضدالگوها تغيير مي‌كند.
  • كليدواژه ها
    ضدالگو , ضدالگوي زبانشناختي , بازسازي كد , بازسازي خودكار كد , كد تمييز