تشخیص و مرتب سازی ریفکتورینگ های اعمال شده در برنامه های روبی با استفاده از الگوریتم ژنتیک

سال انتشار: 1400
نوع سند: مقاله کنفرانسی
زبان: فارسی
مشاهده: 278

فایل این مقاله در 21 صفحه با فرمت PDF قابل دریافت می باشد

این مقاله در بخشهای موضوعی زیر دسته بندی شده است:

استخراج به نرم افزارهای پژوهشی:

لینک ثابت به این مقاله:

شناسه ملی سند علمی:

ICTI04_050

تاریخ نمایه سازی: 20 مهر 1400

چکیده مقاله:

تشخیص تغییرات اعمال شده در سیستم های نرم افزاری و دسته بندی تغییرات شناسایی شده به عنوان ریفکتورینگ می تواند منجر به درک بهتر سیستم های نرم افزاری و روند تکامل آنها شود که این دانش خود به توسعه موثرتر سیستم های نرم افزاری کمک می نماید. علاوه بر تعیین ریفکتورینگ های اعمال شده در یک سیستم نرم افزاری، تعیین ترتیب زمانی ریفکتورینگ های اعمال شده نیز می تواند در درک بهتر چگونگی توسعه سیستم های نرم افزاری تاثیرگذار باشد.در این مقاله، یک الگوریتم ژنتیک برای شناسایی ریفکتورینگ های اعمال شده در سیستم های نرم افزاری و تعیین ترتیب زمانی اجرای ریفکتورینگ ها بر اساس وابستگی و تداخل بین آنها ارائه شده است. هرچند که الگوریتم پیشنهادی به هیچ زبان برنامه نویسی وابسته نمی باشد، اما ابزار پیاده سازی شده در این مقاله قادر به استخراج ریفکتورینگ ها در سیستم های نرم افزاری توسعه داده شده با زبان Ruby می باشد. در واقع ابزار ارائه شده اولین ابزار برای تشخیص و مرتب سازی ریفکتورینگ ها در برنامه های توسعه داده شده با زبان Ruby می باشد. یکی دیگر از نکات بارز الگوریتم پیشنهادی استفاده از الگوریتم ژنتیک جهت کاهش عدم وابستگی آن به آستانه شباهت جهت مشخص نمودن عناصر مشابه (کلاس ها، متدها و فیلدها) در دو نسخه سیستم نرم افزاری تحت بررسی است. امکان پذیری روش پیشنهادی با استفاده از ۴ برنامه نوشته شده به زبان Ruby مورد ارزیابی قرار گرفت و نتایج به دست آمده موفقیت ابزار پیاده سازی شده در بازیابی ریفکتورینگ های اعمال شده را نشان داد. در واقع، در حالیکه تمامی ریفکتورینگ های اعمال شده به درستی تشخیص داده شده بودند، الگوریتم تنها تعداد کمی ریفکتورینگ را به اشتباه تشخیص داده بود. نتایج به دست آمده همچنین توانایی روش ارائه شده در تعیین ترتیب اجرای ریفکتورینگ های شناسایی شده را نشان می دهد به گونه ای که تمامی ترتیب های اجرایی پیشنهاد شده توسط الگوریتم به درستی تشخیص داده شده بودند.

نویسندگان

فائزه زارع پور

دانش آموخته کارشناسی ارشد کامپیوتر، گروه کامپیوتر، دانشکده فنی و مهندسی، موسسه آموزش عالی علامه جعفری رفسنجان، رفسنجان، ایران

ایمان همتی مقدم

استادیار دانشگاه ولی عصر (عج) رفسنجان، گروه کامپیوتر، دانشکده فنی و مهندسی، دانشگاه ولی عصر (عج) رفسنجان، رفسنجان، ایران