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