paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Sidekicks and superheroes

助手与超级英雄
ICSE Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering: Software Engineering Education and Training2020匹配度 1/10 · 该论文属于计算机教育研究,关注学生在 Java 线程与 Scala Actor 并发编程中的推理困难,与用户画像中的 PL/AI 交叉、静态分析、Agentic 程序、浮点程序分析、贝叶斯程序分析及 LLM 用于形式化验证等方向基本无关。引用 5 inbox
Aubrey Lawson, Eileen T. Kraemer
crossref: 2026-09-12

AI 速览

一句话:通过让学生在 Java 线程与 Scala Actor 两种方式下实现同一并发问题,分析其从设计到实现阶段的推理困难。

并发编程对学生而言难以掌握。以往研究多通过自然语言描述考察设计阶段推理,缺少对实现阶段的观察。本文要求修读“Programming with Concurrency”高年级/硕士课程的学生,分别用 Java 线程和 Scala Actor 实现同一 sidekick/superhero 版本的 party matching 问题,并对实现代码与书面反思进行定性特征分析。研究发现,设计阶段出现的“额外复杂性”同样出现在实现中,使程序笨重、难以追踪,并负面影响学生成功率。学生反思显示他们抵触实现前建模,且认为形式化建模困难。作者建议在开发过程更早阶段采用更轻量的干预,可能更易被学生接受并产生实质效果。

问题
学生在并发编程中难以推理,且已有研究多集中于设计阶段,尚不清楚设计中的问题如何延续到实现阶段。
方法
对修读并发编程课程的学生进行实证研究,要求他们用 Java 线程和 Scala Actor 实现同一问题,并对代码与反思做定性特征分析。
评估
通过定性特征分析学生实现与书面反思,识别常见且有问题的特征,并比较设计阶段与实现阶段的差异。
原文摘要(Abstract)

When computations consist of different processes or threads that may execute at the same time or in an interleaved manner, we say the computation is concurrent or that it exhibits concurrency. University students often struggle to reason about concurrency. Researchers have presented students with natural language descriptions of scenarios involving concurrency and have evaluated students' natural language responses to explore their prior knowledge and to determine characteristics of student reasoning about concurrency. However, natural language responses are necessarily abstract and pertain to the design stage of software development, while studies in which students are asked to implement solutions provide a more concrete view of student reasoning and reveal difficulties that arise when putting design into practice. In this work we build upon prior work and ask: What are common and problematic features in student approaches to solving concurrency-related problems? How do these features differ from the design phase to the implementation phase of the software development life cycle? In this study we asked students enrolled in a jointly offered upper division undergraduate / MS level course on "Programming with Concurrency" to implement a solution to the same problem (a sidekick/superhero version of the party matching problem) using two different approaches: Threads-based in Java, and Actors-based in Scala. We performed qualitative feature analysis of their implementations and their written reflections to better understand student reasoning when programming concurrent solutions. The feature of additional complexity was found in our earlier natural language study in which students described their designs. Additional complexity was also represented in student implementations in this study and adversely impacted student success as their programs became cumbersome and hard to trace. Student reflections provided insight into their resistance to modeling prior to implementation, and indicated that they found formal modeling techniques difficult. These findings suggest that lighter weight interventions that address student difficulties earlier in the development process may be more palatable to students and thus have substantial impact.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot5686,
  title = {Sidekicks and superheroes},
  author = {Aubrey Lawson and Eileen T. Kraemer},
  booktitle = {ICSE},
  year = {2020},
  doi = {10.1145/3377814.3381706}
}