پدافند الکترونیکی و سایبری (Jan 2024)
تخمین میزان خطا خیزی ماژول ها با استفاده از یادگیری ماشین
Abstract
برای آگاهی از میزان کیفیت نرمافزار لازم است عاملهای مؤثر در کیفیت را اندازه بگیریم. میزان قابلیت اطمینان و تعداد خطا در نرمافزار از مهمترین عاملهای کمی هستند که کیفیت آنها را میسنجند. اگر بتوان این عاملها را در حین چرخة توسعة نرمافزار اندازهگیری کرد، میتوان فعالیتهای مؤثر و بهتری را در راستای بهبود کیفیت نرمافزار انجام داد. مشکل اینجا است که این دسته از عاملها در مراحل آخر توسعة نرمافزار در دسترس خواهند بود. برای حل این مشکل، این عاملها توسط معیارهایی اندازهگیری میشوند که در چرخة توسعة نرمافزار بهصورت زودهنگام در دسترس هستند. معیارهای اندازهگیری شده ورودیهای مدل پیشبینی خطا هستند و خروجی این مدل، ماژولهایی از نرمافزار هستند که احتمال بروز خطا در آنها وجود دارد. پیشبینی ماژولها مستعد خطا، رویکردی اثبات شده در جهت تخصیص بهموقع منابع پروژه، در مرحلة آزمون نرمافزار است. هنگامی که یک ماژول بهعنوان یک ماژول مستعد خطا پیشبینی میشود، تلاش بیشتری برای آزمون و تصحیح آن باید صرف شود. علاوهبرآن ماژول، تمامی ماژولها وابسته به آن نیز نیاز به رسیدگی ویژهای دارند. زمانی که یک ماژول تغییر میکند تمامی ماژولها وابسته به آن نیز ممکن است تحتتأثیر قرار بگیرند. مشکل در این است که معیارهای شناخته شدهای که در حوزهی پیشبینی خطا مورداستفاده قرار میگیرند، این وضعیت را در نظر نمیگیرند. برای حل این مشکل، در این مقاله معیارهای جدیدی بر اساس تغییرات در موارد وابستگی ارائه شده است. نتایج تجربی بهدستآمده نشان داد هرچه میزان تغییرات در ماژولها مورد وابستگی بیشتر باشد، احتمال خطا در ماژول وابسته بیشتر میشود. با ارزیابیهای صورتگرفته مشاهده شد معیار پیشنهادی قدرت پیشبینی نسبتاً بالایی دارد و بهکاربردن آن برای ساخت مدلهای پیشبینی خطا نیز افزایش قدرت پیشبینی را برای آنها در پی داشت.