paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Inheritance usage patterns in open-source systems

开源系统中的继承使用模式
ICSE Proceedings of the 40th International Conference on Software Engineering2018匹配度 1/10 · 论文是面向对象继承使用模式的实证研究,关注继承层次设计质量与可自动检测指标,属于软件工程/语言设计经验研究;与用户核心关注的 LLM/Agent 与静态分析、形式化验证、浮点程序分析、贝叶斯程序分析等方向基本无关。引用 1 inbox
Jamie Stevenson, Murray I. Wood
crossref: 2026-09-12

AI 速览

一句话:通过分析14个开源系统的2440个继承层次,揭示继承实践模式并给出可自动检测的质量评估指标。

本文研究面向对象继承在实践中的真实使用方式,旨在弥合继承设计指南与实际开发之间的差距。作者对来自14个开源系统的2440个继承层次进行了详细分析,并提出了对继承层次设计质量进行务实评估的方法。研究发现,继承被广泛使用,但大多数使用模式结构简单,可能不需要大量继承专属设计考量;然而,多数通过继承定义的类实际位于少数大型复杂层次中。这些大型层次有的具有一致结构,常基于问题域模型或设计模式,有的则不然。论文还指出,层次质量,尤其是有问题的大型层次,可依据规模、形状以及新方法的定义与调用等可自动检测的属性来评估。

问题
继承设计指南与实际使用之间存在差距,缺乏对真实开源系统中继承层次使用模式与设计质量的系统认识。
方法
对14个开源系统中的2440个继承层次进行详细实证分析,考察其规模、形状、结构一致性以及新方法定义与调用等属性。
评估
基于开源系统语料库的统计分析,并论证规模、形状和新方法定义与调用等可自动检测属性可用于评估继承层次质量。
原文摘要(Abstract)

This research investigates how object-oriented inheritance is actually used in practice. The aim is to close the gap between inheritance guidance and inheritance practice. It is based on detailed analyses of 2440 inheritance hierarchies drawn from 14 open-source systems. The original contributions made by this paper concern pragmatic assessment of inheritance hierarchy design quality. The findings show that inheritance is very widely used but that most of the usage patterns that occur in practice are simple in structure. They are so simple that they may not require much inheritance-specific design consideration. On the other hand, the majority of classes defined using inheritance actually appear within a relatively small number of large, complex hierarchies. While some of these large hierarchies appear to have a consistent structure, often based on a problem domain model or a design pattern, others do not. Another contribution is that the quality of hierarchies, especially the large problematic ones, may be assessed in practice based on size, shape, and the definition and invocation of novel methods - all properties that can be detected automatically.

链接与引用

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

BibTeX
@inproceedings{paperbot4442,
  title = {Inheritance usage patterns in open-source systems},
  author = {Jamie Stevenson and Murray I. Wood},
  booktitle = {ICSE},
  year = {2018},
  doi = {10.1145/3180155.3180168}
}