Geri Dön

Detection of presentation-layer code smells in declarative android architectures

Deklaratif androıd mimarilerinde sunum katmanı kod kokularının tespiti

  1. Tez No: 1022193
  2. Yazar: ARDA GÖKALP BATMAZ
  3. Danışmanlar: DOÇ. DR. FEZA BUZLUCA
  4. Tez Türü: Yüksek Lisans
  5. Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Computer Engineering and Computer Science and Control
  6. Anahtar Kelimeler: Android, Bilgisayar yazılımları, Nesneye dayalı yazılım, Uygulama yazılımı, Android, Computer softwares, Object oriented software, Application software
  7. Yıl: 2026
  8. Dil: İngilizce
  9. Üniversite: İstanbul Teknik Üniversitesi
  10. Enstitü: Lisansüstü Eğitim Enstitüsü
  11. Ana Bilim Dalı: Bilgisayar Mühendisliği Ana Bilim Dalı
  12. Bilim Dalı: Bilgisayar Mühendisliği Bilim Dalı
  13. 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

  1. Subjective intensity and pleasantness in taste

    Tatta öznel yoğunluk ve hoşluk' konulu

    MARİA GERALDİNE VELDHUİZEN

    Doktora

    İngilizce

    İngilizce

    2006

    PsikolojiUthrecht Unıversıty

    Psikoloji Ana Bilim Dalı

    PROF. DR. J.H.A. KROEZE

  2. 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

    Türkçe

    2000

    Elektrik ve Elektronik Mühendisliğiİstanbul Teknik Üniversitesi

    PROF.DR. GÜNSEL DURUSOY

  3. Üç 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

    Türkçe

    2018

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolKarabük Üniversitesi

    Bilgisayar Mühendisliği Ana Bilim Dalı

    YRD. DOÇ. DR. HAKAN KUTUCU

  4. 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

    Doktora

    Türkçe

    Türkçe

    1992

    Jeodezi ve Fotogrametriİstanbul Teknik Üniversitesi

    PROF. DR. CANKUT ÖRMECİ

  5. A friendly physical layer warden system

    Dost bir fiziksel katman bekçi sistemi

    MİRAÇ KUMRAL

    Yüksek Lisans

    İngilizce

    İngilizce

    2022

    Elektrik ve Elektronik Mühendisliğiİstanbul Teknik Üniversitesi

    Elektronik ve Haberleşme Mühendisliği Ana Bilim Dalı

    PROF. DR. GÜNEŞ ZEYNEP KARABULUT KURT