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

Detection of presentation-layer code smells in declarative android architectures

Loading...
Thumbnail Image

Journal Title

Journal ISSN

Volume Title

Publisher

Graduate School

Abstract

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.

Description

Thesis (M.Sc.) -- Istanbul Technical University, Graduate School, 2026

Journal or Series

ISSN

ISBN

Rights

Keywords

Computer softwares, Bilgisayar yazılımları, Object oriented software, Nesneye dayalı yazılım, Application software, Uygulama yazılımı

Citation

Endorsement

Review

Supplemented By

Referenced By

0

Views

0

Downloads