پایان نامه ارشد مهندسی فناوری اطلاعات: استفاده از داده کاوی در پیشبینی خطای نرمافزار بر … |
2- پیشینه پژوهشی:
تلاشهای گذشته با هدف پیشبینی خطا را در سه گروه مورد بررسی قرار میدهیم: معیارهای نرمافزار[9]، معیارهای وابستگی[10] و معیارهای تاریخی[11]. ابتدا به بیان توضیحی در مورد شیوه کار کردن این معیارها میپردازیم.
2-1- معیارهای نرمافزار:
معیارهای نرمافزار برای اندازهگیری درجه پیشرفته بودن یک محصول و یا یک فرآیند نرمافزاری به کار میروند. معیارهای نرمافزاری به چندین گروه تقسیم میشوند: معیارهای محصول[12]، معیارهای فرآیند[13]، معیارهای پروژه[14] و معیارهای منبع[15]. معیارهای نرمافزاری که در پیشبینی خطا به کار میروند معیارهای محصول میباشند که از مشخصات کد سیستم نرمافزاری استخراج میشوند. این معیارها به سه گروه تقسیم میشوند: معیارهای اندازه[16]، معیارهای پیچیدگی[17] و معیارهای کیفیت[18]. (Mills, 1988) معیارهای اندازه بر اساس تعداد خطوط کد برنامه محاسبه میشوند مانند تعداد کل خطوط برنامه[19]، تعداد خطوط توضیحات[20] و … معیارهای میزان نگهداشتپذیری[21] و قابلیت تست برنامه وابسته است از جمله معروفترین معیارهای پیچیدگی معیارهای پیچیدگی مک کیب[22] و معیارهای هالستد[23] میباشند. معیارهای مککیب پیچیدگی کد را بر اساس تعداد مسیرهای کنترلی محاسبه مینماید. (McCabe, 1976) هالستد معیارهای خود را بر اساس ارتباطات ریاضی بین اجزای کد، پیچیدگی کد و نوع زبان برنامه نویسی مطرح کرد. (Halstead M. H., 1975) معیارهای اتصال[24] و پیوستگی[25] از معروفترین معیارهای کیفیت میباشند که بالا و یا پایین بودن اندازه این دو معیار نشان دهنده کیفیت محصول و یا فرآیند نرمافزاری است. (Pressman, 1982) معیارهای کیفیت معیارهایی میباشند که درجه آنها میتواند تولیدکنندگان نرمافزار را در مورد توانایی دست کار کردن سیستمشان مطمئن سازد.
2-2- معیارهای وابستگی:
معیارهای وابستگی معیارهایی هستند که بر اساس ارتباط اجزای کد نرمافزار محاسبه میشوند. این ارتباط میتواند بین سطوح مختلف کد مطرح شود مانند سطح فایل، کلاس، تابع … نوع ارتباط و یا به عبارت دیگر وابستگی موجود بین اجزای کد نیز میتواند متفاوت باشد مانند وابستگی داده[26] که بر اساس تعریف و استفاده از داده میباشد و یا وابستگی صدا زدن[27] که بر اساس تعریف و صدا زدن مؤلفهها میباشد. (Zimmermann, 2008 & Nagappan )
2-3- معیارهای تاریخی:
این دسته از معیارهای بر اساس تغییراتی که در بین چندین انتشار[28] مختلف از یک سیستم نرمافزاری رخ میدهد تعریف میشوند. این تغییرات میتوانند اضافه شدن، حذف شدن، تغییر یافتن مؤلفههای جز مربوطه در بین چندین انتشار باشند. محدودیتی که در به کار بردن این معیارها وجود دارد این است که محاسبه این معیارهای تنها برای محصولات نرمافزاری مقدور میباشد که دارای چندین انتشار باشند و همچنین اطلاعات کامل در مورد انتشارات قبلی موجود باشد.
1 quality assurance
2 release
3 syntax errors
4 semantic defects
5 measures
6 complexity metrics
7 classes
8 module
software metrics[9]
dependency metrics[10]
historical metrics[11]
product metrics[12]
process metrics[13]
project metrics[14]
resource metrics[15]
size metrics[16]
فرم در حال بارگذاری ...
[چهارشنبه 1399-10-10] [ 06:49:00 ب.ظ ]
|