Java garbage collector selection using object oriented software metrics
Nesne yönelimli yazılım ölçütleri ile java atık bellek toplayıcı seçimi
- Tez No: 486582
- Danışmanlar: YRD. DOÇ. DR. TOLGA OVATMAN
- Tez Türü: Yüksek Lisans
- Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Computer Engineering and Computer Science and Control
- Anahtar Kelimeler: Belirtilmemiş.
- Yıl: 2017
- Dil: İngilizce
- Üniversite: İstanbul Teknik Üniversitesi
- Enstitü: Fen Bilimleri Enstitüsü
- Ana Bilim Dalı: Bilgisayar Mühendisliği Ana Bilim Dalı
- Bilim Dalı: Bilgisayar Mühendisliği Bilim Dalı
- Sayfa Sayısı: 99
Özet
Java programlama dilinde otomatik bellek yönetimi yapılmaktadır. Bellek yönetimi, atık bellek toplayıcı tarafından yapılmakta ve program tarafından kullanılmayan nesneler bellekten kaldırılmaktadır. Bu çalışmada, program özellikleri ile atık bellek toplayıcı performansı arasında bir ilişki olduğu iddia edilmektedir. Bu ilişkinin tespit edilerek, program analizi ile bu programda iyi performans verecek atık bellek toplayıcının tahmin edilebileceği düşünülmektedir. Tahmin fonksiyonu, karar ağacı öğrenen makine öğrenmesi sistemleri ile oluşturulabilir. Sistemi beslemek içinse öncelikle eğitim verisinin oluşturulması gerekmektedir. Programlar, farklı atık bellek toplayıcılar ile test edilerek atık bellek toplayıcıların performansı incelenmelidir. Ardından, programların özellikleri çıkarılarak, performans verisi ile birleştirilip eğitim verisi oluşturulabilir. Çalışmayı yapmak için DaCapo performans test seti seçilmiştir. Programlar analiz edilerek özellikleri tespit edilmiştir. Chidamber ve Kemerer ölçütlerini de içeren birçok ölçüt sabit özellik olarak seçilmiştir. Dinamik özellik olarak: Java standart kütüphanesi harici sınıf nesnelerinin oluşturulma oranı, dizi oluşturma oranı, karakter dizisi oluşturma oranı, bağlı liste oluşturma oranı seçilmiştir. Özelliklerin tespiti sonucunda test programlarının farklı karakteristiklere sahip olduğu görülmüştür. Oluşturulan eğitim verisini işlemek için Weka makine öğrenmesi programı kullanılmıştır. Eğitim verisi, bir C4.5 karar ağacı gerçeklemesi olan J48 karar ağacı öğrenmesi ile kullanılmıştır. Oluşturulan karar ağacı %76,85 başarılı sınıflandırma oranına sahiptir. Çalışma sonunda program özellikleri ile atık bellek toplayıcı performansı arasında ilişki olduğu gösterilmiştir. Bu ilişkiyi formüle ederek atık bellek toplayıcı performansını tahmin edecek bir sistem önerilmiştir. Önerilen sistem verilen sonuçları sınıflandırabilmiştir. Gelecek çalışmalarda daha geniş bir program örneklemi ve özellik seti seçilerek başarı düzeyinin artırılabileceği düşünülmektedir.
Özet (Çeviri)
Java programming language introduces garbage collection to manage memory automatically. In this thesis, it is proposed that there should be a relation between garbage collector performance and program properties. It is also proposed that this relation can be exploited and good performing garbage collector for a program can be predicted by analyzing program. Predictor function can be constructed by using a machine learning system which creates a decision tree. Training data is needed to feed such system. Programs can be tested with different garbage collectors. After that program property data can be merged to garbage collector performance data to produce training data. The DaCapo Benchmark Suite is chosen for work. Benchmark programs are analyzed both statically and dynamically. Metrics including Chidamber and Kemerer metrics are extracted as static properties and also object allocation metrics extracted as dynamic properties through a single program execution. Program properties mentioned constructed training data with garbage collector results. Weka machine learning tool is used to build a decision tree. J48, which is an implementation of C4.5 algorithm is used to build a decision tree. Decision tree's success rate is measured as 76.85%. With this work, relation between program properties and garbage collection performance is shown. Using this relation a predictor system is proposed. This system had been able to classify instances correctly. In future research, it is possible to obtain better results with extended set of sample programs and program properties.
Benzer Tezler
- Java virtual machine design and implementation
Java sanal makina tasarımı ve geliştirilmesi
AHMET KARAKAYA
Yüksek Lisans
İngilizce
2008
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolMarmara ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
PROF. DR. M. AKİF EYLER
- Comparison of code performance generated by java and kotlin compilers
Başlık çevirisi yok
ENES ZOR
Yüksek Lisans
İngilizce
2020
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolLublin University of TechnologyDR. JAKUB SMOłKA
- Genetik algoritmaların optimal güzergah belirlenmesine uygulanması
Optimal genetic algorithms determining the implementation of route
İSMAİL KAYA
Yüksek Lisans
Türkçe
2012
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolHaliç ÜniversitesiBilgisayar ve Bilişim Mühendisliği Ana Bilim Dalı
YRD. DOÇ. DR. ULVİYE HACIYEVA
- 'Java Bean'leri ve bir veritabanına erişim uygulaması
'Java Beans' and a database access application
E. ESRA ATALAY
Yüksek Lisans
Türkçe
1999
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Teknik ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
PROF. DR. A. EMRE HARMANCI
- Java eğitimi araştırması
Research on java education
TURHAN GANİZ
Yüksek Lisans
Türkçe
1999
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolMarmara ÜniversitesiBilgisayar Kontrol Eğitimi Bilim Dalı
PROF. DR. SEZGİN ALSAN