| دانلود پایان نامه : استفاده از داده کاوی در پیشبینی خطای نرمافزار بر اساس متریکهای کد و وابستگی | ... | |
دکتر اشکان سامیدی 1390برای رعایت حریم خصوصی نام نگارنده پایان نامه درج نمی شود (در فایل دانلودی نام نویسنده موجود است) تکه هایی از متن پایان نامه به عنوان نمونه : (ممکن است هنگام انتقال از فایل اصلی به داخل سایت بعضی متون به هم بریزد یا بعضی نمادها و اشکال درج نشود ولی در فایل دانلودی همه چیز مرتب و کامل است) چکیده: تضمین کیفیت نرمافزار همیشه دارای محدودیتهای زمان و هزینه بوده است. به منظور رسیدن به کیفیت بالا و کاهش محدودیتها، مدیران همواره سعی کردهاند تا بخشهای مستعد خطا را در نرمافزار پیشبینی نمایند و منابع مذکور را به صورت موثری به این بخشها اختصاص دهند. پیش از این، محققین روشهای خودکاری را برای کمک به مدیران در این امر مهم معرفی و از آنها استفاده کردهاند. روشهای خودکار مذکور با استفاده از اندازه گیری معیارهای مختلف نرمافزار و یافتن ارتباط میان این معیارها و خطاهای نرمافزاری، همواره سعی در افزایش سرعت و دقت در پیشبینی خطا داشتهاند. به نوعی میتوان این معیارها را در چهار دسته که عبارتند از معیارهای پیچیدگی، دادههای تاریخی، معیارهای طراحی و معیارهای وابستگی، قرار داد. اگرچه معیارهای استفاده شده، تا حدودی موثر هستند اما هنوز هیچکدام موفق به پیشبینی تمامی خطاهای موجود نشدهاند. در این رساله، ما با توسعه دادن مفهوم وابستگی در نرمافزار، به معرفی مفهوم جدیدی به نام درخت وابستگی میپردازیم. این مفهوم به ما کمک میکند تا با در نظر گرفتن تمامی وابستگیهای مستقیم و غیر مستقیم در بین اجزای نرمافزار، معیارهای جدیدی را استخراج نماییم که این معیارها میتوانند عملاً نتایج مطلوبتری را نسبت به معیارهای پیشین، در پیشبینی خطا ارائه دهند. فهرست مطالب عنوان صفحه 1-مقدمه: 14 2- پیشینه پژوهشی: 16 2-1-معیارهای نرمافزار. 16 2-2-معیارهای وابستگی: 17 2-3-معیارهای تاریخی: 17 2-4-بررسی فعالیتهای گذشته. 18 2-4-1- بررسی فعالیتها در زمینه معیارهای کد : 18 2-4-2- بررسی فعالیتها در زمینه معیارهای تاریخی: 20 2-4-3- بررسی فعالیتها در زمینه معیارهای وابستگی: 22 3-درخت وابستگی: 26 4-فرضیات: 33 5-جمع آوری داده: 34 5-تحلیل و مقایسه: 44 6-نتیجه گیری: 76 7-مراجع: 77 فهرست تصاویر عنوان صفحه شکل 1: نمونهای از وابستگیهای میان کلاسها 29 شکل 2: نمونهای از وابستگیهای پیچیده در میان کلاسها 30 شکل 3: تصویری از نمای کلی برنامه Class Dependency Analyzer 37 شکل 4: نمونهای از کلاس دیاگرام نمایش داده شده در برنامه Class Dependency Analyzer 37 شکل 5: نمایش تمامی کلاسهای وابسته به یک کلاس خاص در برنامه Class Dependency Analyzer 38 1-مقدمه:یکی چالش بر انگیزترین موضوعات مطرح در تضمین کیفیت[1]، در شرکتهای سازنده نرم افزار، موضوع رفع خطاهای نرم افزار است. خطاهای نرم افزاری میتوانند در زمان پیش و یا پس از انتشار[2] نرم افزار تشخیص داده شوند. اما منابعی که میتوان برای تشخیص و تصحیح خطاها در نظر گرفت محدود است (Kamyabi et al.). خطاها را میتوان به دو دسته کلی تقسیم کرد. خطاهای نحوی[3] و خطاهای مفهومی[4]. با توجه بهاین که ابزارهای خودکار بسیار قدرتمندی برای تشخیص خطاهای نحوی وجود دارند، احتمالاین که خطایی ازاین دست تا زمان انتشار تشخیص داده نشود، بسیار کم است. خطاهای مفهومی به آن دسته از خطاها اشاره دارد که در اثر مشکلاتی جدای از اشتباهات نحوی و خطاهای انسانی ملموس اتفاق میافتند و معمولاً در اثر عدم هماهنگی در بخشهای مختلف کد و گاهی به صورت بسیار ناملموس به وجود میآیند که در اینجا به سادگی نمیتوان با بررسی کد، اینگونه خطاها را تشخیص داد. بنا بر این در مورد خطاهای مفهومی داستان فرق میکند چرا که عوامل بسیار زیادی میتوانند در بروزاینگونه از خطاها دخیل باشند. (Zimmermann & Nagappan, 2008) بنا براین همواره سعی شده است که با اندازه گیری معیارهای[5] مختلف و استفاده از آنها در روشهای پیشبینی خودکار خطا، سرعت و دقت را در امر تست نرم افزار افزایش دهند. طی تحقیقاتی که تا کنون صورت گرفته، متداولترین معیارهای استفاده شده در پیشبینی اتوماتیک خطا، معیارهای پیچیدگی[6] است. (Zimmermann & Nagappan, 2008) اما جدیدترین روشی که مطرح شده است، مسأله مربوط به وابستگیهای بین کلاسها[7] و همچنین بین ماژولها میباشد. انواع وابستگیها میتوانند بین دو کلاس و یا دو ماژول[8] مطرح شوند که تحقیقات نشان داده است که این وابستگیها ارتباط بسیار زیادی با وجود خطاهای مفهومی دارند.
[پنجشنبه 1398-06-28] [ 01:43:00 ق.ظ ]
لینک ثابت
|
||



