A tool development for test case based code optimization in Java
Java dilinde, test temelli kod eniyileme için araç geliştirilmesi
- Tez No: 604939
- Danışmanlar: DR. ÖĞR. ÜYESİ KÖKTEN ULAŞ BİRANT
- 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: 2019
- Dil: İngilizce
- Üniversite: Dokuz Eylül Üniversitesi
- Enstitü: Fen Bilimleri Enstitüsü
- Ana Bilim Dalı: Bilgisayar Mühendisliği Ana Bilim Dalı
- Bilim Dalı: Belirtilmemiş.
- Sayfa Sayısı: 54
Ö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.
Özet (Çeviri)
Java has been a popular programming language since its first stable release in 1996 because of its platform independence. Platform independence provides flexibility and simplicity for programmers. Along with its popularity Java has been a focus of performance studies since its debut. Software performance has lost popularity as advances in hardware have improved the performance of devices running Java. With the release of Android OS and rapid increase in mobile device ownership Java language usage has increased once again. Mobile devices having far less system resources compared to personal computers has re-brought software performance studies into the spotlight, and reinvigorated code optimization studies. However mobile devices have gone into a fast-paced development like all other information technologies and this brought down the need for software performance studies, again. Also, worth mentioning that development of new Java Virtual Machine (JVM) versions has made the specialized compiler studies, which may threaten the platform independency, obsolete except for specific situations. Today it is not enough to consider code optimization solely in terms of performance improvement. Much broader vision is needed like software development processes such as maintainability, code readability, improving cooperation in multi-programmer projects, software quality assurance. In this study, white box testing approach is adopted as the software testing technique and static code analysis method is selected to ensure line coverage. A new software (JPA) has been developed based on a currently used testing tool (PMD) to improve the user experience. Because PMD runs through the command line, it is necessary to know the commands to use. JPA is designed with a graphical user interface to make it easier to use. If there is a previously created report with the same name as the violation report in the command entered to run PMD, this report is overwritten. In JPA, there is no overwriting because reports are stored in database. In addition, the generated reports can be compared. Also, JPA can still run on any operating system like PMD.
Benzer Tezler
- Stochastic bitstream-based vision and learning machines
Stokastik bit akışı tabanlı görü ve öğrenme makineleri
SERCAN AYGÜN
Doktora
İngilizce
2022
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Teknik ÜniversitesiElektronik ve Haberleşme Mühendisliği Ana Bilim Dalı
PROF. DR. ECE OLCAY GÜNEŞ
- A vibration-based damage detection algorithm for bridge type structures
Köprü tipi yapılar için titreşim tabanlı bir hasar tespit algoritması
AHMED AL-QAYYIM
Doktora
İngilizce
2017
İnşaat Mühendisliğiİstanbul Teknik Üniversitesiİnşaat Yapı ve Altyapı Mühendisliği Ana Bilim Dalı
YRD. DOÇ. DR. BARLAS ÖZDEN ÇAĞLAYAN
- Rapid prototyping concept design and implementation for unified diagnostic services software development
Ortaklaştırılmış tanılama servisleri yazılım geliştirilmesi için hızlı prototipleme konsepti tasarımı ve gerçeklemesi
YILMAZ MURAT GİRGİN
Yüksek Lisans
İngilizce
2019
Mekatronik Mühendisliğiİstanbul Teknik ÜniversitesiMekatronik Ana Bilim Dalı
YRD. DOÇ. SIDDIK MURAT YEŞİLOĞLU
- A multi-disciplinary design approach for conceptual sizing of advanced rotor blades
Gelişmiş rotor palalarının kavramsal boyutlandırması için çok disiplinli tasarım yaklaşımı
HASAN İBAÇOĞLU
Doktora
İngilizce
2022
Havacılık Mühendisliğiİstanbul Teknik ÜniversitesiUçak ve Uzay Mühendisliği Ana Bilim Dalı
PROF. DR. AYTAÇ ARIKOĞLU
- Rüzgar tarlası verisi kullanılarak analitik rüzgar türbin izi modellerinin performanslarının değerlendirilmesi
Evaluation of performances of analytical wind turbine wake models using wind farm data
TARIK KAYTANCI
Yüksek Lisans
Türkçe
2016
Enerjiİstanbul Teknik ÜniversitesiMeteoroloji Mühendisliği Ana Bilim Dalı
PROF. DR. ŞÜKRAN SİBEL MENTEŞ