В статье дается краткое описание некоторых методов машинного обучения, таких как искусственные нейронные сети, машины опорных векторов, деревья решений, индуктивное логическое программирование, CBR и других, приводятся примеры применения этих методов для решения проблем прогнозирования и оценки качества в программной инженерии, даются общие рекомендации по применению алгоритмов машинного обучения к задачам программной инженерии. Обзор будет полезен исследователям и практикам в качестве отправной точки, поскольку он обеспечивает важные будущие направления исследований. Это в конечном итоге приведет к более эффективному принятию решений в программной инженерии, тем самым обеспечивая лучшие, более надежные и экономически эффективные программные продукты.
У статті подано короткий опис методів машинного навчання, таких як штучні нейронні мережі, машини опорних векторів, дерева рішень, індуктивне логічне програмування та інші. Також наводяться приклади застосування цих методів для вирішення деяких проблем прогнозування та оцінки якості в програмній інженерії, даються рекомендації для застосування алгоритмів машинного навчання до розв’язання задач програмної інженерії. Огляд буде корисний дослідникам і практикам в якості стартової точки, оскільки він окреслює важливі та перспективні напрямки досліджень. Це зрештою призведе до ефективнішого вирішення проблем програмної інженерії, забезпечуючи кращі, надійніші та економічно вигідніші програмні продукти.
The article presents a brief description of machine learning methods such as artificial neural networks, support vector machine, decision trees, inductive logic programming and others. Also, examples of the application of these methods to solve some problems of forecasting and quality assessment in software engineering are presented, recommendations for applying machine learning algorithms to solving problems of software engineering are given. The review will be useful by researchers and practitioners as a starting point, because it identifies important and promising areas of research. This will ultimately lead to more effective solving of software engineering problems, providing better, more reliable and cost effective software products.