رشته فناوری اطلاعات (IT)
پایان نامه پیش بینی خطای نرم افزار با داده کاوی با عنوان استفاده از داده کاوی در پیشبینی خطای نرمافزار بر اساس متریکهای کد و وابستگی می باشد.تضمین کیفیت نرمافزار همیشه دارای محدودیتهای زمان و هزینه بوده است. به منظور رسیدن به کیفیت بالا و کاهش محدودیتها، مدیران همواره سعی کردهاند تا بخشهای مستعد خطا را در نرمافزار پیشبینی نمایند و منابع مذکور را به صورت موثری به این بخشها اختصاص دهند. پیش از این، محققین روشهای خودکاری را برای کمک به مدیران در این امر مهم معرفی و از آنها استفاده کردهاند.
روشهای خودکار مذکور با استفاده از اندازه گیری معیارهای مختلف نرمافزار و یافتن ارتباط میان این معیارها و خطاهای نرمافزاری، همواره سعی در افزایش سرعت و دقت در پیشبینی خطا داشته اند. به نوعی میتوان این معیارها را در چهار دسته که عبارتند از معیارهای پیچیدگی، دادههای تاریخی، معیارهای طراحی و معیارهای وابستگی، قرار داد. اگرچه معیارهای استفاده شده، تا حدودی موثر هستند اما هنوز هیچکدام موفق به پیشبینی تمامی خطاهای موجود نشدهاند. در این رساله، ما با توسعه دادن مفهوم وابستگی در نرمافزار، به معرفی مفهوم جدیدی به نام درخت وابستگی میپردازیم. این مفهوم به ما کمک میکند تا با در نظر گرفتن تمامی وابستگیهای مستقیم و غیر مستقیم در بین اجزای نرمافزار، معیارهای جدیدی را استخراج نماییم که این معیارها میتوانند عملاً نتایج مطلوبتری را نسبت به معیارهای پیشین، در پیشبینی خطا ارائه دهند.
فهرست مطالب
1-مقدمه: 13
2- پیشینه پژوهشی: 16
2-1-معیارهای نرمافزار 16
2-2-معیارهای وابستگی: 17
2-3-معیارهای تاریخی: 18
2-4-بررسی فعالیتهای گذشته 19
2-4-1- بررسی فعالیتها در زمینه معیارهای کد : 19
2-4-2- بررسی فعالیتها در زمینه معیارهای تاریخی: 22
2-4-3- بررسی فعالیتها در زمینه معیارهای وابستگی: 25
3-درخت وابستگی: 30
4-فرضیات: 40
5-جمع آوری داده: 41
5-تحلیل و مقایسه: 55
6-نتیجه گیری: 91
7-مراجع: 92
فهرست تصاویر
شکل 1: نمونهای از وابستگیهای میان کلاسها 29
شکل 2: نمونهای از وابستگیهای پیچیده در میان کلاسها 30
شکل 3: تصویری از نمای کلی برنامه Class Dependency Analyzer 37
شکل 4: نمونهای از کلاس دیاگرام نمایش داده شده در برنامه Class Dependency Analyzer 37
شکل 5: نمایش تمامی کلاسهای وابسته به یک کلاس خاص در برنامه Class Dependency Analyzer 38
شکل 6: نمونهای از یک گراف جهت دار 39
شکل 7: ماتریس وابستگی مربوط به گراف جهت دار در شکل شماره 6 39
شکل 8: درخت وابستگی تشکیل شده از روی ماتریس وابستگی شکل 7 42
شکل 9: متغیر تصادفی، انحراف معیار σ حول محور μ 53
فهرست نمودارها
نمودار 1: ارتباط بین جفتگری و انسجام 28
نمودار 2: بررسی رفتار معیار دقت در هنگام افزایش وابستگی درجه 1 46
نمودار 3: بررسی رفتار معیار دقت در هنگام افزایش وابستگی درجه 2 46
نمودار 4: بررسی رفتار معیار دقت در هنگام افزایش وابستگی درجه 3 47
نمودار 5: مقایسه نتیجه «دقت» در دسته بندی سه نسخه اکلیپس 54
نمودار 6: مقایسه نتیجه «فراخوانی» در دسته بندی سه نسخه اکلیپس 55
نمودار 7: مقایسه نتیجه «صحت» در دسته بندی سه نسخه اکلیپس 56
نمودار 8: مقایسه نتیجه «معیار F» در دسته بندی سه نسخه اکلیپس 56
نمودار 9: مقایسه نتیجه «منحنی مشخصه عملکرد» در دسته بندی سه نسخه اکلیپس 57
نمودار 10: مقایسه نتیجه «کاپا» در دسته بندی سه نسخه اکلیپس 57
نمودار 11: مقایسه نتیجه «انحراف معیار» در دسته بندی سه نسخه اکلیپس 58
نمودار 12: مقایسه نتیجه «دقت» در دسته بندی آپاچی بر روی متریکهای کد و درخت وابستگی 59
نمودار 13: مقایسه نتیجه «فراخوانی» در دسته بندی آپاچی بر روی متریکهای کد و درخت وابستگی 60
نمودار 14: مقایسه نتیجه «صحت» در دسته بندی آپاچی بر روی متریکهای کد و درخت وابستگی 60
نمودار 15: مقایسه نتیجه «معیار F» در دسته بندی آپاچی بر روی متریکهای کد و درخت وابستگی 61
نمودار 16: مقایسه نتیجه «منحنی مشخصه عملکرد» در دسته بندی آپاچی بر روی متریکهای کد و درخت وابستگی 61
نمودار 17: مقایسه نتیجه «کاپا» در دسته بندی آپاچی بر روی متریکهای کد و درخت وابستگی 62
نمودار 18: مقایسه نتیجه «انحراف معیار» در دسته بندی آپاچی بر روی متریکهای کد و درخت وابستگی 62
نمودار 19: قیاس نتیجه «دقت» در دستهبندی بر روی کل دادهها 64
نمودار 20: قیاس نتیجه «فراخوانی» در دستهبندی بر روی کل دادهها 65
نمودار 21: قیاس نتیجه «صحت» در دستهبندی بر روی کل دادهها 66
نمودار 22: قیاس نتیجه «معیار F» در دستهبندی بر روی کل دادهها 66
نمودار 23: قیاس نتیجه «منحنی مشخصه عملکرد» در دستهبندی بر روی کل دادهها 67
نمودار 24: قیاس نتیجه «کاپا» در دستهبندی بر روی کل دادهها 67
نمودار 25: قیاس نتیجه «انحراف معیار» در دستهبندی بر روی کل دادهها 68