پیش بینی ماجولهای مستعد خطای[1] نرمافزار، یک فعالیت اقتصادی مهم محسوب میشود که توجه زیادی از محققان حوزه نرمافزار را به خود جلب کرده است. پیش بینی دقیق جایی که خطا اتفاق افتاده است، کمک زیادی به تیم تست میکند و همچنین هزینهها را کاهش میدهد و کیفیت نرمافزار را بهبود میبخشد. پیش بینی خطای نرمافزار[2]، باعث میشود فاز تست به طور کارآمد و موثر انجام شود و در نهایت منجر به بهبود کیفیت نرمافزار میشود. میتوان مساله پیش بینی خطای نرمافزار را به صورت یک مساله یادگیری ماشین فرموله کرد میتوان آن را به صورت یک مساله classification در نظر گرفت. که سعی در ساخت یک مدل classification باینری با استفاده از ویژگیهای مختلف نرمافزار دارد. در این مدل، هر ماجول را با یک بردار از ویژگیها توصیف میکنیم. در این مساله، ورودیها، بردارهای ویژگی ماجولها و برچسبها[3] دو برچسب مستعد خطا و عاری از خطا[4] است. از یک Classifier برای طبقهبندی ماجولها استفاده میکنیم.
برای ساخت مدل پیش بینی، چند بحث اساسی وجود دارد: اول اینکه از چه ویژگیهایی برای توصیف نرم افزار و ماجولهای آن استفاده کنیم، دوم اینکه از چه classifierی برای این کار استفاده کنیم. سوم اینکه، چه معیارهایی برای ارزیابی عملکرد مدل پیش بینی، باید در نظر گرفته شوند. در این مطالعه سعی شده است در مورد پیش بینی خطای نرمافزار و روشهای آن و همچنین چالشهایی که در این زمینه وجود دارد، بحث شود.
پیش بینی ماجولهای مستعد خطای نرم¬افزار با استفاده از روش های مبتنی بر جستجو (الگوریتم های متاهیورستیک) - فایل Word