一句话:提出 DroidDS 自动检测 Android 变体与 AOSP 间破坏设计边界的设计异味,并实证其与维护成本和合并冲突的关联。
Android 厂商基于 AOSP 定制变体,并需周期性跟随上游演化、合并代码变更,但跨边界的不良依赖导致维护困难和冲突。本文刻画了破坏 Android 变体与 AOSP 设计边界、反复出现的设计异味模式,提出自动检测工具 DroidDS,并在 22 个变体版本及对应 AOSP 版本(4 个开源项目、1 个工业项目)上评估。结果表明:涉及设计异味的文件维护成本更高,且不能仅由代码规模、复杂度或 OO 异味解释;这些文件参与了超过一半由重放 AOSP 变更引发的代码冲突;相当一部分设计问题可被缓解。DroidDS 可帮助从业者定位并优先处理设计问题,通过重构维持变体与 AOSP 的健康耦合。
Phone vendors customize their Android variants to enhance system functionalities based on the Android Open Source Project (AOSP). While independent development, Android variants have to periodically evolve with the upstream AOSP and merge code changes from AOSP. Vendors have invested great effort to maintain their variants and resolve merging conflicts. In this paper, we characterize the design smells with recurring patterns that break the design boundary between Android variants and AOSP. These smells are manifested as problematic dependencies across the boundary, hindering Android variants' maintainability and co-evolution with AOSP. We propose the DroidDS for automatically detecting design smells. We collect 22 Android variant versions and 22 corresponding AOSP versions, involving 4 open-source projects and 1 industrial project. Our results demonstrate that: files involved in design smells consume higher maintenance costs than other files; these infected files are not merely the files with large code size, increased complexity, and object-oriented smells; the infected files have been involved in more than half of code conflicts induced by re-applying AOSP's changes to Android variants; a substantial portion of design issues could be mitigable. Practitioners can utilize our DroidDS to pinpoint and prioritize design problems for Android variants. Refactoring these problems will help keep a healthy coupling between diverse variants and AOSP, potentially improving maintainability and reducing conflict risks.
DOI 原文 ·
@inproceedings{paperbot8761,
title = {The Design Smells Breaking the Boundary between Android Variants and AOSP},
author = {Wuxia Jin and Jiaowei Shang and Jianguo Zheng and Mengjie Sun and Zhenyu Huang and Ming Fan and Ting Liu},
booktitle = {ICSE},
year = {2025},
doi = {10.1109/icse55347.2025.00062}
}