paperbot · PL 论文追踪

全部论文 待读 收藏

P2 How students choose names: A replication study

学生如何选择命名:一项重复研究
ASE Proceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering2022匹配度 1/10 · 该论文是面向学生命名习惯的软件工程实证复现研究,关注代码可读性与命名质量,与用户画像中的静态分析、LLM/Agent、浮点程序分析和贝叶斯程序分析等核心方向没有直接关联。引用 1 inbox
Qing Mi, Xiaoke Wang, Bingnuo Chen
crossref: 2026-09-12

AI 速览

一句话:复现命名选择研究,发现学生命名随年级变长且存在歧义,已有方法可提升超 67% 案例的命名质量。

类、方法和变量命名对代码可读性有重要影响。Feitelson 等人曾通过实证调查研究开发者如何选择命名,并提出一种改进命名质量的方法。本文对该研究进行重复,但将调查对象限定为大学生。具体而言,作者开展了两个实验,共涉及 341 名大一至大四学生。第一个实验考察学生所给名称的特征,结果显示名称长度和包含的词数随年级升高而增加,且学生对变量名存在理解歧义。第二个实验验证 Feitelson 等人的命名方法能否帮助学生提升命名质量,结果显示超过 67% 的案例中命名质量得到改善,从而确认该方法对大学生群体有效。

问题
学生开发者如何选择类、方法和变量名,其命名特征与质量如何,以及已有的命名改进方法是否适用于学生群体。
方法
复现 Feitelson 等人的实证调查,对 341 名大一至大四学生开展两个实验:实验一分析学生命名特征,实验二检验其命名改进方法的效果。
评估
基于学生实验数据,统计名称长度、包含词数、变量名理解歧义,以及命名质量得到改善的案例比例。
原文摘要(Abstract)

Names of classes/methods/variables play an important role in code readability. To investigate how developers choose names, Feitelson et al. conducted an empirical survey and suggested a method to improve naming quality. We replicated their study, but limited the survey subjects to university students. Specifically, we conducted two experiments including 341 students from freshmen to seniors. The aim of the first experiment was to investigate the characteristics of the names given by students. The experimental results showed that the name length as well as the number of words contained in names increased with the grade and students have ambiguity in understanding variable names. The second experiment was to verify whether Feitelson et al.’s naming method can help improve the quality of the names given by students. The experimental results showed an improvement in naming quality for more than 67% of cases, which confirms the validity of the method for university students.

链接与引用

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

BibTeX
@inproceedings{paperbot7218,
  title = {How students choose names: A replication study},
  author = {Qing Mi and Xiaoke Wang and Bingnuo Chen},
  booktitle = {ASE},
  year = {2022},
  doi = {10.1145/3551349.3561174}
}