بخشی از مقاله

چکیده

ک شف نقصهای موجود در ماژولهای نرمافزاری در مراحل اولیه تو سعه نرمافزار موجب افزایش کیفیت مح صول نهایی و مانع از شک ست پروژه می شود. از اینرو پیشبینی ماژولهایی که م ستعد نقص ه ستند یکی از موارد مهم پژوه شی در حوزه مهند سی نرمافزار میباشد. از آنجا که وجود نمونههای پرت در مجموعه داده آموزشی سبب کاهش کارایی مدل میگردد، باید رویکردی برای حذف آنها پیش از ساخت مدل در نظر گرفت.

در این مقاله به برر سی تاثیر وجود نمونه های پرت در مجموعه داده آموز شی پرداخته شده و سپس رویکردی ترکیبی مبتنی بر فاکتور مشاهده پذییِر نمونهها و ماشین بردار پشتیبان به ترتیب برایحذفِ نمونههای دور افتاده و پیش بینی ماژولهای نقصدار ارائه شده ا ست. نتایج بد ست آمده از انجام آزمایشهای مختلف بر ا ساس معیارهای دقت، نرخ مثبت کاذب، نرخ منفی کاذب و نرخ خطا حاکی از مؤثر بودن روش پیشنهادی در حذف نمونههای پرت و در نتیجه بهبود کارایی مدلهای تشخیص نقص در نرمافزار میباشد.

.1 مقدمه

تضمین کیفیت بالای پروژه نرمافزاری نیازمند صرف تلاش و فعالیت گستردهای در طول زمان میباشد. شناسایی قسمتهای بحرانی نرمافزارها برای تخصیص مناسب منابع به منظور شناسایی و حذف نقصها مهم بوده و ازآنجاییکه هزینه اصلاح نقصها در طول زمان افزایش می یابد، بنابراین شناسایی اینگونه نقصها در زودترین زمان ممکن امری مهم محسوب میشود. تشخیص نقص نرمافزار عبارت است از شناسایی به موقع ماژولهایی از نرمافزار که مستعد خطا بوده، یا به عبارتی احتمال رخداد خطا در آنها بالا میباشد.

[1]از این رو پیدا کردن مدلهای مطلوب برای پیشبینی نقص نرمافزار امروزه تبدیل به یکی از مهمترین اهداف انجمن مهند سین نرمافزار شده ا ست.[2] پیش بینی ماژولهای م ستعد خطا معمولا توسط یک فرد خبره انجام می شود که با تغییر مقیاس کار و پروژه میتواند موجب کاهش دقت فرد خبره شود.[3] اما استفاده از روشهای دادهکاوی به نحوه موثرتری میتواند موجب این ماژول ها را پیشبینی کند.[4]

یکی از نخستین پژوهشهای ارائه شده در حوزه پیشبینی نقص نرمافزار مبتنی بر تکنیکهای دادهکاوی توسط اِلیش و همکارانش انجام شده ا ست. آنها از یک مدل ما شین بردار پ شتیبان برای پیشبینی نقص در ماژولهای نرمافزاری ا ستفاده کردهاند. دقت این مدل بر روی مجموعه دادههای CM1 و PC1 به ترتیب %90/69 و %90/53 گزارش شده ا ست.[5] در [6] از یک د ستهبندی شبکه بیزین برای ت شخیص ماژولهای م ستعد نقص ا ستفاده شده ا ست. این مدل بر روی مجموعه داده KC1 مورد ارزیابی قرار گرفته که در نتیجه دقت این مدل در قیاس با سایر روشها بسیار پایین بوده است.

علاوه بر موارد فوق کارهای دیگری با استفاده از الگوریتم ژنتیک، شبکه عصبی، جنگل تصادفی درخت تصمی و الگوریتم پرندگان[26][27]، نایو بیز و نزدیک ترین همسایه[7][8]، نیز وجود دارد که دقت های قابل قبولی را بروی مجموع داده های نا سا ارئه کردهاند. پس از برر سی پژوهشهای انجام شده در این زمینه و مقای سه نتایج گزارش شده م شخص شد تاکنون مدلی که بتواند در شرایط مختلف و بر روی همهی مجموعه دادهها نتایج مناسبی به همراه داشته باشد، ارائه نگردیده است. به عبارتی دیگر با تغییر مجموعه دادهها، هر یک از مدلها با کاهش دقت مواجه میشوند.

چالش دیگری که مدلهای پیشبینی نقص نرمافزار با آن مواجه هستند، وجود دادههای پرت است. یک داده پرت، نمونهای ا ست که از رفتار نرمال مورد انتظار تبعیت نمیکند و به شکل مح سو سی ن سبت به سایر نمونهها انحراف دارد.[9] تشخیص و حذف دادههای پرت از این رو حائز اهمیت است که این دادهها در صورت حذف نشدن در تمامی مراحل پیادهسازی حضور داشته و باعث نتایج نادرست و غیر منطقی خواهند شد.[10][11]

تاکنون روش های مختلفی برای حذف داده های پرت ارا ئه شده است که از جم له آن ها میتوان، خوشه بندی[12][13][9]، نزدیک ترین k همسایه[15][16][14] را نام برد، اما این روشها به نرخ پرت بودن توجهی ندارند، که همین عدم توجه به نرخ پرت بودن در نتیجه نهایی الگوریتم تاثر منفی خواهد داشت.[10][18] در مرجع [10] روشی ارائه شده است که علاوه بر پرت بودن میزان پرت بودن داده را نیز نمایش می دهد که روش حذف داده های پرت مبتنی بر فاکتور مشاهده پذیری - - OF1 نام دارد.

در این پژوهش تلاش شده است تا با ارائه مدل ترکیبی حذف دادههای پرت مبتنی بر فاکتور مشاهدهپذیری و تشخیص نقص نرمافزار با ما شین بردار پ شتیبان، بتوان مدلی ارائه کرد که نقص صفحه را با دقت قابل قبولی برای مجموعه دادههای مختلف در نظر گرفت. روش پی شنهادی در این پژوهش برای حذف نمونههای پرت، نه تنها پرت بودن یا نبودن را ن شان می دهد، بلکه نرخ پرت بودن را با ا ستفاده از معیار جدیدی تحت عنوان فاکتور م شاهدهپذیری نیز ن شان میدهد و این کار موجب می شود نمونههایی که حاوی ارزش اطلاعاتی ه ستند از نمونههای پرت تفکیک شده و در نتیجه خروجی بهتری ن سبت به سایر روشهای حذف دادههای پرت به دنبال خواهد داشت.

در ادامه ساختار مقاله ب صورت زیر خواهد بود. در بخش دو این مقاله ما شین بردار پ شتیبان ارائه می شود. در بخش سه الگوریتم حذف دادههای پرت بررسی میشود. بخش پنجم که مهمترین بخش مقاله میباشد، مدل ترکیبی حذف دادههای پرت و تشخیص نقص نرمافزاری با دقت بالا معرفی و تشریح میگردد. بخش ششم بیانگر نتایج آزمایشات و بخش آخر به مراجع مورد استفاده در این پژوهش اختصاص دارد.

.2 ماشین بردار پشتیبان - ٍ - SVM

در این ق سمت ب صورت مخت صر در مورد ما شین بردار پ شتیبان صحبت می شود اما در مورد جزییات ریا ضی این روش بحث نخواهد شد. برای جزییات پیادهسازی ماشین بردار پشتیبان میتوانید به مراجع [23] [21][22] مراجعه نمایید.

نشان داده میشود - به صورت میانگین

ماشین بردار پشتیبان یکی از روشهای یادگیری با نظارت است که از آن برای دستهبندی و رگرسیون استفاده میشود.[19] در سالهای اخیر ما شین بردار پ شتیبان در ب سیاری از م سائل د ستهبندی در علوم مختلف بهطور موفقیتآمیزی بکار رفته ا ست. ماشین بردار پشتیبان قادر است که دادهها را به دو صورت خطی و غیر خطی دسته بندی کند. ویژگی های مهم ماشین بردار پشتیبان عبارتند از:[5] الف - قابلیت تعمیم بر روی داده هایی را دارد که تعداد نمونه های آن کم، ولی از نظر ویژگی جز مسائل بزرگ محسوب می شوند. ب - قادر به پیدا کردن نقطه بهینه سراسری است، زیرا مسائل به صورت quadratic برنامه ریزی شده ا ست. ج - قادر به ت شخیص و د سته بندی روابط تابعی غیر خطی ا ست. بر همین ا ساس ما شین بردار پ شتیبان گزینه منا سبی برای دسته بندی مسائل از جمله دسته بندی ماژولهای نرم افزاری است.

.3 روش حذف داده های پرت

مانطور که گفته شد روشهای مختلفی برای حذف نمونههای پرت توسط محققان ارائه شده است، اما مشکل اصلی این روشها این است که نرخ پرت بودن هر نمونه داده با استفاده از روشهای موجود امکان رتبه بندی تمام نمونه ها را بر اساس میزان پرت بودن به بهترین شکل فراهم نمیکند. برای رفع این م شکل در [17] رو شی بدیل برای ت شخیص نمونههای پرت مبتنی بر یک فرایند نمونه برداری ت صادفی ارائه شده است. روش ارائه شده بر پایه این فرض ا ستوار ا ست که نمونههایی که از مرکز دور هستند در نمونه برداری تصادفی نسبت به نمونههایی که در مرکز قرار دارند، با احتمال کمتری انتخاب میشوند.

در متن اصلی مقاله به هم ریختگی وجود ندارد. برای مطالعه بیشتر مقاله آن را خریداری کنید