<link rel="stylesheet" href="styles.cf390c6bfbe7555f.css">

Detection of presentation-layer code smells in declarative android architectures

dc.contributor.advisorBuzluca, Feza
dc.contributor.authorBatmaz, Arda Gökalp
dc.contributor.authorID504241525
dc.contributor.departmentComputer Engineering
dc.date.accessioned2026-09-28T07:52:40Z
dc.date.issued2026-06-15
dc.descriptionThesis (M.Sc.) -- Istanbul Technical University, Graduate School, 2026
dc.description.abstractThis 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.
dc.description.degreeM.Sc.
dc.identifier.urihttps://hdl.handle.net/11527/81172
dc.language.isoen
dc.publisherGraduate School
dc.sdg.typenone
dc.subjectComputer softwares
dc.subjectBilgisayar yazılımları
dc.subjectObject oriented software
dc.subjectNesneye dayalı yazılım
dc.subjectApplication software
dc.subjectUygulama yazılımı
dc.titleDetection of presentation-layer code smells in declarative android architectures
dc.title.alternativeDeklaratif android mimarilerinde sunum katmanı kod kokularının tespiti
dc.typeMaster Thesis

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
504241525.pdf
Size:
839.64 KB
Format:
Adobe Portable Document Format

License bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
license.txt
Size:
1.58 KB
Format:
Item-specific license agreed upon to submission
Description: