paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Dependency Facade: The Coupling and Conflicts between Android Framework and Its Customization

依赖门面:Android 框架与其定制化之间的耦合与冲突
ICSE 2023 IEEE/ACM 45th International Conference on Software Engineering (ICSE)2023匹配度 2/10 · 论文研究 Android 上游与下游定制的依赖耦合与合并冲突,属于软件工程和程序分析,但不涉及 LLM/Agent、浮点程序分析或贝叶斯程序分析,与用户核心的 PL 与 AI 交叉方向无关。引用 9 inbox
Wuxia Jin, Yitong Dai, Jianguo Zheng, Yu Qu, Ming Fan, Zhenyu Huang, Dezhi Huang, Ting Liu
crossref: 2026-09-12dblp: 2026-09-12

AI 速览

一句话:提出 DepFCD 从接口级、侵入级与 non-SDK 约束三方面刻画下游定制与上游 Android 的依赖耦合,并实证其与合并冲突的关系。

移动设备厂商基于 Google Android(上游)开发定制系统(下游),在独立开发的同时需周期性将上游新版本的改动合并回自身分支;由于待合并提交数量庞大,自动合并失败会报告大量代码冲突。已有工作研究过该场景下的冲突,但下游与上游之间的耦合(作者称之为 dependency facade)以及合并冲突与该耦合的关系仍不清楚。本文提出 DepFCD,从三个方面揭示依赖门面:指示清晰设计边界的接口级依赖、模糊该边界的侵入级依赖,以及上游 non-SDK 限制施加的依赖约束。作者在四个开源下游项目与一个工业项目、共 15 对下游/上游版本上开展四项实证研究(RQ1–RQ3 考察依赖门面的三个方面,RQ4 考察合并冲突)。研究给出了有趣的观察,并建议通过良好管理的依赖门面提前缓解合并冲突,对上下游耦合研究与下游维护实践均有借鉴意义。

问题
下游 Android 定制系统与上游 Google Android 之间的依赖耦合结构(dependency facade)尚不清晰,也不清楚合并冲突与该耦合有何关联,导致冲突难以提前缓解。
方法
提出 DepFCD 工具,从接口级依赖、侵入级依赖以及上游 non-SDK 限制带来的依赖约束三个维度刻画依赖门面,并据此组织实证分析。
评估
在 4 个开源下游项目与 1 个工业项目、共 15 对下游/上游版本上开展四项研究问题(RQ1–RQ3 分析依赖门面的三个维度,RQ4 分析合并冲突),据此总结观察与实践建议。
原文摘要(Abstract)

Mobile device vendors develop their customized Android OS (termed downstream) based on Google Android (termed upstream) to support new features. During daily independent development, the downstream also periodically merges changes of a new release from the upstream into its development branches, keeping in sync with the upstream. Due to a large number of commits to be merged, heavy code conflicts would be reported if auto-merge operations failed. Prior work has studied conflicts in this scenario. However, it is still unclear about the coupling between the downstream and the upstream (We term this coupling as the dependency facade), as well as how merge conflicts are related to this coupling. To address this issue, we first propose the DepFCD to reveal the dependency facade from three aspects, including interface-level dependencies that indicate a clear design boundary, intrusion-level dependencies which blur the boundary, and dependency constraints imposed by the upstream non-SDK restrictions. We then empirically investigate these three aspects (RQ1, RQ2, RQ3) and merge conflicts (RQ4) on the dependency facade. To support the study, we collect four open-source downstream projects and one industrial project, with 15 downstream and 15 corresponding upstream versions. Our study reveals interesting observations and suggests earlier mitigation of merge conflicts through a well-managed dependency facade. Our study will benefit the research about the coupling between upstream and downstream as well as the downstream maintenance practice.

链接与引用

DOI 原文 · DBLP

BibTeX
@inproceedings{JinDZQFHHL23,
  title = {Dependency Facade: The Coupling and Conflicts between Android Framework and Its Customization},
  author = {Wuxia Jin and Yitong Dai and Jianguo Zheng and Yu Qu and Ming Fan and Zhenyu Huang and Dezhi Huang and Ting Liu},
  booktitle = {ICSE},
  year = {2023},
  doi = {10.1109/icse48619.2023.00144}
}