PERBANDINGAN KEEFEKTIFAN TRANSFER LEARNING DAN DEEP TRANSFER LEARNING DALAM CROSS-COMPANY DEFECT PREDICTION
Nabila Fatia Kasmizar 11190910000098
Mengapa Software Defect Prediction?
Salah satu aspek penting dalam proses pengembangan perangkat lunak adalah nilai kegunaan dari perangkat lunak itu sendiri. Untuk menghasilkan perangkat lunak yang memiliki kualitas yang baik diperlukan cara untuk meminimalisir kecacatan pada perangkat lunak.
Prinsip dari prediksi cacat perangkat lunak pada dasarnya adalah dengan mempelajari sebuah model dari kumpulan data historis (training set) dan menerapkannya ke data uji (test set) untuk melakukan pengujian pada proyek yang sama (Within-Company defect prediction) (Yu, Jiang & Zhang, 2017)
Latar Belakang Cross Company Defect Prediction
Menurut penelitian yang dilakukan (Luo, Zeng, & Chen, 2012) Studi pada prediksi cacat perangkat lunak biasanya dilakukan dengan membangun model menggunakan data yang ada dalam perusahaan, tetapi sangat sedikit yang berfokus pada model prediksi yang dilatih dengan data lintas perusahaan (cross-company). Hal ini terjadi karena sulit untuk menerapkan model yang dibangun menggunakan data yang ada di dalam perusahaan yang baru berkembang, karena kurangnya repositori data lokal.
Latar Belakang Transfer Learning
Pada penelitian yang dilakukan (Luo, Zeng, & Chen, 2012), mereka mempertimbangkan skenario prediksi cacat lintas perusahaan dimana data sumber dan data target diambil dari perusahaan yang berbeda. Untuk memanfaatkan data lintas perusahaan, peneliti mencoba mengeksploitasi metode transfer learning untuk membangun model prediksi yang lebih cepat dan sangat efektif.
Transfer learning digunakan untuk membangun classifier pada target domain menggunakan data dari domain sumber terkait. Hal ini sangat berguna ketika distribusi contoh pelatihan dan pengujian berbeda.
Latar Belakang
Deep Transfer learning
DTL bekerja dengan cara mengirimkan informasi dari domain sumber ke domain target. Prinsipnya adalah dengan mengabaikan asumsi bahwa data pelatihan dan pengujian harus independen dan terdistribusi secara identik (Weiss et al. 2016). Hal ini dapat dibuktikan setelah mereka melakukan uji coba kepada model prediksi with-project defect prediction (WPDP) dan cross-project defect prediction (CPDP), dan menunjukan hasil bahwa pada model prediksi CPDP memiliki peningkatan dalam melakukan prediksi perangkat lunak dengan menggunakan metode DTL tersebut.
Masalah!
Sulitnya untuk menerapkan model yang dibangun menggunakan data lintas perusahaan, hal ini disebabkan karena kurangnya repositori data lokal.
1.
Dibutuhkannya metode pengembangan yang tepat untuk perancangan sebuah perangkat lunak agar dapat mengurangi jumlah kesalahan, mempersingkat waktu produksi, serta meminimalkan sumber daya yang digunakan.
2.
Rumusan Masalah
Apakah terdapat perbedaan yang signifikan dalam penggunaan algoritma Transfer Learning dan Deep Transfer Learning (DTL) untuk memprediksi cacat perangkat lunak menggunakan data historis lintas perusahaan?
Bagaimana memprediksi cacat perangkat lunak menggunakan data historis lintas perusahaan dengan Transfer Learning dan Deep Transfer Learning (DTL)?
Dari kedua algoritma tersebut manakah yang lebih efektif untuk memprediksi cacat perangkat lunak menggunakan data historis lintas perusahaan?
Hipotesis Penelitian
Algoritma Deep Transfer Learning lebih unggul dalam memprediksi cacat lunak menggunakan data historis lintas perusahaan dibandingkan algoritma Transfer Learning
Tujuan Penelitian
Mengetahui perbedaan performa yang dihasilkan dari penggunaan algoritma Transfer Learning dengan Deep Transfer Learning
Mengetahui bagaimana memprediksi cacat perangkat lunak menggunakan data historis lintas perusahaan dengan Transfer Learning dan Deep Transfer Learning (DTL)
Membandingkan keefektifan dari penggunaan algoritma Transfer Learning dengan Deep Transfer Learning
Manfaat Penelitian
Untuk memenuhi salah satu persyaratan dalam mendapatkan gelar sarjana komputer ( S.Kom ) pada Program Studi Teknik Informatika, Fakultas Sains dan Teknologi.
Bagi Penulis
Sebagai sarana untuk mengimplementasikan ilmu - ilmu yang telah didapatkan selama perkuliahan.
Manfaat Penelitian
Mengetahui sejauh mana kemampuan mahasiswa dalam menguasai dan mengimplementasikan ilmu yang telah diberikan selama perkuliahan.
Bagi Universitas
Menambahkan ke dalam salah satu koleksi penelitian yang telah dilakukan oleh mahasiswa prodi Teknik Informatika Fakultas Sains dan Teknologi.
Manfaat Penelitian
Pembaca dapat mengetahui mengenai prediksi cacat perangkat lunak menggunakan data lintas perusahaan dengan transfer learning dan deep transfer learning.
Bagi Pembaca
Memberikan informasi kepada para pembaca mengenai algoritma mana yang lebih unggul dalam memprediksi cacat perangkat lunak menggunakan data lintas perusahaan.
Batasan Masalah
Metode
Algoritma Transfer Learning untuk mengekstrak pengetahuan umum dari satu domain tugas lalu mentransfernya ke yang lain, untuk melatih model prediksi.
Deep transfer learning digunakan untuk mendeteksi cacat pada kode program yang sudah divisualisasikan dalam bentuk gambar.
Visualisasi perangkat lunak digunakan untuk memvisualisasikan struktur dan fitur kode, eksekusi kode, dan perubahan dari basis kode menjadi sebuah gambar.
Batasan Masalah
Tools
Bahasa pemrograman yang digunakan adalah Python.
Laptop yang digunakan dalam penelitian ini bersistem operasi Windows 11 (64 bit) dan RAM 8 GB.
Library yang digunakan pada penelitian ini adalah numpy, torch, os, random, dan time.
Batasan Masalah
01
02
03
04
Proses
Data pengujian yang digunakan dalam penelitian ini adalah dataset milik NASA MDP.
Pengimplementasian Algoritma Transfer Learning untuk memprediksi program yang memiliki cacat.
Pengimplementasian Algoritma deep transfer learning untuk menampilkan program yang memiliki cacat.
Memperoleh hasil prediksi cacat dalam bentuk gambar.
Metode Penelitian
Metode Pengumpulan Data
Metode pengumpulan data menggunakan teknik studi literatur. Hal ini dilakukan dengan membaca buku-buku serta jurnal yang berkaitan dengan topik penelitian. Sumber-sumber diambil dari berbagai media seperti jurnal, e-book, penelitian skripsi yang berkaitan dengan topik penelitian digunakan sebagai landasan teori dan referensi untuk penyelesaian masalah dari penelitian yang dilakukan.
Studi Literatur Sejenis
Metode Pengembangan Sistem
Perhitungan Performa
Performance Measure | Deskripsi |
Akurasi | Untuk menghitung jumlah module yang di prediksi dengan benar |
Precision | Untuk menghitung jumlah module yang diklasifikasikan sebagai defect |
Recall | Untuk menghitung jumlah module defect di prediksi dengan benar |
False Alarm | Untuk menghitung jumlah module non-defect yang di klasifikasikan sebagai defect |
Time Table
Kegiatan | Target |
Proposal | 11 Februari 2022 |
Seminar Proposal | 17 Februari 2022 |
KKN + SKRIPSI | Agustus 2022 |
Lulus Skripsi | November / Desember 2022 |
Calon Dosen Pembimbing
Rizal Broer Bahaweres, M.Kom
Nurul Faizah Rozy, MTI
Reference
Reference
Reference
Terimakasih
atas waktu dan kesempatannya
Nabila Fatia Kasmizar