Bilgi Getirimi Tabanlı Yazılım Hata Konumlandırması

Benzer belgeler
BÖLÜM 3 YER ÖLÇÜLERİ. Doç.Dr. Suat ŞAHİNLER

Obje Tabanlı Sınıflandırma Yöntemi ile Tokat İli Uydu Görüntüleri Üzerinde Yapısal Gelişimin İzlenmesi

MACH SAYISININ YAPAY SİNİR AĞLARI İLE HESAPLANMASI

İstanbul Göztepe Bölgesinin Makine Öğrenmesi Yöntemi ile Rüzgâr Hızının Tahmin Edilmesi

LİNEER OLMAYAN DENKLEMLERİN SAYISAL ÇÖZÜM YÖNTEMLERİ-2

Öğrenci Numarası İmzası: Not Adı ve Soyadı

ALTERNATİF SİSTEMLERİN KARŞILAŞTIRILMASI

Cebirsel Olarak Çözüme Gitmede Wegsteın Yöntemi

TUTGA ve C Dereceli Nokta Koordinatlarının Gri Sistem ile Tahmin Edilmesi

ÖĞRENME ETKİLİ HAZIRLIK VE TAŞIMA ZAMANLI PARALEL MAKİNELİ ÇİZELGELEME PROBLEMİ

ALTERNATİF SİSTEMLERİN KARŞILAŞTIRILMASI

OKUL ÖNCESİ DÖNEM İŞİTME ENGELLİLERDE MÜZİK EĞİTİMİ İLE ÇOCUKLARIN GELİŞİM ÖZELLİKLERİ ÜZERİNE TERAPÖTİK BİR ÇALIŞMA

KİMYASAL DENGE (GİBBS SERBEST ENERJİSİ MİNİMİZASYONU) MODELLEMESİ

TEKNOLOJĐK ARAŞTIRMALAR

SAYISAL ÇÖZÜMLEME. Sayısal Çözümleme

İleri Diferansiyel Denklemler

Diferansiyel Gelişim Algoritmasının Valf Nokta Etkili Konveks Olmayan Ekonomik Güç Dağıtım Problemlerine Uygulanması

Mekânsal Karar Problemleri İçin Coğrafi Bilgi Sistemleri ve Çok Ölçütlü Karar Analizinin Bütünleştirilmesi: TOPSIS Yöntemi

6. BÖLÜM VEKTÖR UZAYI VEKTÖR UZAYI VEKTÖR UZAYLARI

YENĐ BĐR ADAPTĐF FĐLTRELEME YÖNTEMĐ: HĐBRĐD GS-NLMS ALGORĐTMASI

İstatistik ve Olasılık

BASAMAK ATLAYARAK VEYA FARKLI ZIPLAYARAK İLERLEME DURUMLARININ SAYISI

AYRIK DALGACIK DÖNÜŞÜMÜ İLE GÜRÜLTÜ SÜZME

ON THE TRANSFORMATION OF THE GPS RESULTS

DEÜ MÜHENDİSLİK FAKÜLTESİ FEN VE MÜHENDİSLİK DERGİSİ Cilt: 7 Sayı: 3 s Ekim 2005

MEKANİK TESİSATTA EKONOMİK ANALİZ

Robot Navigasyonunda Potansiyel Alan Metodlarının Karşılaştırılması ve Đç Ortamlarda Uygulanması

ISF404 SERMAYE PİYASALAR VE MENKUL KIYMETLER YÖNETİMİ

Ki- kare Bağımsızlık Testi

İstatistik ve Olasılık

4/4/2013. Ders 8: Verilerin Düzenlenmesi ve Analizi. Betimsel İstatistik Merkezsel Eğilim Ölçüleri Dağılım Ölçüleri Grafiksel Gösterimler

İstatistik Nedir? Sistem-Model Kavramı

Bileşik faiz hesaplamalarında kullanılan semboller basit faizdeki ile aynıdır. Temel formüller ise şöyledir:

TĐCARĐ MATEMATĐK Bileşik Faiz

İŞLETİM KARAKTERİSTİĞİ EĞRİSİ VE BİR ÇALIŞMA THE OPERATING CHARACTERISTIC CURVE AND A CASE STUDY

AN ARTIFICIAL BEE COLONY ALGORITHM (ABC) APROACH TO NONCONVEX ECONOMIC POWER DISPATCH PROBLEMS WITH VALVE POINT EFFECT

Pamukkale Üniversitesi Mühendislik Bilimleri Dergisi. Pamukkale University Journal of Engineering Sciences

Tümevarım_toplam_Çarpım_Dizi_Seri. n c = nc i= 1 n ca i. k 1. i= r n. Σ sembolü ile bilinmesi gerekli bazı formüller : 1) k =

Yatırım Projelerinde Kaynak Dağıtımı Analizi. Analysis of Resource Distribution in Investment Projects

PARALEL MAKİNELİ ÇİZELGELEMEDE TOPLAM TAMAMLANMA ZAMANI VE MAKSİMUM GECİKMENİN ENKÜÇÜKLENMESİ. Tamer EREN 1 ve Ertan GÜNER 2

ANALİTİK HİYERARŞİ YÖNTEMİ İLE İLKOKUL SEÇİMİ

İKİ ÖLÇÜTLÜ PARALEL MAKİNELİ ÇİZELGELEME PROBLEMİ: MAKSİMUM TAMAMLANMA ZAMANI VE MAKSİMUM ERKEN BİTİRME

FİBER BRAGG IZGARA TABANLI OPTİK SENSÖRÜN ANALİZİ

DAYANIKLI SAYISAL RESİM DAMGALAMA

Termik Üretim Birimlerinden Oluşan Çevresel-Ekonomik Güç Dağıtım Probleminin Genetik Algoritma Yöntemiyle Çözümü

ANA NİRENGİ AĞLARINDA NİRENGİ SAYISINA GÖRE GPS ÖLÇÜ SÜRELERİNİN KURAMSAL OLARAK BULUNMASI

3D NESNE MODELLEMEYE YÖNELİK LAZERLİ BİR TARAYICI SİSTEMİN TASARIMI VE GERÇEKLEŞTİRİLMESİ

POLİNOMLAR. reel sayılar ve n doğal sayı olmak üzere. n n. + polinomu kısaca ( ) 2 3 n. ifadeleri polinomun terimleri,

4/16/2013. Ders 9: Kitle Ortalaması ve Varyansı için Tahmin

İki Serbestlik Dereceli Mekanizmalarla İşlev Sentezinde Tasarım Noktalarının Eşit ve Çebişev Aralıklandırması ile Seçiminin Karşılaştırılması

OKUL ÖNCESİ DÖNEM İŞİTME ENGELLİ ÇOCUKLARDA MÜZİK EĞİTİMİNİN SÖZEL AÇIKLAMA BECERİLERİNE ETKİSİ

YAPIM YÖNETİMİ - EKONOMİSİ 04

TAHMİNLEYİCİLERİN ÖZELLİKLERİ Sapmasızlık 3.2. Tutarlılık 3.3. Etkinlik minimum varyans 3.4. Aralık tahmini (güven aralığı)

5. BORULARDAKİ VİSKOZ (SÜRTÜNMELİ) AKIM

BİLGİNİN EĞİTİM TEKNOLOJİLERİNDEN YARARLANARAK EĞİTİMDE PAYLAŞIMI

AÇIK ĐŞLETME BASAMAKLARI TENÖR KONTROLÜNDE JEOĐSTATĐSTĐKSEL TAHMĐN MODELĐ SEÇĐMĐ

WEIBULL DAĞILIM PARAMETRELERİNİ BELİRLEME METODLARININ KARŞILAŞTIRILMASI

METAL MATRİSLİ DAİRESEL DELİKLİ KOMPOZİT LEVHALARDA ARTIK GERİLMELERİN ANALİZİ

Kırsal Kalkınma için IPARD Programı ndan Sektöre BÜYÜK DESTEK

BAĞINTI VE FONKSİYON

MATLAB VE ASP.NET TABANLI WEB ARAYÜZÜ KULLANILARAK DOĞRUSAL OLMAYAN SİSTEMLERİN ANALİZİ

Harmoni Arama Algoritmasının Çevresel Ekonomik Güç Dağıtım Problemlerine Uygulanması

ŞEKER PANCARI KÜSPESİ KARBOKSİMETİL SELÜLOZUNUN GÖRÜNÜR VİSKOZİTESİNE SICAKLIK VE KONSANTRASYONUN ETKİSİ

KALİTE VE SÜREÇ İYİLEŞTİRME İÇİN MÜŞTERİ GERİ BİLDİRİMLERİNİN DEĞERLENDİRİLMESİ

El Hareketini Takip Eden Vinç Sisteminin Giriş Şekillendirici Denetimi

M Ü H E N D İ S L E R İ Ç İ N S AY I S A L YÖ N T E M L E R

SAÜ. Mühendislik Fakültesi Endüstri Mühendisliği Bölümü DİFERENSİYEL DENKLEMLER Dönemi Ders Notları. Prof. Dr.

NİĞDE İLİ RÜZGAR ENERJİSİ POTANSİYELİ WIND ENERGY POTENTIAL OF NIGDE PROVINCE

BİYOİSTATİSTİK İstatistiksel Tahminleme ve Hipotez Testlerine Giriş Dr. Öğr. Üyesi Aslı SUNER KARAKÜLAH

DİKDÖRTGEN SPİRAL ANTENLER ÜZERİNE BİR İNCELEME

Veri nedir? p Veri nedir? p Veri kalitesi p Veri önişleme. n Geometrik bir bakış açısı. n Olasılıksal bir bakış açısı

SIRA-BAĞIMLI HAZIRLIK ZAMANLI İKİ ÖLÇÜTLÜ ÇİZELGELEME PROBLEMİ: TOPLAM TAMAMLANMA ZAMANI VE MAKSİMUM ERKEN BİTİRME. Tamer EREN a,*, Ertan GÜNER b ÖZET

Enflasyon nedir? Eşdeğer hesaplamalarında enflasyon etkisini nasıl hesaba katarız? Mühendislik Ekonomisi. (Chapter 11) Enflasyon Nedir?

18.06 Professor Strang FİNAL 16 Mayıs 2005

NOT: BU DERS NOTLARI TEMEL EKONOMETRİ-GUJARATİ KİTABINDAN DERLENMİŞTİR. HAFTA 1 İST 418 EKONOMETRİ

ÇOKLU DOĞRUSAL REGRESYON KULLANARAK FARKLI YAKITLARIN YANMA PARAMETRELERİNİN TAHMİNİ

SBE 601 ARAŞTIRMA YÖNTEMLERİ, ARAŞTIRMA VE YAYIN ETİĞİ

HİPOTEZ TESTLERİ. İstatistikte hipotez testleri, karar teorisi olarak adlandırılır. Ortaya atılan doğru veya yanlış iddialara hipotez denir.

BAŞKENT ÜNİVERSİTESİ Makine Mühendisliği Bölümü

ALGORİTMA VE PROGRAMLAMA I

TEKNOLOJĐK ARAŞTIRMALAR

Vakumlu Ortamda Doymuş Buharla Đplik Kondisyonlama Đşleminde Kütle Transferi Analizi

alphanumeric journal The Journal of Operations Research, Statistics, Econometrics and Management Information Systems

MERMER BLOK KESİM YÖNTEMLERİNİN BULANIK TOPSIS YÖNTEMİYLE DEĞERLENDİRİLMESİ. Evaluation of Marble Extraction Methods By Using Fuzzy Topsis Method

ISF404 SERMAYE PİYASALARI VE MENKUL KIYMETYÖNETİMİ

REGRESYON DENKLEMİNİN HESAPLANMASI Basit Doğrusal Regresyon Basit doğrusal regresyon modeli: .. + n gözlem için matris gösterimi,. olarak verilir.

SAÜ. Mühendislik Fakültesi Endüstri Mühendisliği Bölümü DİFERENSİYEL DENKLEMLER Dönemi Karma Eğitim Ders Notları. Doç. Dr.

İSTATİSTİKSEL TAHMİN. Prof. Dr. Levent ŞENYAY VIII - 1 İSTATİSTİK II

BİR ÇUBUĞUN MODAL ANALİZİ. A.Saide Sarıgül

Diferansiyel Gelişim Algoritmasının Termik Birimlerden Oluşan Çevresel Ekonomik Güç Dağıtım Problemlerine Uygulanması

HARMONİK DİSTORSİYONUNUN ÖLÇÜM NOKTASI VE GÜÇ KOMPANZASYONU BAKIMINDAN İNCELENMESİ

ALGORİTMA VE PROGRAMLAMA I

ÖRNEKLEME TEORİSİ VE TAHMİN TEORİSİ

CİLALI ve PÜRÜZLÜ AÇIK KANAL AKIMLARINDA SÜRTÜNME KATSAYILARININ İNCELENMESİ

ISL 418 Finansal Vakalar Analizi

Tek Bir Sistem için Çıktı Analizi

ÜNİTE. İSTATİSTİĞE GİRİŞ Prof.Dr.Erkan OKTAY İÇİNDEKİLER HEDEFLER İNDEKSLER

Uçucu Organik Bileşiklerin YapıMalzemelerindeki Difüzyon ve AdsorpsiyonununDinamik Metotla İncelenmesi

YÖNEYLEM ARAŞTIRMASI III. Dinamik Programlama. Örnek 1: Posta Arabası Problemi. Örnek 1: Posta Arabası Problemi. Hafta 1

Saha Geri Dönüş Oranını AR-GE Aşamasında İndikatör ile Tahmin Etme Yöntemi Field Return Rate Estimation in R&D Phase with an Indicator

Transkript:

Bilgi Getirimi Tabalı Yazılım Hata Koumladırması Deiz KILINÇ 1, Fatih YÜCALAR 1, Emi BORANDAĞ 1, Hasa AKYOL 1, Tuğrul Ca ŞÖLLÜ 1 1 Celal Bayar Üiversitesi, Yazılım Mühedisliği Bölümü, Maisa deiz.kilic@cbu.edu.tr, fatih.yucalar@cbu.edu.tr, emi.boradag@cbu.edu.tr, hasaakyol2@ogr.cbu.edu.tr, tugrulcasollu@ogr.cbu.edu.tr Özet: Yazılım bakımı zorlu ve yüksek maliyetli bir aşamadır. Yapıla araştırmalar yazılım yaşam dögüsüde, bakım maliyetii %60 lık bir paya sahip olduğuu göstermektedir. Yazılım bakımıda yapıla e temel iş, yazılım hata çözümü olup, bu aşama hataı koumladırılmasıyla başlar. Hata koumladırma, karmaşık ve zama ala bir işlemdir. Bu çalışmada, yeide sıralama tabalı bir Bilgi Getirimi tekiği kullaarak yazılım hata koumladırılması yapılmıştır. Özellikle, ilişkili kayak dosya souçları yeide düzeleerek, doğruluk değerii arttırılması hedeflemiş ve bu yötem başarılı olarak sistem getirim performası ve doğruluğu öemli ölçüde arttırılmıştır. Aahtar Sözcükler: Hata Koumladırma, Bilgi Getirimi, Yeide Sıralama, Yazılım Mühedisliği Iformatio Retrieval Based Software Bug Localizatio Abstract: Software maiteace is challegig ad costly phase. Researches show that 60% cost of software life cycle is spet to software maiteace. Software bug solutio is the mai step i the software maiteace, ad this step starts with the bug localizatio. Bug localizatio is a complex ad time cosumig process. I this paper, Iformatio Retrieval based bug localizatio experimets are proposed which use rerakig techique. Our experimets show that rerakig approach to bug localizatio is promisig. It icreases both retrieval performace ad accuracy. Keywords: Bug Localizatio, Iformatio Retrieval, Re-rakig, Software Egieerig 1. Giriş So yıllarda yazılım tekolojileri hızlı bir gelişim sürecie girmiştir. Küçük, orta ve büyük ölçekli yazılım geliştirme firmaları ile açık kayak kod toplulukları tarafıda farklı alalarda kullaılabile yazılımlar üretilmeye başlamıştır. Üretile bu yazılımları sayıları arttıkça yazılım bakım süreçleri de kritik bir hale gelmiştir. Yazılım bakımı zorlu ve yüksek maliyetli bir süreçtir. Yapıla araştırmalar yazılım yaşam dögüsüde, bakım maliyetii %60 lık bir paya sahip olduğuu göstermektedir [1]. Yazılım bakımıda yapıla e temel iş, yazılım hata çözümüdür. Hata çözüm aşaması, yazılım ürüü ile ilgili bir hataı bulumasıyla başlar. Bulua hata ile ilgili metisel bilgiler bir hata yöetim sistemie iş olarak girilir ve ilgili yazılımcıya ataır. Yazılımcı kedisie iletile hataı içeriğie ve özelliklerie bakarak hatalı kayak kodları bulmaya çalışır. Hata koumladırma olarak adladırıla bu aşama; yazılımcıı tecrübesie, yazılım ürüü karmaşıklığıa ve yazılım geliştirme metodolojisie bağlı olup, geelde zama ala bir süreçtir. So yıllarda, Bilgi Getirimi (BG) tabalı hata koumladırma yaklaşımı üzerie çalışmaları sayısı oldukça artmıştır. BG, ihtiyaç duyula ilişkili bir bilgii, kayak bilgi koleksiyou içeriside sorgulaıp bulumasıdır. BG tabalı hata koumladırma süreci, kullaıcıı hata rapor sorgusuu sisteme girmesiyle başlar. BG sistemi sorasıda her bir kayak dosya içi sayısal bir skor hesaplar ve kayak dosyalar bu skora göre sıralaır. Sıralamada e üstte ola kayak dosyalar hataı yüksek olasılıkla buluduğu yerlerdir. Bu çalışmada, yeide sıralama tabalı bir BG tekiği kullaılarak yazılım hata koumladırılması yapılmıştır. Yeide sıralama içi kayak kodlardaki yapısal bilgilerde; sııf adları, metot adları, metot parametreleri ve yorum satırları dikkate alımıştır. Bu veriler ilk aşamada buluup getirile kayak dosyaları yeide ağırlıkladırılarak sıralaması içi kullaılırlar. Hata raporları ile kayak dosyalar arasıdaki ilişki skoruu hesaplamak içi açık kayak kodlu kelime eşleştirme sistemi ola Lucee [2]

kullaılmıştır. Bildirii devamıda ikici bölümüde bezer çalışmalar iceleip, geel olarak hagi yötemleri kullaıldığı ile ilgili bilgilere yer verilmiştir. Üçücü bölümde geel hata koumladırma yötemi, ö işleme, ideksleme, vektör uzay modeli ve sistem geel mimarisi ile ilgili detaylı bilgiler verilmiştir. Dördücü bölümde deeysel veri seti, deeysel ölçütler ve souçlar ele alımıştır. So olarak, beşici bölümde ise souç ve öerilere yer verilmiştir. 2. Mevcut Çalışmalar Literatürde Bilgi Getirimi (BG) tabalı hata koumladırma yaklaşımı kullaılarak çeşitli çalışmalar yapılmıştır. Marcus ve ark.[3] kayak kod gösterimi içi BG tabalı VUM (Vektör Uzay Modeli) modeli üzeride çalışmışlardır. Poshyvayk ve ark.[4] PROMESIR adıda bir bilgi getirimi tekiği ola Latet Sematic Idexig (LSI) ve bir olasılıksal sıralama tekiğide faydalaa bir yötem öermişlerdir. Lukis ve ark. [5] Latet Dirichlet Allocatio (LDA) yaklaşımıı öe sürmüşlerdir. Rao ve Kak [6] Vektör Uzay, Letat Sematik Aalizi (LSA), LDA, Uigram, Cluster Based gibi başlıca BG tekiklerii ve çeşitli kombiasyolarıı karşılaştırmışlardır. Tüm araştırmacılar değerledirme işlemide az sayıda hata kullamışlardır. Nguye ve ark. [7] hata koumladırma içi düzelemiş LDA tabalı bir yötem öermişler ve birkaç büyük veri seti üzeride deemişlerdir. 3. Yötem 3.1 Geel Hata Koumladırma Modeli Hata koumladırma işlemii geel bir modeli aşağıdaki adımları içermektedir: - Kelime Külliyatıı Hazırlaması: Bu adımda kayak kod dosyaları kelime külliyatıı oluşturmak içi aaliz edilir. İlk olarak, tüm dosyalar geri getirim verimliliğii arttırmak amacıyla ö işlemde geçer. Yazılım programlarıda kullaıla belirteçler, ortak ayırıcılar, operatörler, oktalama işaretleri, çıkış karakterleri ve İgilizcede kullaıla gereksiz kelimeler kaldırılır. Ardıda, kelime gövdeleme gibi doğal dil işlemeye yöelik bir tekik kullaılır. Farklı tekiklerle birlikte çeşitli gövdeleme algoritmaları bulumaktadır. - Kelime Külliyatıı İdekslemesi: Kayak kod dosyaları ö işlemde geçirildikte ve külliyatları hazırladıkta sora; Vektör Uzay Modeli ya da diğer olasılık modelleri tabalı bir BG yötemi ile külliyat ideksleir. - Sorgu Oluşturulması: Hata koumladırma işlemide hata raporuu açıklamaları birer sorgu olarak kabul edilir. Bu sorgular kayak kod dosyaları ile ayı şekilde ö işlemde geçirilir. - Bezerliği Hesaplaması ve Geri Getirme: Hata raporları ile kayak kod dosyaları arasıdaki bezerlik skoru, meti bezerliği temel alııp çeşitli yaklaşımlar kullaılarak hesaplamıştır. Ardıda, tüm dosyalar bu skora göre sıralaır ve geri getirilir. 3.2 Geel Mimari Öerile sistemde ilk olarak, kayak kod dosyalarıda gereksiz kelimeler atılır ve gövdeleme işlemi gerçekleştirilir. Daha sora, kayak kod dosyaları içi kod yapı aalizi başlar. Kayak kodları yorumsuz halleri (Idx1), sııf isimleri (Idx2), metot isimleri (Idx3) ve yorumları (Idx4) içi dört ayrı ideks dosyası oluşturulur. İdeks dosyaları oluşturuldukta sora, VUM tabalı temel geri getirim çalıştırılır ve temel bezerlik skoru R 0 (j) hesaplaır. So olarak bilgi getirimi tabalı yeide sıralama işlemi içi kod yapısı göz öüde buludurulur ve Idx1, Idx2, Idx3 ve Idx4 ideksleri kullaılarak bir sıralama puaı R 1 (j) hesaplaarak, bu puaa göre sıralama işlemi gerçekleştirilir. 3.3 Ö İşleme Tüm kayak kod dosyaları ve hata raporları ayı şekilde ö işlemde geçirilir. İlk olarak it, float, double, char while, for, if gibi aahtar kelimeler kayak kod dosyalarıda çıkartılır. Daha sora tüm ortak ayırıcılar, operatörler (!=, =, <, > vs.), oktalama işaretleri ve yazdırılamaya karakterler de kayak kodlarda ayıklaır. 3.4 İdeksleme ve Bilgi Getirimi Bu çalışmada ideksleme içi her kayak dosyaı bir vektörü temsil ettiği ve her bir boyutu ayrı bir terime karşılık geldiği, klasik VUM [8] kullaılmıştır. Eğer bir terim kayak kod dosyasıı içide buluuyorsa, vektördeki değeri sıfırda farklıdır. Bu model bir sıralama algoritmasıı çalıştırmaktadır. Bu algoritma, her bir hata raporu ile her bir kayak kod dosyası arasıda e kadar örtüşme olduğua bakarak kayak kod dosyalarıı sıralamaya çalışmaktadır. Vektör Uzay Modelide, terim ağırlıkladırma, moder meti geri getirim sistemlerii öemli bir özelliğidir [9]. Bir meti içerisideki bir terimi öemii etkileye başlıca üç kısım buluur: Terim Sıklık Katsayısı (TSK), Ters Doküma Sıklık Katsayısı (TDSK) ve Doküma Uzuluk Normalleşme Değeri. VUM da e yaygı kullaıla ormalleştirme tekiği Kosiüs ormalleştirmesi olup Deklem 1 de gösterildiği gibi

hesaplaır. w 1 2 + w 2 2 + + w t 2 (1) Her bir w değeri (TSK TDSK), deklem 2 deki gibi gösterilir. w ki = tf ik log (N/ k ) k=1(tf ik ) 2 [log(n/ k )] 2 t k, d i dokümaıdaki k ıcı terimdir. tf ik, t k kelimesii d i dokümaıda geçme sıklıdığır. log (N/ k ), t k kelimesii veri setideki ters doküma sıklığıı temsil etmektedir. k, t k kelimesii içere dokümaları umarasıı belirtmektedir. N, veri setideki toplam doküma sayısıı yai toplam kayak kod dosya sayısıı göstermektedir. Öerile çalışmada, temel geri getirimi olarak adladırıla bir başlagıç geri getirimi uygulaır. Temel geri getirim işlemi gerçekleşirke, sistem sadece Idex1 i kullaır ve kod yapısıı dikkate almaz. Temel bezerlik skoru R 0 (j) aşağıdaki formül ile hesaplaır: R 0 (j) = (w1 ij q i ) R 0 (j), j ici kayak kod dosyasıı bezerlik skoruu;, sözlüğü uzuluğuu; w1 ij, j ici kayak dosyasıı ağırlığıı ve q i i ici hata raporuu ağırlığıı temsil etmektedir. 3.5 Yeide Sıralama Tabalı Bilgi Getirimi Klasik VUM ve TSK TDSK hesaplamasıda, kayak kod dosyalarıdaki sııf adları, metot isimleri ve yorum satırları dosyadaki diğer tüm kelimelerle ayı şekilde değerledirilip, ekstra bir ağırlığa sahip olmazlar. Hata raporlarıda ise sıkça bu yapısal bilgiler yer almakta olup, bu bilgileri olduğu kayak kod dosyaları yeide ağırlıkladırılarak sıralamalıdır. Bu amaçla sistem her bir kayak dosyayı ayrıştırır ve kod yapısı içi VUM oluşturur. Modeldeki ideksler; (2) (3) - Yorum satırı içermeye kodlar (w 1 (j)) içi Idx1, - Sııf adları (w 2 (j)) içi Idx2, - Metot isimleri (w 2 (j)) içi Idx3, - Sadece yorum satırları (w 4 (j)) içi Idx4 dür. Bu ideksler kullaılarak hesaplaa R 1 (j) bezerlik skoru deklemi aşağıdaki gibidir: R 1 (j) = R 0 (j) + r 1 (j) (4) R 0 (j), j ici kayak kod dosyasıı temel bezerlik skoru olup yeide sıralama skoru r 1 (j) deklem 5 te verilmiştir: r 1 (j) = r 12 (j) + r 13 (j) + r 14 (j) (5) r 12 (j), r 13 (j) ve r 14 (j), sırasıyla Idx2, Idx3 ve Idx4 içi j ici kayak kod dosyasıı bezerlik skorlarıdır. r 12 (j) = (w2 ij q i) r 13 (j) = (w3 ij q i) r 14 (j) = (w4 ij q i) 4. Deeysel Çalışmalar 4.1 Deeysel Veri Setleri Çalışmada yazılım geliştirme düyasıda bilie üç tae açık kayak kodlu projeye (Eclipse, SWT ve AspectJ) ait kayak kod dosyaları ve bu kayak kod dosyaları ile ilişkili yaklaşık 3,450 adet çözülmüş hata raporuu içere bir veri seti kullaılmıştır. Her hata raporuu hagi kayak kodlarda çözüldüğü bilimektedir. Tablo 1 de projelere ait bilgiler gösterilmektedir. Proje (Veri Seti) Açıklama Periyot Hata Sayısı Kayak Dosya Sayısı SWT 3.1 Java Widget Aracı 10/04 04/10 98 484 Eclipse 3.1 Java IDE 10/04 03/11 3075 12863 AspectJ Aspect-Orieted Ekleti 07/02 10/06 286 6485 Tablo 1. Deeysel Veri Setleri (6) (7) (8)

4.2 Değerledirme Ölçütleri BG sistemlerii doğruluğuu belirlemek amacıyla kullaıla birkaç değerledirme ölçütü bulumaktadır. Kullaıla ölçütler aşağıdaki gibidir: - E Yüksek N: Bu ölçüt, sıralamış souçlarıı ilk N (1, 5, 10) sıralamasıda e az bir ilgili kayak kod dosyası bulua hataları sayısıı gösterir. Bu ölçüt içi çıka değeri yüksek olması, iyi bir hata koumladırma performasıa sahip olduğuu göstermektedir. - Ortalama Karşılıklı Sıralama (OKS). Karşılıklı sıralama (KS)[10], ilgili tek öğeyi geri getirme yötemi ile oluşturula sıralamaya ters oratılı bir değerdir. OKS tüm sorguları ortalama KS değeridir. OKS içi yüksek bir değer, iyi hata koumladırma performasıı gösterir. Q OKS = 1 Q 1 rak i - Ortalama Sistem Hassasiyeti (OSH). Ortalama sistem hassasiyeti ölçütü, BG sistemlerii e popüler değerledirme ölçütüdür. Bir dizi sorgu üzerideki ortalama hassaslık değerii bulmak içi kullaılır [11]. m j OSH(Q) = 1 Q Q 1 Precisio(R m k ) j j=1 k=1 (9) (10) Q sorgu dizisi, her bir q j hatası ile ilgili m j kod dosyasıa sahiptir. R k e üst sıradaki dokümada ilgili doküma k ya kadar geriye dödürüle bir dizi souçtur. OSH ölçütü içi yüksek değerler daha iyi hata koumladırılması alamıa gelmektedir. 4.2 Deeysel Souçlar Yeide sıralama yaklaşımımızı aa amacı hata koumladırma işlemide hassasiyet değerii arttırmaktır. Dolayısıyla, hem E Yüksek N sıralama ölçütüde hem de OSH ve OKS ölçütleride fark edilir bir iyileştirme beklemektedir. Tablo 2 yapıla çalışmaı E Yüksek N sıralama ölçütüü 1, 5 ve 10 seviyeleride asıl geliştirdiğii göstermektedir. Sistem, ilk aşamada karşılaştırma yapabilmek amacıyla temel geri getirim olarak adladırıla başlagıç geri getirimii uygular. Bu seviyede, E Yüksek 1 ölçütüe göre, SWT, Eclipse, ve AspectJ veri setleri içi sırasıyla 27, 555 ve 69 adet hata koumladırılmıştır. Temel geri getirimde sora, yeide sıralama yötemi uygulaır. Bu aşamada sistem, kayak kod yapısıı (sııf adları, metot adları ve yorumlar) ve bu yapıya ait ideksleri kullaarak yeide sıralama işlemii gerçekleştirir. Yeide sıralama işlemi sorasıda sistemi koumladırdığı hata sayısı artmıştır. Öreği: E Yüksek 1 ölçütüe göre, SWT veri setide 11 adet, Eclipse veri setide 151 adet, AspectJ veri setide 8 adet daha fazla hata koumladırılmıştır. Veri Seti SWT Eclipse AspectJ E E E Yötemler Yüksek 1 Yüksek 5 Yüksek 10 Temel Geri Getirim 27 53 73 Yeide Sıralama 38 56 65 Temel Geri Getirim 555 1180 1494 Yeide Sıralama 706 1290 1587 Temel Geri Getirim 69 120 150 Yeide Sıralama 77 126 153 Tablo 2. E Yüksek N Ölçütü Souçları E Yüksek N Sıralama ölçütlerie ek olarak, yapıla çalışmaı et bir şekilde OSH ve OKS ölçütü değerlerii arttırdığı Tablo 3 de görülmektedir. Souç olarak, yeide sıralama yaklaşımı, hata koumladırma sistemii doğruluğuu fark edilir bir şekilde geliştirmiştir. Veri Seti Yötemler OSH OKS SWT Eclipse AspectJ Temel Geri Getirim 0.38 0.40 Yeide Sıralama 0.44 0.46 Temel Geri Getirim 0.21 0.28 Yeide Sıralama 0.28 0.35 Temel Geri Getirim 0.19 0.34 Yeide Sıralama 0.24 0.36 Tablo 3. OSH ve OKS Ölçütü Souçları

5. Souç ve Tartışma Hata koumladırma, karmaşık ve zama ala bir işlemdir. Programı amacıı, yapısıı, sematiğii ve hataı ilgili özelliğii alamayı gerektirmektedir. BG tabalı hata koumladırma, hata raporlarıı ve kayak dosyaları sırasıyla sorgu ve dokümaı temsil ettiği bir geri getirim işidir. Bu çalışmada, yeide sıralama tabalı bir BG tekiği kullaarak yazılım hata koumladırılması yapılmıştır. Özellikle, ilişkili kayak dosya souçları yeide düzeleerek doğruluk değerii arttırılması hedeflemiş ve bu yötem başarılı olmuştur. Öreği, yeide sıralama yötemi uyguladıkta sorasıda Eclipse veri seti içi E Yüksek 1 ölçütüe göre 151 adet fazla hata koumladırılmıştır. Ayrıca OSH ve OKS ölçütü değerlerii arttığı Tablo 3 de görülmektedir. Souç olarak, hata koumladırma içi yapıla BG tabalı yeide sıralama çalışması sistem getirim performasıı ve doğruluğuu öemli ölçüde arttırmıştır. 6. Gelecek Çalışmalar İleride gerçekleştirilebilecek sistem iyileştirme çalışmaları aşağıdaki gibidir: - Yeide sıralama işlemi öceside kayak kodlara ait yapısal bilgiler çıkartılırke uygulaa yötemler geliştirilebilir. Öreği, kayak kodlara ait sııf isimleri, kullaıla isimledirme stadardıa uygu (Pascal, Camel, Hugaria, Capital vb.) parçalaabilir. - Farklı yaklaşımları temel ala yeide sıralama tekikleri kullaılabilir. - Sistem doğruluğuu arttırmak içi kayak kodlar ve hata dosyaları üzeride sııfladırma veya kümele algoritmaları çalıştırılabilir. [4] Poshyvayk D., Y-G. Gueheeuc, A. Marcus, G. Atoiol, V. Rajlich (2006) Combiig Probabilistic Rakig ad Latet Sematic Idexig for Feature Idetificatio, Proceedigs of the 14th IEEE Iteratioal Coferece o Program Comprehesio (ICPC 2006), Athes, Greece, pp. 137 146. [5] Lukis S. K., N. A. Kraft ad L. H. Etzkor (2010) Bug localizatio usig latet dirichlet allocatio, Iformatio ad Software Techology, 52 (9), pp. 972 990. [6] Rao S. ad A. Kak (2011) Retrieval from software libraries for bug localizatio: a comparative study of geeric ad composite text models, I Proceedigs of the 8th Workig Coferece o Miig Software Repositories (MSR 11), pp. 43 52. [7] Nguye A.T., T.T. Nguye, J. AL-Kofahi, H. V. Nguye ad T. Nguye (2011) A topic-based approach for arrowig the search space of buggy files from a bug report, I Proceedigs of the 26th IEEE/ACM Iteratioal Coferece o Automated Software Egieerig, pp. 263 272. [8] Salto G., A. Wog, C. S. Yag (1975), A vector space model for iformatio retrieval, Joural of the America Society for Iformatio Sciece, 18 (11), pp.613-620. [9] Salto G. ad C. Buckley (1988) Term-weightig approaches i automatic text retrieval, Iformatio Processig & Maagemet, 24 (5), pp. 513 523. [10] Voorhees E.M. ad D. K. Harma (2003) Chapter Appedix: Commo Evaluatio Measures, the Eleveth Text Retrieval Coferece (TREC 2002), Natioal Istitute for Stadards ad Techology. [11] Maig C. D., P. Raghava ad H. Schütze (2009), A Itroductio to Iformatio Retrieval, Cambridge Uiversity Press. Kayaklar [1] 97 Thigs Every Programmer Should Kow,http://programmer.97thigs.oreilly.com/wiki/i dex.php/97_thigs_every_programmer_should_ko w [2] Lucee (2014), Iformatio about Apache Lucee, Retrieved Jue 21, 2014, from http://lucee.apache.org/core/. [3] Marcus A., A. Sergeyev, V. Rajlich ad J. I. Maletic (2004) A Iformatio Retrieval Approach to Cocept Locatio i Source Code, I Proceedigs of the 11th Workig Coferece o Reverse Egieerig (WCRE 2004), IEEE Computer Society, pp. 214 223.