دانلود پایان نامه مهندسی فناوری اطلاعات: استفاده از داده کاوی در پیش‌بینی خطای نرم‌افزار بر اساس متریک‌های کد و وابستگی

دانشگاه شیراز

دانشکده آموزش های الکترونیکی

پایان‌نامه کارشناسی ارشد در رشته مهندسی فناوری اطلاعات (تجارت الکترونیک)

عنوان:

استفاده از داده کاوی در پیش‌بینی خطای نرم‌افزار بر اساس متریک‌های کد و وابستگی

استاد راهنما:

دکتر اشکان سامی

برای رعایت حریم خصوصی نام نگارنده درج نمی شود

تکه هایی از متن به عنوان نمونه :

فهرست مطالب:

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- مقدمه

یکی چالش بر انگیزترین موضوعات مطرح در تضمین کیفیت[1]، در شرکت‌های سازنده نرم افزار، موضوع رفع خطاهای نرم افزار است. خطاهای نرم افزاری می‌توانند در زمان پیش و یا پس از انتشار[2] نرم افزار تشخیص داده شوند. اما منابعی که می‌توان برای تشخیص و تصحیح خطاها در نظر گرفت محدود است (Kamyabi et al.).

خطاها را می‌توان به دو دسته کلی تقسیم کرد. خطاهای نحوی[3] و خطاهای مفهومی[4]. با توجه به‌این که ابزارهای خودکار بسیار قدرتمندی برای تشخیص خطاهای نحوی وجود دارند، احتمال‌این که خطایی ازاین دست تا زمان انتشار تشخیص داده نشود، بسیار کم است. خطاهای مفهومی به آن دسته از خطاها اشاره دارد که در اثر مشکلاتی جدای از اشتباهات نحوی و خطاهای انسانی ملموس اتفاق می‌افتند و معمولاً در اثر عدم هماهنگی در بخش‌های مختلف کد و گاهی به صورت بسیار ناملموس به وجود می‌آیند که در اینجا به سادگی نمی‌توان با بررسی کد، این‌گونه خطاها را تشخیص داد. بنا بر این در مورد خطاهای مفهومی داستان فرق می‌کند چرا که عوامل بسیار زیادی می‌توانند در بروزاین‌گونه از خطاها دخیل باشند. (Zimmermann & Nagappan, 2008) بنا براین همواره سعی شده است که با اندازه گیری معیارهای[5] مختلف و استفاده از آن‌ها در روش‌های پیش‌بینی خودکار خطا، سرعت و دقت را در امر تست نرم افزار افزایش دهند. طی تحقیقاتی که تا کنون صورت گرفته، متداول‌ترین معیارهای استفاده شده در پیش‌بینی اتوماتیک خطا، معیارهای پیچیدگی[6] است. (Zimmermann & Nagappan, 2008) اما جدیدترین روشی که مطرح شده است، مسأله مربوط به وابستگی‌های بین کلاس‌ها[7] و همچنین بین ماژول‌ها می‌باشد. انواع وابستگی‌ها می‌توانند بین دو کلاس و یا دو ماژول[8] مطرح شوند که تحقیقات نشان داده است که این وابستگی‌ها ارتباط بسیار زیادی با وجود خطاهای مفهومی دارند.

برای اجرای روشمند و علمی روند یافتن روابط و الگوهای مناسب برای پیش بینی خطا بر اساس معیارهای قابل اندازه گیری، از مفهومی به نام داده‌کاوی استفاده خواهیم کرد که در تشریح و بیان مسأله به آن خواهیم پرداخت.

دراین پایان نامه، سعی می‌کنیم که به بررسی چنین وابستگی‌هایی بپردازیم و بر اساس روابط موجود بین وابستگی و وجود خطا در نرم افزار، وجود خطا در کد را پیش بینی نماییم.

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

برای دانلود متن کامل پایان نامه اینجا کلیک کنید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *