Abstract
Background: The accurate prediction of where faults are likely to occur in code can help direct test effort, reduce costs, and improve the quality of software
Objective: We investigate how the context of models, the independent variables used, and the modeling techniques applied influence the performance of fault prediction models
Method: We used a systematic literature review to identify 208 fault prediction studies published from January 2000 to December 2010. We synthesize the quantitative and qualitative results of 36 studies which report sufficient contextual and methodological information according to the criteria we develop and apply
Results: The models that perform well tend to be based on simple modeling techniques such as Naive Bayes or Logistic Regression. Combinations of independent variables have been used by models that perform well. Feature selection has been applied to these combinations when models are performing particularly well
Conclusion: The methodology used to build models seems to be influential to predictive performance. Although there are a set of fault prediction studies in which confidence is possible, more studies are needed that use a reliable methodology and which report their context, methodology, and performance comprehensively
چکیده
بیشینه: پیش بینی صحیح محل اشکالاتی که در کدهای نرم افزاری رخ می دهند می تواند به تست مستقیم کدها، کاهش هزینه ها و بهبود کیفیت نرم افزار منجر شود.
هدف: قصد داریم به بررسی چگونگی استفاده از مدل های موضوعی، متغیرهای مستقل و تکنیک های مدلسازی بپردازیم و تأثیر کارائی را بر روی مدل های پیش بینی اشکال بررسی کنیم.
روش: به شکلی سامانمند به بررسی 208 مطالعه ای که در بین ژانویه 2000 میلادی تا دسامبر 2010 میلادی بر روی پیش بینی اشکال صورت گرفته است بپردازیم. در ادامه به ترکیب نتایج کمی و کیفی 36 مطالعه می پردازیم؛ در این نتایج، اطلاعات متدولوژیک و موضوعی کافی بر اساس معیارهایی که توسعه خواهیم داد ارائه شده است.
نتایج: مدل هایی که عملکرد خوبی دارند، بر مبنای تکنیک های مدلسازی ساده ای نظیر نایو بیز یا رگرسیون لجستیکی می باشد. در مدل هایی که عملکرد خوبی دارند، از متغیرهای مستقل به شکلی ترکیبی استفاده شده است. در زمانی که این مدل ها عملکرد خوبی دارند، از تکنیک انتخاب ویژگی بر روی این ترکیب ها استفاده کرده ایم.
نتیجه گیری: روشی که برای ساخت مدل ها بکار گرفته ایم می تواند متأثر از کارائی پیش گو قرار گیرد. اگرچه مطالعاتی وجود دارند که به پیش بینی اشکال پرداخته اند، ولی با این حال به مطالعات بیشتری برای استفاده از روش هایی قابل اطمینان نیاز بوده تا بتوانند متدولوژی و کارائی شان را به صورت جامع گزارش نمایند.
1-مقدمه
هدف از این بازبینی ادبی سامانمند (SLR) این بوده که به تشخیص و تحلیل مدل هایی بپردازیم که از این مدل ها برای پیش بینی اشکال در کد سورس مربوط به 208 مطالعه منتشر شده بین ژانویه 2000 و دسامبر 2010 میلادی بپردازیم. در تحلیل هایی که انجام داده ایم، بررسی کرده ایم که کارائی مدل به چه شکلی می تواند متأثر از موضوع و متنی قرار گیرد که مدل برای آن موضوع و متن توسعه یافته است و یا متأثر از متغیرهای مستقل استفاده شده در مدل و یا تکنیک استفاده شده برای ساخت مدل قرار گیرد...