ارائه یک روش فازی-تکاملی برای تشخیص خطاهای نرم افزار

تشخیص خطاهای نرم افزار, یکی از بزرگ ترین چالش های توسعه نرم افزاراست و بیش ترین بودجه را در فرآیند توسعه نرم افزار به خود اختصاص می دهد. با توجه به اهمیت تشخیص خطاهای نرم افزار, در این مقاله روشی بر مبنای مجموعه های فازی و الگوریتم های تکاملی ارائه می شود. از آن جا که ماهیت مجموعه داده های تشخیص خطای نرم افزار نامتوازن است, از مزایای الگوریتم های خوشه بندی فازی به منظور نمونه برداری از داده ها و توجه بیشتر به طبقه اقلیت استفاده شده است. روش پیشنهادی در واقع یک الگوریتم ترکیبی است که در ابتدا از روش خوشه بندی c میانگین فازی به منظور نمونه برداری بوت استراپ وزن دار استفاده می شود. وزن داده ها همان درجه عضویت آنهاست و درجه عضویت داده های طبقه اقلیت افزایش می یابد. در گام بعدی, از الگوریتم خوشه بندی کاهشی برای ایجاد طبقه بند استفاده می شود که توسط داده های تولید شده در مرحله قبل آموزش می بیند؛ همچنین از الگوریتم ژنتیک دودویی برای انتخاب ویژگی های مناسب استفاده می شود. نتایج به دست آمده و هم چنین مقایسه آنها با چندین روش معروف در این زمینه, کارایی مناسب روش پیشنهادی را نشان می دهد. برای انجام آزمایش ها از ده پایگاه داده معروف با گستره وسیعی از اندازه و نرخ عدم توازن, استفاده شده است و برای تأیید نتایج از آزمون آماری تی بهره برده ایم.