یادگیری انتقالی با روش تلفیقی از انتقال نمونه و نمایش ویژگی برای پیش‌بینی نقص بین‌پروژه‌ای نرم‌افزار

نویسندگان

دانشگاه یزد - پردیس فنی و مهندسی - گروه مهندسی کامپیوتر

چکیده

پیش‌بینی نقص نرم‌افزار، نقش مهمی در بهبود کیفیت نرم‌افزار دارد. به‌طوری‌که منابع محدود آزمون نرم‌افزار، به‌جای کل ماژول‌های نرم‌افزار به ماژول‌های مستعد نقص اختصاص داده می‌شوند. در پیش‌بینی نقص درون‌پروژه‌ای، برای ساخت مدل پیش‌بینی، داده‌های برچسب‌دار محلی استفاده می‌شود. ولی ساخت این مدل در مورد پروژه‌هایی که فاقد داده‌های برچسب‌دار محلی هستند، تقریباً غیرممکن است. لذا، پیش‌بینی نقص بین‌پروژه‌ای مطرح می‌شود، که برای ساخت و آموزش مدل، از داده‌های سایر پروژه‌ها استفاده می‌کند. در این حوزه، توزیع داده‌ای بخش‌های آموزش و آزمون متفاوت است. ازاین‌رو، پژوهش‌های انجام‌شده روی کاهش اثر منفی تفاوت توزیع بخش‌های آموزش و آزمون تمرکز دارند. در این پژوهش، روش بازه تخمین دانش پیشنهاد شده است. در این روش نمونه‌هایی از بخش آموزش که از نظر توزیع داده‌ای، مشابه نمونه‌های بخش آزمون هستند، انتخاب می‌شود. سپس، نمونه‌های منتخب به مدل آموزشی داده می‌شود. برای افزایش اثربخشی، قبل از اعمال روش بازه تخمین دانش، تکنیک استخراج ویژگی روی بخش‌های آموزش و آزمون اعمال می‌شود. نتایج حاصل از ارزیابی روش پیشنهادی روی 10 مجموعه داده از دادگان ناسا و SoftLab با معیار AUC بیانگر اثربخشی این روش در پیش‌بینی ماژول‌های مستعد نقص است. روش پیشنهادی به‌طور میانگین 38.1 درصد نسبت به پیش‌بینی نقص درون‌پروژه‌ای افزایش دقت دارد.

کلیدواژه‌ها


عنوان مقاله [English]

Compilation Instance Transfer and Feature-representation Transfer for Cross Project Defect Prediction

نویسندگان [English]

  • S. Sharifatzadeh
  • M. A. Z. Chahooki
Engineering Faculty, Computer Engineering Group, Yazd University, Yazd, Iran
چکیده [English]

Software defect prediction is critical for software quality improvement. So that, limited resources for software testing is allocated only to fault-prone instead of all software modules. In project defect prediction, to build a prediction model, usually local labeled dataset are used. But, building the predicting model for projects without local labeled data is almost impossible. Thus, cross project defect perdition is proposed for training the prediction model with data from other projects. In cross project defect perdition, training data and test data distribution are different. Therefore, researches in this area have focused for reduction the negative impact of different distribution between training and test data. In this research, the Knowledge Estimation Interval (KEI) method is proposed. In this method, instances of training data by similar distribution with test set are selected. Then, selected instances are given as training to the prediction model. To increase the effectiveness of the proposed approach, feature extraction techniques are applied on training and test set before KEI. The evaluation results of the proposed approach on 10 datasets from NASA and SoftLab with AUC indicate the effectiveness of this approach to predict the fault-prone modules. The proposed method has increased an average value of 38.1% in the accuracy compared to within project defect prediction models.

کلیدواژه‌ها [English]

  • Software defect prediction
  • cross project defect prediction
  • machine learning
  • Transfer learning