中文

属性探针在教育环境中的应用研究

编程语言 2025-03-03 v1

摘要

背景:开发编译器和静态分析工具("语言工具")是一项困难且耗时的任务。我们之前提出了*属性探针*,一种帮助语言工具开发者构建理解工具的技术。探针为编译器提供了对内部状态的实时视图,使开发者能够看到整个编译或分析过程中所有中间步骤,而不仅仅是最终输出。该技术在名为 CodeProber 的工具中得到了实现。查询:CodeProber 已在研究和教育中活跃使用超过两年,但其实际使用情况尚未得到充分研究。CodeProber 将活跃性、AST 探索和程序分析结果展示在源代码之上。虽然有其他工具专门针对语言工具开发者,但我们不知有哪些工具具有与 CodeProber 相同的设计,更不用说拥有大规模用户研究的工具了。因此,我们认为存在一种缺乏知识的现象,即属性探针(以及 CodeProber 的延伸)在实际中的使用情况如何。方法:我们 presenting了对 CodeProber 在教育环境中使用情况的混合方法研究结果,旨在发现属性探针是否以及如何帮助,以及它们如何与更传统的技术(如测试用例和打印调试)进行比较。在该研究中,我们分析了 11 份关于学生使用 CodeProber 作为课程中程序分析课程的一部分进行的面对面访谈的数据。我们还分析了来自同一课程中 24 名学生的 CodeProber 事件日志,以及来自两个使用 CodeProber 的课程中 51 份匿名调查问卷的数据。知识:我们的发现表明,学生认为 CodeProber 有用,并且他们在课程实验中持续使用它。我们进一步发现,本研究中的学生似乎在部分或完全使用 CodeProber 来替代其他开发工具和技术,例如断点/单步调试、测试用例和打印调试。 grounding:我们的论点由三种不同的数据来源支持:11 份面对面访谈、来自 24 名学生的日志分析,以及 51 份调查问卷。重要性:我们希望我们的发现能激励他人考虑 live exploration 以帮助语言工具开发者构建对工具的理解。

关键词

引用

@article{arxiv.2502.20540,
  title  = {Study of the Use of Property Probes in an Educational Setting},
  author = {Anton Risberg Alaküla and Niklas Fors and Emma Söderberg},
  journal= {arXiv preprint arXiv:2502.20540},
  year   = {2025}
}