ارائه روشی برای پیش‌بینی خطای نرم‌افزار با ترکیب نظریه آشوب و الگوریتم تکاملی اسب وحشی

نوع مقاله : مقاله پژوهشی

نویسندگان

1 کارشناسی ارشد، دانشگاه جامع امام حسین، تهران ایران

2 استادیار، دانشگاه جامع امام حسین (ع)، تهران، ایران

3 کارشناسی ارشد ، دانشگاه جامع امام حسین(ع) ، ایران، تهران

چکیده

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

کلیدواژه‌ها

موضوعات


عنوان مقاله [English]

A method for software fault prediction with combination of chaos theory and herd horse optimization algorithm

نویسندگان [English]

  • MohammadReza Khosravi Farsani 1
  • Ali Karimi 2
  • saeed khodadadian 3
1 Master's degree, Imam Hossein University, Tehran, Iran
2 Assistant Professor, Imam Hossein (AS) University, Tehran, Iran
3 Master's degree, Imam Hossein University, Tehran, Iran
چکیده [English]

A software defect, error, or failure is an incorrect or unexpected behavior in a software product. It results in undesired outcomes and behaves in unintended ways. This is a flaw in a software product that leads to unexpected performance. Predicting software defects involves the process of tracking defective components in the software and before starting the testing phases. In fact, the occurrence of defects is inevitable, but we must minimize the number of defects. This leads to a reduction in development time and cost, reduction in rework efforts, increased customer satisfaction, and software reliability. In this research, a multi-stage process has been used to predict software errors, where the pre-processing operation was performed to improve the data in the first stage. After the improvement operation, feature extraction operations were used to extract influential features. In this research, the wild horse algorithm was used to extract features. Finally, the decision tree algorithm was used to predict software errors. The evaluation metrics in this research are classification metrics, including accuracy, precision, recall, and F-measure. In this research, the standard dataset described in the base article was used for predicting software errors. Finally, a comparison was made between the proposed method and the base article method. The results showed that the performance of the wild horse algorithm (in the proposed method) is superior to the whale algorithm (in the base article) for feature selection because the wild horse algorithm was able to traverse the problem space appropriately. Additionally, the proposed algorithm utilized the theory of chaos to create diversity in the solutions. Therefore, the performance of the wild horse algorithm is superior to the whale algorithm in terms of comparison.

کلیدواژه‌ها [English]

  • Software defect
  • Feature extraction
  • Wild horse algorithm
  • Classification
  • Chaos Theory
  • Decision tree algorithm

Smiley face