paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Understanding developers' needs on deprecation as a language feature

理解开发者对弃用作为语言特性的需求
ICSE Proceedings of the 40th International Conference on Software Engineering2018匹配度 2/10 · 论文关注Java弃用语言特性的开发者需求与机制改进,属于PL/SE实证与语言设计研究;与用户核心方向PL与AI交叉、静态分析、浮点程序分析、贝叶斯程序分析等无直接关联,仅泛属编程语言与开发者工具。引用 31 inbox
Anand Ashok Sawant, Maurício Aniche, Arie van Deursen, Alberto Bacchelli
crossref: 2026-09-12

AI 速览

一句话:通过访谈与问卷揭示 Java API 开发者对弃用机制的需求,并提出三项增强方案。

弃用(deprecation)是一种语言特性,允许 API 生产者将某个特性标记为过时。本文旨在深入理解 API 生产者与消费者对弃用的需求。作者对 17 名第三方 Java API 生产者进行半结构化访谈,并调查了 170 名 Java 开发者,考察生产者为何弃用特性、是否移除已弃用特性、期望消费者如何反应,以及促使消费者对弃用作出反应的原因。研究发现,Java 当前的弃用机制及已有的增强提案均无法完全满足开发者的需求。基于这些发现,作者提出并评估了三项针对弃用机制的进一步增强方案。

问题
Java 现有的弃用机制及已有改进提案未能覆盖 API 生产者与消费者的全部需求,且缺乏对开发者真实需求的系统性理解。
方法
对 17 名第三方 Java API 生产者开展半结构化访谈,并对 170 名 Java 开发者进行问卷调查,归纳其弃用相关实践与期望。
评估
基于访谈与问卷揭示的未满足需求,提出三项弃用机制增强方案并对其进行评估。
原文摘要(Abstract)

Deprecation is a language feature that allows API producers to mark a feature as obsolete. We aim to gain a deep understanding of the needs of API producers and consumers alike regarding deprecation. To that end, we investigate why API producers deprecate features, whether they remove deprecated features, how they expect consumers to react, and what prompts an API consumer to react to deprecation. To achieve this goal we conduct semi-structured interviews with 17 third-party Java API producers and survey 170 Java developers. We observe that the current deprecation mechanism in Java and the proposal to enhance it does not address all the needs of a developer. This leads us to propose and evaluate three further enhancements to the deprecation mechanism.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@inproceedings{paperbot4426,
  title = {Understanding developers' needs on deprecation as a language feature},
  author = {Anand Ashok Sawant and Maurício Aniche and Arie van Deursen and Alberto Bacchelli},
  booktitle = {ICSE},
  year = {2018},
  doi = {10.1145/3180155.3180170}
}