Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| mdd:metrics_validation [2016/12/26 07:12] – [Введение] mikhail.surin | mdd:metrics_validation [2026/08/29 07:59] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Исследование применимости метрик программного обеспечения для поиска ошибок. ====== | ||
| + | Оригинал: | ||
| + | 4 | ||
| + | |||
| + | ==== Введение ==== | ||
| + | |||
| + | При современных размере и сложности программных систем, | ||
| + | |||
| + | ==== Изученные метрики ==== | ||
| + | |||
| + | Исследованы метрики из набора CK и одна из метрик размера(SLOC). | ||
| + | |||
| + | - (CBO) - количество классов, | ||
| + | - (RFC) - суммарное количество методов класса и унаследованных методов | ||
| + | - (LCOM) - для каждого поля класса доля методов, | ||
| + | - (DIT) - максимальная глубина наследования | ||
| + | - (NOC) - количество непосредственных наследников в иерархии классов | ||
| + | - (SLOC) - количество строк кода. | ||
| + | |||
| + | ==== Методология исследований ==== | ||
| + | |||
| + | Исследование направлено на то, чтобы дать ответ на следующие вопросы: | ||
| + | |||
| + | - Какие из рассматриваемых метрик имеют отношение к FP? | ||
| + | - Какие методы использовались для валидации метрик и какие из них лучше? | ||
| + | - Насколько глубоко исследованы метрики? | ||
| + | - Насколько релевантны исследования? | ||
| + | - существуют ли универсальные метрики для нахождения ошибок? | ||
| + | |||
| + | Были рассмотрены результаты за период с января 1995 до декабря 2012. Также, каждая работа проверялась дважды, | ||
| + | |||
| + | ==== Результаты исследований ==== | ||
| + | |||
| + | '' | ||
| + | |||
| + | Работы [10], | ||
| + | Мера сцепления признана связанной с FP в 14 работах: | ||
| + | Меры наследования(DIT, | ||
| + | SLOC же по результатам исследований даже более сильно связана с наличием ошибок чем все рассмотренные OO-метрики, | ||
| + | |||
| + | '' | ||
| + | |||
| + | Во всех выбранных работах используются свои методы и почти все из них используют машинное обучение. | ||
| + | В 76% работ используется логистическая регрессия. Также, все исследователи подчеркивают, | ||
| + | |||
| + | '' | ||
| + | |||
| + | Исследование показало, | ||
| + | |||
| + | '' | ||
| + | |||
| + | Во всех работах было упомянуто что опытные данные критически важны для применения метрик при поиске ошибок. Также, часто упоминается что метрики влияют на сложность системы, | ||
| + | |||
| + | '' | ||
| + | |||
| + | В данном обзоре, | ||
| + | Ниже приведена диаграмма, | ||
| + | [[mdd: | ||
| + | |||
| + | Из приведенных данных очевидно, | ||
| + | |||
| + | ==== Заключение ==== | ||
| + | |||
| + | Главными результатами обзора являются следующие утверждения: | ||
| + | |||
| + | * SLOC, CBO, RFC, WMC сильно связаны с FP, они же рассматриваются в большинстве работ. | ||
| + | * Было рассмотрено 29 опытных исследований, | ||
| + | * В основном в подобных исследованиях изучаются приложения, | ||
| + | * В основном в качестве модели для предсказания ошибок используется логистическая регрессия. | ||
| + | * Почти все исследования связаны с не выпущенным продуктом, | ||
| + | * Практически, | ||
| + | |||
| + | На основе полученных результатов можно сформулировать следующие рекомендации | ||
| + | |||
| + | - Для предсказания FP имеет смысл использовать CK и SLOC. Более того, наиболее продуктивным является использование логистической регрессии | ||
| + | - Для обеспечения высокого качества программного обеспечения следует обращать внимание на вышеупомянутые метрики. | ||
| + | - Для оценки качества, | ||
| + | - Необходимо больше исследований для языков программирования отличных от C++ и Java. | ||
| + | - При внесении изменений в объектно-ориентированные системы, | ||
| + | |||
| + | Разработчики должны постоянно использовать метрики для оценки выявления узких мест в своих системах, | ||
| + | |||
| + | ==== Ссылки ==== | ||
| + | |||
| + | - Xu, J., Ho, D. and Capretz, L.F (2008): An Empirical Validation of Object-Oriented Design Metrics for Fault Prediction. Journal of Computer Science No.4, Vol 7, pp. 571-577. ISSN 1549-3636 | ||
| + | - Subramanyam, | ||
| + | - Zhou, Y., & Leung, H.(2006): Empirical analysis of object oriented design metrics for predicting high and low severity faults. IEEE Transactions on Software Engineering, | ||
| + | - Singh, Y. Kaur, A. and Malhotra, R.(2010): Empirical validation of object-oriented metrics for predicting FP models. Software Quality Journal, vol.18 pp. 3–35. | ||
| + | - Succi, G., Pedrycz, W., Stefanovic, M., Miller, J.(2003): Practical assessment of the models for identification of defect-prone classes in object-oriented commercial systems using design metrics. Journal of Systems and Software 65, pp. 1-12. | ||
| + | - Basili, V., Briand, L., & Melo, W.(1996): A validation of object oriented design metrics as quality indicators. IEEE Transactions on Software Engineering, | ||
| + | - Chidamber, S., Darcy, D., Kemerer, C.(1998): Managerial use of metrics for object oriented software: an exploratory analysis. IEEE Trans. Softw. Eng. Vol. 24, No. 8, pp. 629–639. | ||
| + | - Tang, M. H., Kao, M. H., & Chen, M. H. (1999): An empirical study on object-oriented metrics. In Proceedings of 6th IEEE International Symposium on Software Metrics. pp.242–249. | ||
| + | - Janes, A. et al.(2006): Identification of defect-prone classes in telecommunication software systems using design metrics. International Journal of Information Sciences. | ||
| + | - Emam, K.E., Melo, W.L., Machado, J.C.(2001): The prediction of faulty classes using object-oriented design metrics. Journal of Systems and Software No. 56, pp. 63-75. | ||
| + | - Malhotra, R., Kaur, A. and Singh, Y.(2010): Empirical validation of object-oriented metrics for predicting FP at different severity levels using support vector machines. International Journal System Assurrance Engineering Management. No.1, vol. 3, pp. 269–281. | ||
| + | - Shatnawi, R. and Li, W.(2008): The effectiveness of software metrics in identifying error-prone classes in post-release software evolution process. The Journal of Systems and Software no. 81, pp.1868–1882. | ||
| + | - Boehm, B., Basili, V.(2004): Software Defect Reduction Top 10 Lists. IEEE Computer 34(1), 135–137, 2001 | ||
| + | - Myers, G., Badgett, T., Thomas, T., Sandler, C.(2004): The Art of Software Testing, second ed. John Wiley& Sons, Inc., Hoboken, NJ. | ||
| + | - Kanmani et al (2007): Object-oriented software fault prediction using neural networks, Information and software technology 49, 483-492. | ||
| + | - Chidamber, S., Kemerer, C.F.(1994): A metrics suite for object oriented design. IEEE Trans. Softw. Eng. Vol. 20, No. 6, pp. 476–493. | ||
| + | - Yu, P., Systa, T., & Muller, H.(2002): Predicting FP using OO metrics: An industrial case study. In Proceedings of Sixth European Conference on Software Maintenance and Reengineering, | ||
| + | - Fenton, N., Neil, M.(1999): Software metrics: successes, failures, and new directions. Journal of Systems and Software vol. 47, pp. 149-157. | ||
| + | - Briand, L., Daly, J., Porter, V., & Wust, J.(1998): A comprehensive empirical validation of design measures for Object Oriented Systems. Proceeding METRICS '98 Proceedings of the 5th International Symposium on Software Metrics IEEE Computer Society, Washington, DC, USA. | ||
| + | - Fenton, N., Ohlsson, N.(2000): Quantitative analysis of faults and failures in a complex software system. IEEE Transactions on Software Engineering, | ||
| + | - Emam, K.E., Benlarbi, S., Goel, N., Rai, S.N.(2001): The Confounding Effect of Class Size on the Validity of Object-Oriented Metrics. IEEE Trans. Software Eng. 27, 630—650. International Journal of Computer Science & Engineering Survey (IJCSES) Vol.6, No.6, December 2015 17 | ||
| + | - Briand, L.C., Wüst, J., Daly, J.W., Porter, D.V.(2000): Exploring the relationships between design measures and software quality in object-oriented systems. Journal of Systems and Software No. 51, pp. 245—273. | ||
| + | - Olague, H.M., Etzkorn, L.H., Gholston, S., Quattlebaum, | ||
| + | - Aggarwal, K. K., Singh, Y., Kaur, A. and Malhotra, R. Empirical Analysis for Investigating the Effect of Object-Oriented Metrics on FP: A Replicated Case Study. Software Process Improvement and Practice, po.14, pp. 39–62, 2009 | ||
| + | - Gyimóthy, T., Ferenc, R., Siket, I.(2005): Empirical Validation of Object-Oriented Metrics on Open Source Software for Fault Prediction. IEEE Trans. Software Eng. No.31, pp.897—910. | ||
| + | - Kitchenham, B. and Charters, S.(2007): Guidelines for performing Systematic Literature Reviews in Software Engineering, | ||
| + | - Briand, L.C., J. Wust and H. Lounis.(2001): | ||
| + | - Olague, H.M., Etzkorn, L.H., Messimer, S.L. and Delugach, H.S.(2008): An empirical validation of object-oriented class complexity metrics and their ability to predict error-prone classes in highly iterative, or agile, software: a case study. Journal of Software Maintenance. No. 20, pp.171-197. | ||
| + | - Rathore, S.S. and Gupta, A.(2012) Validating the Effectiveness of Object-Oriented Metrics over Multiple Releases for Predicting FP. Proceedings of 19th Asia-Pacific Software Engineering Conference, IEEE. pp.350-355. | ||
| + | - English, M., Exton, C., Rigon, I. and Cleary, B.(2009): Fault Detection and Prediction in an OpenSource Software Project. In: 5th International Conference on Predictor Models in Software Engineering. | ||
| + | - Goel, B. and Singh, Y.(2008): Empirical Investigation of Metrics for Fault Prediction on ObjectOriented Software. Computer and Information Science, pp. 255-265. | ||
| + | - Shaik, A. et al.(2011): Investigate the Result of Object Oriented Design Software Metrics on FP in Object Oriented Systems: A Case Study. Journal of Emerging Trends in Computing and Information Sciences, Vol. 2 No.4, ISSN 2079-8407 | ||
| + | - Zhou, Y., Xu, B. and Leung, H.(2010): On the ability of complexity metrics to predict fault-prone classes in object-oriented systems. The Journal of Systems and Software No. 83, pp. 660–674. | ||
| + | - Al-Dallal, J. and Briand, L.C.(2010): An object-oriented high-level design-based class cohesion metric. Information & Software Technology No. 52, pp.1346-1361. | ||
| + | - Al-Dallal, J.(2011): Transitive-based object-oriented lack-of-cohesion metric. Procedia Computer Science, pp. 1581-1587. | ||
| + | - Pai, G.J., Dugan, J.B.(2007): Empirical Analysis of Software Fault Content and FP Using Bayesian Methods. IEEE Trans. Software Eng. No. 33, pp.675-686. | ||
| + | - Johari, K. and Kaur, A.(2012): | ||
| + | - Briand, L., Wuest, J., Ikonomovski, | ||
| + | - Creswell, J.W.(2013): Research Design: Qualitative, | ||
| + | - Saxena, P. and Saini, M.(2011): Empirical Studies to Predict Fault Proneness: A Review. International Journal of Computer Applications, | ||
| + | - Khan, Y. A., Elish, M.O. and El-Attar, M.(2012): A Systematic Review on the Impact of CK Metrics on the Functional Correctness of Object-Oriented Classes. Springer, pp. 258–273. | ||
| + | - Briand et al.(2002): | ||
| + | - Isong, B.E. and Ekabua, O.O. (2013) “A Systematic Review of the Empirical Validation of objectoriented Metrics towards Fault-proneness Prediction”. International Journal of Software Engineering and Knowledge Engineering (IJSEKE) WSPC. Vol. 23, No. 10. pp. 1513–1540 DOI: 10.1142/ | ||