2 research outputs found

    SOFTWARE DEFECT PREDICTION MENGGUNAKAN ALGORITMA K-NN YANG DIOPTIMASI DENGAN PSO

    Get PDF
    Abstrak. Untuk menjamin kualitas dari perangkat lunak, kita perlu meminimalisir defect yang terjadi pada perangkat lunak. Salah satu bidang penelitian dalam penentuan kualitas perangkat lunak adalah Software defect prediction (SDP) untuk prediksi kemungkinan terjadinya defect pada perangkat lunak yang akan dikembangkan sehingga dapat membantu pengembang untuk mengetahui apakah pada perangkat lunak yang dikembangkan berpeluang terjadi defect atau tidak sekaligus menghemat biaya. Metode yang digunakan adalah metode klasifikasi menggunakan algoritma k-NN yang dioptimasi menggunakan algoritma PSO untuk mendapatkan nilai akurasi maksimum. Dari hasil penelitian didapatkan akurasi terendah pada dataset MC2 dengan hasil 71,05% dan tertinggi pada dataset PC2 dengan hasil 99,15%.Kata Kunci: Software defect Prediction, k-Nearest Neighbor, Particle Swarm Optimization  DOI : https://doi.org/10.33005/scan.v15i1.184

    Прогнозування дефектів програмного забезпечення ансамблем нейронних мереж

    Get PDF
    Defect prediction is one of the key challenges in software development and programming language research for improving software quality and reliability. The problem in this area is to properly identify the defective source code with high accuracy. This study describes the process of improving the accuracy of defect prediction in software modules and components using an ensemble of artificial neural networks. The combined data set obtained from the open PROMISE Software Engineering repository was used as the input data set. The data set contained 15,123 records, each of which consisted of 21 code metrics and a target binary variable that indicated defects in this software module or project. This study describes the use and implementation of the four most common neural networks, namely Multilayer Perceptron, neural network based on Radial-Basis Functions, Recurrent Neural Network and Long Short-Term Memory for software defect prediction using Python programming language and Keras open-source library. The performance of the models significantly depends on the value of hyperparameters, so the GridSearch function was used to determine the optimal parameters of the architecture of each neural network. The best prediction accuracy was achieved with recurrent neural networks and Long Short-Term Memory neural networks. The use of a previously static software reliability model developed by the authors, which reduces the set of features to the seven most important, allows increasing the accuracy of prediction by these methods to 89.97 % (for RNN) and 91.16 % (in the case of LSTM). The study describes the integration of developed neural networks into a stacked ensemble, which as a meta-model (supervisor) uses logistic regression to improve prediction results. The use of such an ensemble allowed increasing the accuracy of software defect prediction to 93.97 % in the case of using the seven most important code metrics as features, and up to 81.84 % in the case of using the whole set of features.Прогнозування дефектів програмного забезпечення, зокрема крос-проєктне, є актуальною і важливою науково-прикладною задачею, вирішення якої спрямоване на підвищення якості та надійності програмних продуктів та зменшення вартості їх розроблення та супроводу. Перспективним підходом до розв'язання такої задач може бути використання штучних нейронних мереж, зокрема глибинного навчання та їх ансамблів. Ансамблювання часто може покращити точність прогнозування моделей і розпаралелити результуючу модель, що підвищує швидкість обчислень. У цьому дослідженні побудовано архітектуру глибинних нейронних мереж, яка володіє вищими показниками точності прогнозування дефектів програмного забезпечення порівняно із традиційними моделями машинного навчання. У ролі якості наборів вхідних даних використовували комбінований набір, отриманий з репозиторію PROMISE Software Engineering, який містить дані про тестування програмних модулів п'яти програм (КС1, КС2, PC1, CM1, JM1) та двадцять одну метрику коду. Для реалізації нейронних мереж використано мову програмування Python і відкритої нейромережної бібліотеки Keras. Автоматизоване налаштування гіперпараметрів нейронних мереж реалізовано за допомогою функції GridSearchCV. Розроблено модель прогнозування надійності ПЗ на основі методів глибинного навчання і показано, що підвищення точності прогнозування дефектів ПЗ до 93,97 % можна досягнути у спосіб відповідного вибору множини ознак (метрик програмного коду) з наступним використанням стекового ансамблю нейронних мереж, до якого входять багатошаровий перцептрон (MLP), нейронна мережа на основі радіально-базисних функцій (RBFNN), рекурентна нейронна мережа (RNN) та довга короткотермінова пам'ять (LSTM), а як метамодель використовують логістичну регресію. Реалізація стекового ансамблю нейронних мереж дає змогу в подальшому створити програмний засіб, який зможе допомагати при ідентифікації програмних компонент із найбільшою ймовірністю появи дефектів
    corecore