پدافند الکترونیکی و سایبری (Jun 2024)

بهبود دقت شناسایی بوی کد با استفاده از الگوریتم گرگ خاکستری مبتنی‌ بر فنون یادگیری ‌‌ماشین و رای‌گیری اکثریت

  • علی کریمی,
  • محمدرضا خسروی فارسانی

Journal volume & issue
Vol. 12, no. 1
pp. 109 – 122

Abstract

Read online

بوی کد یک نشانه سطحی است که احتمالاً نشان‌دهنده یک مشکل عمیق‌تر در برنامه است. بوی ‌کد نگهداری، توسعه و تکامل برنامه را با مشکل مواجه می‌کند. وجود بوی کد قطعاً به معنی عدم کارکرد درست نرم‌افزار نیست، اما این موضوع ممکن است باعث کندی‌ پردازش، افزایش خطر خرابی و خطاهای نرم‌افزار شود. بدیهی است که یکی از روش‌های مؤثر در افزایش کیفیت نرم‌افزار، بازسازی و بازآرایی کد است که رابطه مستقیمی با بوی کد دارد. تاکنون تحقیقات زیادی در حوزه شناسایی و برطرف کردن بوهای کد سامانه‌های نرم‌افزاری انجام گرفته است. لیکن، از میان آنها چهار نوع بوی کد شامل؛ متد طولانی، خصیصه حسادت، کلاس خدا و کلاس داده بیشترین توجه محققین را به خود جلب کرده است. محققین برای افزایش دقت پیش‌بینی بوهای کد و کاهش ابعاد داده، از الگوریتم‌های انتخاب ویژگی استفاده می‌کنند. در این مقاله، جهت تعیین زیر‌مجموعه منتخب از ویژگی‌های بهینه، از الگوریتم گرگ خاکستری استفاده شده است. انتخاب ویژگی، باعث سادگی مدل، بهبود دقت و نیز موجب کاهش زمان آموزش آن می‌گردد. همچنین به‌منظور شناسایی و طبقه‌بندی بوهای کد، مدل شناسایی براساس سه الگوریتم یادگیری ماشین تحت عنوان؛ نزدیک‌ترین همسایه، درخت‌ تصمیم و ماشین ‌بردار ‌پشتیبان ساخته می‌شود. درنهایت، نتیجه نهایی حاصل از خروجی مدل، برمبنای سازوکار رای‌گیری اکثریت تعیین می‌گردد. در این مقاله، جهت ارزیابی روش پیشنهادی از نسخه‌ی بهبود یافته‌ی مجموعه ‌داده فونتانا استفاده شده ‌است. همچنین، جهت ارزیابی نتایج روش پیشنهادی از معیارهای آماری شامل دقت، صحت، فراخوان و معیار F استفاده شده است. در نهایت، نتایج روش پیشنهادی با نتایج دیگر روش‌های مرتبط، مورد مقایسه قرار گرفته است. نتایج بدست آمده از آزمون‌ها، نشان می‌دهد که‌ روش پیشنهادی عملکرد قابل قبولی نسبت به سایر روش‌ها ارایه کرده است.

Keywords