Tezin Türü: Yüksek Lisans
Tezin Yürütüldüğü Kurum: Dokuz Eylül Üniversitesi, Fen Bilimleri Enstitüsü, Bilgisayar Mühendisliği Ana Bilim Dalı, Türkiye
Tezin Onay Tarihi: 2019
Tezin Dili: İngilizce
Öğrenci: TURGAY TAYMAZ
Danışman: KÖKTEN ULAŞ BİRANT
Açık Arşiv Koleksiyonu: AVESİS Açık Erişim Koleksiyonu
Özet:Java, çalıştırıldığı platformdan bağımsız olması nedeniyle ilk stabil versiyonunun çıktığı tarih olan 1996 yılından günümüze dek oldukça popüler bir programlama dili olmuştur. Platform bağımsızlığı, programcılar için esneklik ve basitlik sağlar. Java'nın sahip olduğu popülerliğinin paralelinde de ilk versiyonundan itibaren performans çalışmalarına konu olmuştur Donanımdaki gelişmeler, Java'yı çalıştıran cihazların performansını geliştirmesi ile yazılım performansı popülaritesini kaybetmiştir. 2008 yılında Android işletim sisteminin ortaya çıkışıyla ve mobil cihazların kullanımının hızla yayılmasıyla birlikte Java dilinin kullanımı yeniden artmıştır. Mobil cihazların kişisel bilgisayarlara kıyasla çok daha düşük sistem kaynaklarına sahip olması yazılım performansını tekrar gündeme getirmiş ve kod optimizasyon çalışmaları yeniden hız kazanmıştır. Mobil cihazlar da diğer bilişim cihazları gibi hızlı bir gelişim sürecine girmiş ve yazılım performansı çalışmalarına olan ihtiyacı azaltmıştır. Şunu da belirtmekte fayda var, Java kodlarının üzerinde çalıştığı Java Sanal Makinesi (JVM) versiyonlarının gelişimi platform bağımsızlığını ortadan kaldırabilen özelleştirilmiş derleyici çalışmalarını, özel durumlar dışında gereksiz kılmıştır. Ancak günümüzde kod optimizasyonuna yalnızca performans artırma açısından bakmak yetersiz kalacaktır. Bakım kolaylığı, kod okunabilirliği, çok programcılı çalışmalarda aradaki uyumun sağlanması, yazılım kalite güvencesi gibi yazılım geliştirme süreçlerinde kod optimizasyon yöntemlerinin kullanımı da dahil edilerek daha geniş bir pencereden bakılmalıdır. Bu tez çalışmasında yazılım test tekniklerinden beyaz kutu testi yaklaşımı benimsenmiş ve satır kapsamayı sağlamak için statik kod analizi yöntemi seçilmiştir. Bu yöntemi otomatik gerçekleştirmek için halihazırda kullanılan bir test aracı olan PMD baz alınmış ve kullanıcı deneyimini geliştirmeye yönelik bir yazılım (JPA) geliştirilmiştir. PMD komut satırından çalıştığı için, kullanılacak komutları bilmek gereklidir. JPA kullanımı kolaylaştırmak için bir grafik kullanıcı arayüzü ile tasarlanmıştır. PMD'yi çalıştırmak için girilen komuttaki ihlal raporuyla aynı ada sahip daha önce oluşturulmuş bir rapor varsa, bu raporun üzerine yazılır. JPA'da, raporlar veri tabanında saklandığından üzerine yazma yoktur. Buna ek olarak, oluşturulan raporlar karşılaştırılabilir. Ayrıca, JPA hala PMD gibi herhangi bir işletim sisteminde çalışabilir.