TESIS
IDENTIFIKASI ATRIBUT TINGKAT LEBIH TINGGI UNTUK PREDIKSI UMUR BUG
Suluh Sri Wahyuningsih 5108201011 Pembimbing : Daniel Oranova Siahaan S.Kom, M.Sc, PD.Eng Sarwosri, S.Kom.,M.T.
Latar Belakang Penelitian Informasi yang disimpan dalam sistem pelacak bug ini dapat digunakan untuk menyelidiki fenomena yang berbeda, seperti mengidentifikasi atribut tingkat yang lebih tinggi untuk prediksi umur bug. Sebab manajemen proyek perlu memperkirakan dengan baik waktu yang dibutuhkan untuk menangani suatu bug agar dapat membuat perencanaan proyek yang baik.
Penelitian Sebelumnya Prediksi Umur Bug (Panjer, 2007) Atribut yang mempengaruhi klasifikasi umur : – Low level attribute • severity,priority, assigned to, op_sys, product, component, qa_contact, OS, platform, version, Target Milestone, cc_count bug_dependency, keywords, dan number of word in comment
– Rekomendasi: • High-level attributes
Tujuan Penelitian • Mengidentifikasi atribut tingkat lebih tinggi dari atribut primitif yang memiliki pengaruh yang signifikan dalam memprediksi umur hidup bug
Kontribusi Penelitian Menambahkan
atribut tingkat lebih tinggi yang digunakan untuk prediksi umur hidup bug.
Data • Data diambil dari laporan bug Bugzilla sebanyak 1000 bug, • dibagi menjadi 2 : – Pelatihan 700 bug – Pengujian 300 bug
Metodologi Penelitian Studi Literatur
Pengumpulan Data
Analisis Atribut Primitif
Identifikasi Atribut Tingkat Lebih Tinggi
Pemilihan Atribut Tingkat Lebih Tinggi
Parameter Penelitian
Pemilihan Atribut Penelitian
PELATIHAN
PEMBOBOTAN
Pra Proses Data Atribut Comment
Tokenizing Matrik Bobot TF*IDF
Pembobotan Data Text (TF*IDF)
Filtering
Data Pelatihan dari N atribut
Stemming Pengurutan Term sesuai bobot
Data Atribut selain Comment
Pengelompokkan Data (Enumerasi)
Penghitungan peluang kemunculan Data Numerik
Perhitungan infogain
Atribut tingkat lebih tinggi
Rekomendasi atribut tingkat lebih tinggi
Matrik Nilai Peluang
Proses Pengalian Data Pemasangan term sesuai urutan pada laporan Bug
Penomoran term atribut selain comment
KLASIFIKASI KLASIFIKASI Zerro_R
One_R Term sesuai bobot
Decision Tree
Prediksi umur
Naïve Bayes
PENGUJIAN Pra Proses Data Atribut Comment
PEMBOBOTAN
Tokenizing Data Pelatihan dari M atribut
Filtering
Pembobotan Data Text (TF*IDF)
Matrik Bobot TF*IDF
Stemming
Data Atribut selain Comment
Pengelompokkan Data (Enumerasi)
Pengalian Data Penomoran term atribut selain comment
Penghitungan peluang kemunculan Data Numerik
Matrik Nilai Peluang
Pemasangan term sesuai urutan pada laporan Bug
Klasifikasi Zerro_R, One_R_Decision Tree, Naïve Bayes dan Logistik Regresi
KLASIFIKASI
Prediksi umur Terklasifikasi
Hasil Infogain Atribut
InfoGain
Summary
8,18
Number_of_word_in_comment
6,71
last_change_time
6,2
Assigned_to
6,08
qa_contact
6,08
Component
5,9
number_of_sentence_in_comment
4,38
Hasil Kappa Clasify Zerro_R
One_R
J48
Naive Bayes
Data Traning : Kappa statistic High Level Attribute Bug
0
0,9857
0,9886
1
Kappa statistic Low Level Attribute Bug Kappa statistic Selected Attribute Bug
0 0
0,2847 0,9857
0,5451 0,99
0,9399 1
Kappa statistic High Level Attribute Bug
0
0,9799
0,5518
1
Kappa statistic Low Level Attribute Bug
0
0,4348
0,5351
0,933
0,9799
0,5719
1
Data Testing :
Kappa statistic Selected Attribute Bug
Hasil penelitian • Mengidentifikasi 7 atribut tingkat tinggi, dimana 3 diantaranya (summary, last change time, dan number of sentence in comment) dianggap memiliki pengaruh yang signifikan dalam memprediksi umur bug. • Kombinasi atribut tingkat tinggi (3 atribut) dan tingkat rendah (4 atribut) menghasilkan nilai kappa 1, • Metode yang diusulkan dapat bekerja lebih baik daripada penelitian sebelumnya yang menghasilkan nilai kappa 0,93.
Kesimpulan • Pemetaan Bug_lifetime dengan menggunakan tujuh kelas yang diberi label 1 sampai 7. Pemetaan ini dilakukan untuk mengetahui tingkatan prediksi umur sebuah bug.
Kesimpulan •
•
Atribut primitif diklasifikasi menjadi 4 tingkatan, yaitu 24 atribut bug, atribut low_level, atribut high_level dan atribut high_low. Percobaan yang telah dilakukan terbukti tepat untuk prediksi umur bug, sebagaimana hasil penelitian mengidentifikasi atribut berdasarkan nilai perolehan informasi (infogain) dan metode yang diusulkan menghasikan atribut tingkat lebih tinggi yang berasal dari kombinasi 2 atribut high_level (summary 2,69 dan last_change_time 1,2), 3 atribut low_level ( assigned_to 1,59, qa_contact 1,55 dan component 1,47) dan 1 atribut dari 24 atribut bug (creator 1,88). Atribu-atribut tersebut dianggap memiliki pengaruh yang signifikan dalam memprediksi umur bug, dan menghasilkan tingkat kreteria Kappa substantial (0,72), sebagai bukti metode yang diusulkan dapat bekerja lebih baik dari penelitian sebelumnya tingkat kreteria moderate (0,60).
Manfaat Penelitian • Mengidentifikasi atribut tingkat lebih tinggi dapat menghasilkan akurasi prediksi. Dengan peningkatan akurasi prediksi ini, maka metode klasifikasi yang digunakan akan lebih handal untuk merepresentasikan ahli (manusia) dalam memprediksi umur bug. Akurasi prediksi ini digunakan untuk membantu pihak pengguna mempertimbangkan peluncuran suatu produk perangkat lunak.
Perumusan penelitian • Bagaimana cara menentukan identifikasi atribut tingkat lebih tinggi yang berasal dari atribut primitif. • Bagaimana mengidentifikasi atribut tingkat lebih tinggi untuk membangun prediksi umur hidup bug
Batasan penelitian • Data yang digunakan adalah bug repository yang tersedia pada kumpulan bug dari Eclipse Bugzilla (http://www.eclipse.org/eclipse_bugzilla.html). • Atribut Primitif bug digunakan untuk menentukan Atribut tingkat lebih tinggi.
No.
Atribut primitif
Definisi
1.
Bug_id
Id unik yang digunakan untuk menyimpan data nomor id laporan bug.
2.
Assigned_to
Pengembang yang bertugas untuk memperbaiki bug dengan meninggalkan log berupa email.
3.
Qa_contact
Quality ansurance yang bertugas untuk merubah status bug dengan meninggalkan log berupa email.
4.
severity
Tingkat keparahan dari sebuah bug
5.
Priority
Tingkat kepentingan bug yang harus diperbaiki.
6.
Component
Lokasi terjadinya permasalahan atau bagian dari produk yang memiliki bug
7.
Product
Wilayah tertentu yang memiliki bug
8.
OS
Sistem operasi yang dilaporkan permasalahannya
9.
Platform
lingkup sistem operasi yang terindikasi bug
10.
Version
Nomor versi paket
11.
Target_Milestone
Nomor rilis versi paket
12.
CC_Count
Daftar pengguna yang turut dikirimi email jika terjadi perubahan terhadap suatu bug
13.
Bug_dependensi
Jumlah bug yang dependent dengan bug pelapor lain
14.
Resolution
Tahapan penyelesaian bug berdasarkan aturan yang ada pada siklus hidup bug
15.
comment
Komentar perbaikan dari pengembang
16.
Status
Kondisi penyelesaian bug berdasarkan siklus hidup pada sistem pelacak Bugzilla
17.
Reported
Tanggal Lapor
18.
Modified
Tanggal penyelesaian
Tingkatan Kreteria Nilai Indeks Kappa
Proporsi Kesepakatan
<0
Rendah (Poor)
0.01 – 0.20
Sedikit (slight)
0.21 – 0.40
Cukup (fair)
0.41 – 0.60
Sedang (moderate)
0.61 – 0.80
Banyak (substantial)
0.81 – 1
Hampir Sempurna (almost perfect)
..
Pengumpulan Data
No.urut 1.
Nama atribut Bug_ID
2.
Assigned_to
3.
Qa_contact
4.
Bug_Severity
5.
Priority
6.
Component
7.
Product
8.
OS
9.
Platform
10.
Version
11.
Target_milestone
Jangkuan nilai berupa nomor id tipe data numeric Berupa alamat email yang banyak ragamnya. tipe data string Berupa alamat email yang banyak ragamnya. Tipe data string Enchancement minor Trivial Normal Mayor Critical Blocker Tipe data nominal P1 P2 P3 P4 P5 Tipe data nominal Berupa nama komponen bug yang memiliki banyak ragam Tipe data string Berupa nama dari tipe produk suatu bug Tipe data string Berupa system operasi seperti Windows, linux dan lain-lain. OS ini memiliki banyak ragam. Tipe data string Berupa nama sistem yang terindikasi bug Tipe data string Berupa nomor versi dari produk bug yang memiliki banyak ragam Tipe data string Berupa nomor target perubahan dari produk bug yang memiliki banyak ragam Tipe data string
12.
CC_count
Berupa alamat email yang banyak ragamnya. Tipe data numeric
13.
Dependent_bug
berupa nomor dependet tipe data numeric
14.
Resolution
Fixed Duplicate Wontfix Worksfrorme Invalid Tipe data string
15.
Comment
Panjang kata dalam kalimat comment dan Rata-rata kata dalam comment dan Tipe data string
16.
Bug_status
Unconfirmed New Assigned Resolved Verified closed Reopen Tipe data nominal
17.
Reported
Tanggal pelaporan bug Tipe data date Format date yyyy-MM-dd
18.
Modified
Tanggal penyelesaian bug Tipe data date Format date yyyy-MM-dd
Tingkatan Atribut • Atribut tingkat tinggi: • Atribut tingkat rendah: • Atribut semua Tingkat:
Data Bug 1
?
Atribut Atribut Atribut Atribut Last_change Atribut Summary 6:[string] Severity Keyword Creation_time _time 2:[nominal] 3:[numeric] 4:[date] 5:[date] major 0 01/01/2010 01/01/2010 pm-app-amo24 constantly segfaulting
2 3
? ?
normal normal
0 0
4
?
normal
0
5 6 7 8 9 10
? ? ? ? ? ?
normal normal normal major normal normal
4 1 0 0 0 0
11 12
? ?
normal normal
3 0
13
?
minor
14 15
? ?
16 17 18 19 20 21 22
? ? ? P1 P2 ? ?
Atribut Priority 1:[nominal]
No.
01/01/2010 01/01/2010 VytvoÅ™it stránku pÅ™edstavujÃ-cÃ- "Firefox Mobile" (Fennec) 01/01/2010 02/04/2010 Missing ⇑ glyph in default (h2) typeface
Atribut Atribut number_of_word Number_of_senten Atribut Bug_lifetime 9:[nominal] _in_comment ce_in_comment 7:[nominal] 8:[nominal] 71 3 0.017419 13 59
1 18
0.517488 91.037.373
01/01/2010 26/06/2010 system window)
30
3
175.842.072
01/01/2010 01/01/2010 01/01/2010 01/01/2010 01/01/2010 01/01/2010
156 356 54 12 13 8
40 21 6 50 4 1
80.258.611 430.073.611 12.987.535 11.355.521 322.787 351.878.565
01/01/2010 22/03/2010 Box shadow with spread radius is displayed without all given values 01/01/2010 02/01/2010 Graphs missing from comparison pages
108 22
25 2
79.998.333 0.953519
0
01/01/2010 04/01/2010 set to 1
131
23
277.412
major normal
0 1
01/01/2010 05/04/2010 Jan 2010 02/01/2010 10/01/2010 Don"t ship dictionaries with language packs
112 47
5 1
93.887.928 8.971.088
normal normal normal trivial normal normal normal
0 0 1 0 0 0 0
02/01/2010 02/01/2010 02/01/2010 02/01/2010 02/01/2010 02/01/2010 02/01/2010
70 52 167 7 13 51 27
12 6 33 5 1 9 3
0.996076 8.277.164 349.149.387 3.482.257 0.18184 0.32669 0.325972
22/03/2010 window.onbeforeunload event (e.g. Google Docs 07/03/2011 jemalloc can be deadlock with fork(2) 14/01/2010 switch CC* release automation to chatzilla-from-hg 13/01/2010 Missing munin hosts on nm-munin01 05/01/2010 Please add TMZ"s (Tom Ellins"s) blog to planet. 19/12/2010 Russian Holidays 2010-2020
03/01/2010 JSON.parse doesn"t correctly add properties with numeric identifiers 10/01/2010 nsSigHandler.cpp should use _M_IX86 instead of _M_IA32 17/12/2010 Bookmarks and History Sidebars Empty on Initial Opening 05/01/2010 Not translated "Localization Dashboard" 02/01/2010 Polish localizer team 02/01/2010 ZpÅ™ehlednit stránku "Ke staženÃ-" 02/01/2010 VytvoÅ™it detailnÃ- stránky "Ke staženÃ-"
Praproses ?
Normal
0
01/01/2010
02/01/2010
Kategorikal
?
Normal
0 01/01/2010
02/01/2010
Graphs missing from comparison pages 2220.953519 Teks
Graphs missing from comparison pages
Kategorikal
2220.953519 token
Tokenizing Filtering
Graphs missing from comparison pages
Stemming
Graphs missing from comparison pages
Hasil Praproses Term Priority
Term Term Term Term Keyword Term Summary Severity Creation_time Last_change_time
Term Term Term number_of_wor Number_of_sente Bug_lifetime d_in_comment nce_in_comment
?
Blocker
0
01/01/2010
01/01/2010 crash
71
3
0.017419
P1
Critical
1
01/01/2010
01/01/2010 nscoreutilsdispatchmouseeventunsign
13
1
0.517488
P2
Mayor
2
01/01/2010
02/04/2010 int
59
18
91.037.373
P3
Normal
3
01/01/2010
26/06/2010 nsdocaccessiblegetboundsrectnsrect
30
3
175.842.072
P4
Minor
4
01/01/2010
22/03/2010 load
156
40
80.258.611
P5
Trivial
01/01/2010
07/03/2011 blindcooltech
356
21
430.073.611
Enhancemen
01/01/2010
14/01/2010 site
54
6
12.987.535
01/01/2010
13/01/2010 nvda
12
50
11.355.521
Penghitungan Bobot
Perhitungan Bobot
Praproses melalui Weka
1
2
3
4
5
6
9 7
8
10
14
12
13
15
Infogain melalui weka
Pelatihan