|
|
انتخاب ویژگی با استفاده از ترکیب الگوریتمهای ژنتیک - وال - کلونی مورچگان، برای پیشبینی خطاهای نرمافزار مبتنی بر یادگیری ماشین
|
|
|
|
|
نویسنده
|
کریمی علی ,ایرجی مقدم محمدرضا ,بسطامی اسماعیل
|
منبع
|
پدافند الكترونيكي و سايبري - 1401 - دوره : 10 - شماره : 1 - صفحه:33 -45
|
چکیده
|
روشهای پیشبینی خطای نرمافزار برای پیشبینی ماژولهای مستعد خطا در مراحل اولیهی توسعهی نرمافزار استفاده میشود. امروزه فنون یادگیری ماشین پرکاربردترین فنون مورد استفاده در زمینهی پیشبینی خطاهای نرمافزار محسوب میشود. ابعاد بالای داده یکی از مشکلاتی است که عملکرد الگوریتمهای یادگیری ماشین را تحت تاثیر قرار میدهد. ابعاد بالای داده به معنای وجود ویژگیهای غیرمفید یا افزونه است که احتمالاً الگوریتم یادگیری را گمراه میکند و درنتیجه دقت آن را کاهش میدهد. دقت پایین پیشبینی خطای نرمافزار باعث شناسایی دیرهنگام بعضی ماژولهای خطادار میشود و در نتیجه تلاش و هزینهی برطرف کردن خطاها را به صورت غیرعادی بالا میبرد. بنابراین حل مشکل ابعاد بالای داده برای افزایش دقت پیشبینی خطای نرمافزار ضروری است. برای کاهش ابعاد داده، محققین از الگوریتمهای انتخاب ویژگی استفاده میکنند. الگوریتمهای انتخاب ویژگی به دو دستهی الگوریتمهای مبتنی بر فیلتر و الگوریتمهای مبتنی بر پوشش تقسیم میشود. الگوریتمهای مبتنی بر پوشش منجر به مدلهای پیشبینی با دقت بالاتری میشود. در این الگوریتمها میتوان از روشهای مختلفی برای جستوجوی راهحلها استفاده نمود که بهترین نوع آن جستوجوی فرا ابتکاری است. هرکدام از الگوریتمهای فراابتکاری نقاط قوت و ضعفی دارد که محققان برای برطرف کردن این نقاط ضعف از ترکیب این الگوریتمها استفاده میکنند. در این تحقیق برای بهبود نقاط ضعف هرکدام از الگوریتمهای فراابتکاری، از ترکیب سه الگوریتم ژنتیک، کلونی مورچگان و بهینهسازی وال برای انتخاب ویژگی مبتنی بر پوشش استفاده میشود. بدیهی است بهکارگیری روشهای پیشبینی زودهنگام خطاهای نرمافزار قبل از آزمون واقعی آن، یکی از فنون موثر پدافند غیرعامل در کاهش هزینههای توسعهی سامانههای نرمافزاری محسوب میشود. برای ارزیابی روش پیشنهادی، 19 پروژهی نرمافزاری مورد بررسی و آزمایش قرار گرفته و نتایج با دیگر روشها مقایسه شده است. نتایج ارزیابی نشان میدهد که روش پیشنهادی از عملکرد بهتری نسبت به سایر روشها برخوردار است.
|
کلیدواژه
|
پیشبینی خطای نرمافزار، انتخاب ویژگی، الگوریتم فرا ابتکاری، الگوریتم ژنتیک، الگوریتم بهینهسازی وال، الگوریتم کلونی مورچگان
|
آدرس
|
دانشگاه جامع امام حسین (ع), ایران, دانشگاه جامع امام حسین (ع), ایران, دانشگاه جامع امام حسین(ع), ایران
|
پست الکترونیکی
|
es.bastami@gmail.com
|
|
|
|
|
|
|
|
|
feature selection using a combination of geneticwhaleant colony algorithms for software fault prediction by machine learning
|
|
|
Authors
|
karimi ali ,irajimoghaddam mohammadreza ,bastami esmaeil
|
Abstract
|
software fault prediction methods are used to predict faultprone modules in the early stages of software development. machine learning techniques are the most common techniques used in software fault prediction. data dimensionality is one of the problems that affect the performance of machine learning algorithms. data dimensionality means the existence of irrelevant or redundant features that may mislead the learning algorithm hence decrease its accuracy. the low accuracy of software fault prediction causes the late detection of some faulty modules and as a result increases the effort and cost of fixing faults abnormally. therefore, solving the data dimensionality problem is necessary to increase the accuracy of software fault prediction. researchers use the feature selection algorithms for dimensionality reduction. feature selection algorithms are divided into two types of filterbased feature selection and wrapperbased feature selection algorithms. wrapperbased algorithms lead to higher accuracy prediction models. in these algorithms we can use different methods to search for the good solutions; the best of which, is the metaheuristic search. each of the metaheuristic algorithms has some strengths and weaknesses, so the researchers use a combination of these algorithms to address these weaknesses. in this research, to address the weaknesses of each metaheuristic algorithm, a combination of genetic, ant colony and whale optimization algorithms, is used as the wrapper feature selection. obviously, the application of early software fault prediction methods before the actual test is one of the effective passive defense techniques in reducing the software system development costs. 19 software projects are used to evaluate the proposed method. comparison of the results with other methods shows that the proposed method outperforms the counterparts.
|
|
|
|
|
|
|
|
|
|
|
|
|