Detection of presentation-layer code smells in declarative android architectures
Deklaratif androıd mimarilerinde sunum katmanı kod kokularının tespiti
- Tez No: 1022193
- Danışmanlar: DOÇ. DR. FEZA BUZLUCA
- Tez Türü: Yüksek Lisans
- Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Computer Engineering and Computer Science and Control
- Anahtar Kelimeler: Android, Bilgisayar yazılımları, Nesneye dayalı yazılım, Uygulama yazılımı, Android, Computer softwares, Object oriented software, Application software
- Yıl: 2026
- Dil: İngilizce
- Üniversite: İstanbul Teknik Üniversitesi
- Enstitü: Lisansüstü Eğitim Enstitüsü
- Ana Bilim Dalı: Bilgisayar Mühendisliği Ana Bilim Dalı
- Bilim Dalı: Bilgisayar Mühendisliği Bilim Dalı
- Sayfa Sayısı: Belirtilmemiş.
Özet
Bu tez, Jetpack Compose ile geliştirilen deklaratif Android uygulamalarında sunum katmanında ortaya çıkan kod kokularını incelemektedir. Mevcut Android kod kokusu taksonomileri ve statik analiz araçları büyük ölçüde imparatif Java ve XML tabanlı mimariler için tasarlandığından, durum güdümlü oluşturma, yeniden oluşturma, composable fonksiyonlar ve açık yan etki API'leri gibi deklaratif yapılara özgü özellikleri yeterince modelleyememektedir. Bu boşluğu gidermek amacıyla çalışma, beş kategori altında düzenlenen on dört sunum katmanı kod kokusundan oluşan deklaratif mimari farkındalığa sahip bir taksonomi önermektedir. Her kod kokusu Goal-Question-Metric yaklaşımıyla desen tabanlı kurallar, yapısal metrikler ve kalibre edilmiş eşikler kullanılarak operasyonelleştirilmiştir. Taksonomi, Kotlin UAST yapılarını ve sembol düzeyindeki bilgileri analiz eden Android Lint tabanlı DeSmell aracında uygulanmıştır. DeSmell, on açık kaynaklı Jetpack Compose uygulaması üzerinde değerlendirilmiş ve Android Lint Compose kontrolleri, Slack Compose Lints ve Compose Stability Analyzer ile karşılaştırılmıştır. Temel araçlar birlikte değerlendirildiğinde taksonominin yüzde 42,86'sı ile en az kısmi kavramsal uyum görülmüş, yüzde 57,14'ü için karşılık bulunmamıştır. Kontrollü geliştirici anketi orta düzeyde görünüş geçerliliği kanıtı sağlamıştır. Sonuçlar, deklaratif kullanıcı arayüzü kalitesinin mimari farkındalığa sahip, anlamsal örüntüler ile metrik tabanlı tespiti birleştiren statik analiz yaklaşımları gerektirdiğini ve DeSmell'in mevcut araçlara tamamlayıcı mimari kapsam sunduğunu göstermektedir. Araç, mantık yoğunlaşması, sorumluluk sızıntısı, karmaşıklık ve yan etki baskınlığı risklerini belirlemektedir.
Özet (Çeviri)
This thesis investigates presentation-layer code smells in declarative Android applications developed with Jetpack Compose. Existing Android smell taxonomies and static analysis tools were largely designed for imperative Java and XML architectures and therefore do not adequately model declarative concepts such as state-driven rendering, recomposition, composable functions, and explicit side-effect APIs. To address this gap, the study proposes a declarative-aware taxonomy containing fourteen presentation-layer smells organized into five categories. Each smell is operationalized through the Goal-Question-Metric approach using pattern-based rules, structural metrics, and calibrated thresholds. The taxonomy is implemented in DeSmell, an Android Lint-based static analysis tool that analyzes Kotlin UAST structures and symbol-level information. DeSmell was evaluated on ten open-source Jetpack Compose applications and compared with Android Lint Compose checks, Slack Compose Lints, and Compose Stability Analyzer. When the baseline tools were considered together, at least partial conceptual alignment was observed for 42.86% of the taxonomy, while 57.14% had no direct or partial counterpart. A developer survey provided moderate face-validity evidence. The results indicate that declarative user interface quality assessment requires architecture-aware static analysis combining semantic patterns with metric-based detection. DeSmell complements tools by exposing maintainability risks related to logic concentration, responsibility leakage, composable complexity, reactive-state fragmentation, and side-effect dominance.
Benzer Tezler
- Subjective intensity and pleasantness in taste
Tatta öznel yoğunluk ve hoşluk' konulu
MARİA GERALDİNE VELDHUİZEN
- APPN mimarisi ile diğer şebeke mimarilerinin bütünleştirilmesine ilişkin yöntemler
Integration methods of APPN architecture and other networking architectures
ALPER GÜVENER
Yüksek Lisans
Türkçe
2000
Elektrik ve Elektronik Mühendisliğiİstanbul Teknik ÜniversitesiPROF.DR. GÜNSEL DURUSOY
- Üç katmanlı güvenlik analizi yaklaşımına dayanan iris tanıma ile kimlik doğrulama
Authentication with iris recognition based on a 3-tier security analyis approach
YASEMİN SANDAL
Yüksek Lisans
Türkçe
2018
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolKarabük ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
YRD. DOÇ. DR. HAKAN KUTUCU
- Uydu verileri ile İstanbul Boğazı ve Haliç'de su kirliliğinin makro düzeyde belirlenmesi
Intrepretation at macro level as pollution of water resources of remotely sensed data of Bosphorus and golden horn estuary by an unsupervised and supervised classification method
H.GONCA COŞKUN
- A friendly physical layer warden system
Dost bir fiziksel katman bekçi sistemi
MİRAÇ KUMRAL
Yüksek Lisans
İngilizce
2022
Elektrik ve Elektronik Mühendisliğiİstanbul Teknik ÜniversitesiElektronik ve Haberleşme Mühendisliği Ana Bilim Dalı
PROF. DR. GÜNEŞ ZEYNEP KARABULUT KURT