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

Publish Year: 1400
نوع سند: مقاله کنفرانسی
زبان: Persian
View: 225

This Paper With 21 Page And PDF Format Ready To Download

  • Certificate
  • من نویسنده این مقاله هستم

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

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

لینک ثابت به این Paper:

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

ICTI04_050

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

Abstract:

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

Authors

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

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

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

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