Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| mdd:spd_data_imbalance [2016/12/22 19:54] – [Stability of Software Defect Prediction in Relation to Levels of Data Imbalance] fedorov | mdd:spd_data_imbalance [2026/08/29 07:59] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Stability of Software Defect Prediction in Relation to Levels of Data Imbalance ====== | ||
| + | Tihana Galinac Grbac and Goran Mausa, University of Rijeka | ||
| + | |||
| + | Bojana Dalbelo–Basic, | ||
| + | |||
| + | [[http:// | ||
| + | |||
| + | ===== Основная часть ===== | ||
| + | |||
| + | ==== Введение ==== | ||
| + | |||
| + | Прогнозирование дефектов программного обеспечения считается одним из самых действенных методов повышения эффективности разработки ПО. Основная идея этого подхода заключается в том, что предсказание областей сосредоточения дефектов в системе позволит выработать более эффективные методики их выявления — нанести точечный удар по болевым точкам вместо ковровой бомбардировки всей системы. | ||
| + | |||
| + | Этой проблеме было посвящено ряд исследовательских работ (например, | ||
| + | |||
| + | Для борьбы с несбалансированностью данных было предложено ряд решений, | ||
| + | |||
| + | === О сложности данных прогнозирования дефектов ПО === | ||
| + | |||
| + | Основная задача прогнозирования дефектов ПО — выявление модулей системы (компонент, | ||
| + | |||
| + | Как уже было упомянуто выше, измеряемые величины, | ||
| + | |||
| + | === Экспериментальный подход === | ||
| + | |||
| + | Цель подхода заключается изучении устойчивости оценочных метрик для прогнозирования дефектов ПО в зависимости от различных уровней несбалансированности данных. Помимо этого ставится цель выявления потенциальных источников отклонений с помощью варьирования одного параметра модели. Исследуемые параметры перечисляются позже. | ||
| + | |||
| + | Предлагается выполнить следующие шаги для достижения поставленных целей: | ||
| + | |||
| + | - Получение данных: | ||
| + | - Предварительная обработка: | ||
| + | |||
| + | - Удаление шума, сэмплирование. | ||
| + | - Подготовка к кросс-валидации: | ||
| + | - Отсев признаков. | ||
| + | - Обучение | ||
| + | |||
| + | - Построение модели. | ||
| + | - Оценка эффективности модели. | ||
| + | - Статистический анализ | ||
| + | |||
| + | - Вариационный анализ: | ||
| + | - Кросс-валидация. | ||
| + | |||
| + | ==== Несбалансированность данных ==== | ||
| + | |||
| + | Несбалансированность данных находится в центре внимания этой работы, | ||
| + | |||
| + | === Проблемы массива данных === | ||
| + | |||
| + | Практика показала, | ||
| + | |||
| + | === Оценочные метрики === | ||
| + | |||
| + | Одна из проблем машинного обучения при работе с несбалансированными массивами данных заключается в использовании неподходящих метрик оценивания. Обычно они выводятся из так называемой матрицы неточностей. В них используются счетчики правильных положительных (TP), правильных отрицательных (TN), ложноположительных (FP) и ложноотрицательных (FN) срабатываний. Самые распространённые метрики: | ||
| + | достоверность ACC = (TP+TN)/ | ||
| + | чувствительность TPR = TP/(TP+FN), | ||
| + | точность PR = TP/(TP+FP). | ||
| + | |||
| + | ==== Пример применения стратегии ==== | ||
| + | |||
| + | Для иллюстрации применения описываемого подхода и верификации стратегии и определения целей дальнейшей работы был рассмотрен следующий пример. | ||
| + | |||
| + | - Выгружен массив данных KC1 из репозитория NASA MDP. Количество признаков (независимых переменных) — 29. Зависимая переменная в этом массиве — количество дефектов в модуле. Выведение бинарной переменной Yi производилось введением порога (всего 10 различных — от 1 до 19 с шагом 2). | ||
| + | - - Известные проблемы, | ||
| + | - Для каждого из 10 наборов, | ||
| + | - Была применена прямая и обратная пошаговая выборка [Han and Kambar 2006]. Решение о включении/ | ||
| + | - - Использовалась мультивариативная бинарная логистическая регрессия. | ||
| + | - Вычисляются метрики ACC, TPR, AUC и PR. | ||
| + | |||
| + | ===== Заключение ===== | ||
| + | |||
| + | В статье рассмотрена задача повышения качества автоматического обнаружения дефектов в программном обеспечении на основе метрик статического анализа. Одна из основных проблем в этой задаче это несбалансированность данных. Авторы статьи исследуют зависимость устойчивости классификаторов склонности модулей к дефектам от степени несбалансированности данных. | ||
| + | |||
| + | ===== Список литературы ===== | ||
| + | |||
| + | - C. Andersson and P. Runeson. A replicated quantitative analysis of fault distributions in complex software systems. IEEE Trans. Softw. Eng., 33(5): | ||
| + | - A. Andrews and C. Stringfellow. Quantitative analysis of development defects to guide testing: A case study. Software Quality Control, 9: | ||
| + | - D. Banthia and A. Gupta. Investigating fault prediction capabilities of five prediction models for software quality. In Proceedings of the 27th Annual ACM Symposium on Applied Computing, SAC ’12, pages 1259–1261, | ||
| + | - V. R. Basili, L. C. Briand, and W. L. Melo. A validation of object-oriented design metrics as quality indicators. IEEE Trans. Software Engineering, | ||
| + | - G. E. A. P. A. Batista, R. C. Prati, and M.C. Monard. A study of the behavior of several methods for balancing machine learning training data. SIGKDD Explor. Newsl., 6(1): | ||
| + | - L. C. Briand, J. W. Daly, V. Porter, and J. Wust. A comprehensive empirical validation of product measures for object-oriented systems, 1998. | ||
| + | - L. C. Briand, J. Wust, J. W. Daly, and D. V. Porter. Exploring the relationship between design measures and software quality in object-oriented systems. J. Syst. Softw., 51: | ||
| + | - A. Brooks. Meta Analysis–A Silver Bullet for Meta-Analysts. Empirical Softw. Engg., 2(4): | ||
| + | - T. Fawcett. An introduction to ROC analysis. Pattern Recogn. Lett., 27(8): | ||
| + | - N. E. Fenton and N. Ohlsson. Quantitative analysis of faults and failures in a complex software system. IEEE Trans. Softw. Eng., 26(8): | ||
| + | - K. Gao and T. M. Khoshgoftaar. Software defect prediction for high-dimensional and class-imbalanced data. In SEKE, pages 89–94. Knowledge Systems Institute Graduate School, 2011. | ||
| + | - E. Giger, M. Pinzger, and H. C. Gall. Comparing fine-grained source code changes and code churn for bug prediction. In Proceedings of the 8th Working Conference on Mining Software Repositories, | ||
| + | - D. Gray, D. Bowes, N. Davey, Y. Sun, and B. Christianson. The misuse of the nasa metrics data program data sets for automated software defect prediction. Processing, pages 96–103, 2011. | ||
| + | - D. Gray, D. Bowes, N. Davey, Y. Sun and B. Christianson. Reflections on the NASA MDP data sets. IET Software, pages 549, 5583, 2012. | ||
| + | - T. Galinac Grbac, P. Runeson, and D. Huljenic. A second replicated quantitative analysis of fault distributions in complex software systems. IEEE Transactions on Software Engineering, | ||
| + | - T. Hall, S. Beecham, D. Bowes, D. Gray, and S. Counsell. A systematic literature review on fault prediction performance in software engineering. Software Engineering, | ||
| + | - J. Han and M. Kamber. Data mining: concepts and techniques. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 2006. | ||
| + | - T. Hastie, R. Tibshirani, and J. Friedman. The elements of statistical learning: data mining, inference and prediction. Springer, 2 edition, 2009. | ||
| + | - H. He and E. A. Garcia. Learning from Imbalanced Data. IEEE Trans. Knowledge and Data Engineering, | ||
| + | - J. Hulse, T. Khoshgoftaar, | ||
| + | - Y. Jiang, B. Cukic, and Y. Ma. Techniques for evaluating fault prediction models. Empirical Softw. Engg., 13: | ||
| + | - Y. Kamei, A. Monden, S. Matsumoto, T. Kakimoto, K. Matsumoto. The Effects of Over and Under Sampling on Fault-prone Module Detection. In in Proc. ESEM 2007, First International Symposium on Empirical Software Engineering and Measurement, | ||
| + | - I. Kaur and A. Kaur. Empirical study of software quality estimation. In Proceedings of the Second International Conference on Computational Science, Engineering and Information Technology, CCSEIT ’12, pages 694–700, New York, NY, USA, 2012. ACM. | ||
| + | - T. M. Khoshgoftaar, | ||
| + | - In Proceedings of the 1996 International Conference on Software Maintenance, | ||
| + | - T. M. Khoshgoftaar and N. Seliya. Comparative assessment of software quality classification techniques: An empirical case study. Empirical Softw. Engg., 9(3): | ||
| + | - T. M. Khoshgoftaar, | ||
| + | - T. M. Khoshgoftaar, | ||
| + | - H. Liu, L. Yu. Toward Integrating Feature Selection Algorithms for Classification and Clustering. IEEE Trans. on Knowl. And Data Eng., 17(4): | ||
| + | - S. Lessmann, B. Baesens, C. Mues, and S. Pietsch. Benchmarking classification models for software defect prediction: a proposed framework and novel findings. IEEE Transactions on Software Engineering, | ||
| + | - G. Mausa, T. Galinac Grbac, and B. Basic. Multivariate logistic regression prediction of fault-proneness in software modules. In MIPRO, 2012 Proceedings of the 35th International Convention, pages 698–703, 2012. | ||
| + | - T.J. McCabe. 1976. A complexity measure. IEEE Transactions on Software Engineering, | ||
| + | - N. Ohlsson, M. Zhao, and M. Helander. Application of multivariate analysis for software fault prediction. Software Quality Control, 7:51–66, May 1998. | ||
| + | - F. Provost. Machine Learning from Imbalanced Data Sets 101. In Proc. Learning from Imbalanced Data Sets: Papers from the Am. Assoc. for Artificial Intelligence Workshop, Technical Report WS-00-05, 2000. | ||
| + | - S. J. Raudys, A. K. Jain. Small Sample Size Effects in Statistical Pattern Recognition: | ||
| + | - P. Runeson, M. C. Ohlsson, and C. Wohlin. A classification scheme for studies on fault-prone components. In Proceedings of the Third International Conference on Product Focused Software Process Improvement, | ||
| + | - M. Shepperd and G. Kadoda. Comparing software prediction techniques using simulation. IEEE Trans. Softw. Eng., 27(11): | ||
| + | - M. Shepperd, Q. Song, Z. Sun, C. Mair Data Quality: Some Comments on the NASA Software Defect Data Sets. IEEE Trans. Softw. Eng., [[http:// | ||
| + | - T. Galinac Grbac, G. Mauˇsa and B. Dalbelo–Baˇsi ́c H. Wang, T. M. Khoshgoftaar, | ||
| + | - S. Wang and X. Yao. Using Class Imbalance Learning for Software Defect Prediction. IEEE Transactions on Reliability, | ||
| + | - G.M. Weiss. Mining with rarity: a unifying framework. In SIGKDD Explor. Newsl., 6(1): | ||
| + | - T. Zimmermann and N. Nagappan. Predicting defects using network analysis on dependency graphs. In Proceedings of the 30th international conference on Software engineering, | ||