paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Teaching Software Specification (Experience Report)

软件规约教学(经验报告)
ICFP 9(ICFP)2025匹配度 2/10 · 该论文是软件规约教学经验报告,聚焦教学语言、契约与性质测试,与用户关注的静态分析、LLM/Agent、浮点程序分析或贝叶斯程序分析没有直接关系。它虽涉及形式规约,但主要面向本科教学而非程序分析或形式化验证工具研究。引用 1 inbox
Cameron Moy, Daniel Patterson
crossref: 2026-09-10

AI 速览

一句话:报告以软件规约为中心的一年级课程经验,创建支持契约与性质测试的教学语言,并用学生访谈评估效果。

本文是一篇教学经验报告,主张软件规约应在本科课程中占据显著位置。作者描述了一门将软件规约置于核心的一年级课程,并为此创建了一门教学编程语言,重点支持契约和基于性质的测试。课程作业取材于不同领域的真实程序,旨在展示形式规约如何提升对代码正确性的信心。作者通过学生访谈评估教学效果,结果表明该方法能有效帮助学生理解形式规约与软件构建之间的相关性。

问题
如何将软件规约有效融入本科低年级课程,并让学生认识到形式规约对软件构建的相关性与价值。
方法
作者设计并讲授以软件规约为核心的一年级课程,开发支持契约和基于性质测试的教学编程语言,并布置跨领域真实程序作业。
评估
通过学生访谈评估课程效果,发现该方法能成功传达形式规约与软件构建的相关性。
原文摘要(Abstract)

A course on software specification deserves a prominent place in the undergraduate curriculum. This report describes our experience teaching a first-year course that places software specification front and center. In support of the course, we created a pedagogic programming language with a focus on contracts and propertybased testing. Assignments draw on real-world programs, from a variety of domains, that are intended to show how formal specification can increase confidence in the correctness of code. Interviews with students suggest that this approach successfully conveys how formal specification is relevant to software construction.

链接与引用

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

BibTeX
@article{paperbot3027,
  title = {Teaching Software Specification (Experience Report)},
  author = {Cameron Moy and Daniel Patterson},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {9},
  number = {ICFP},
  year = {2025},
  doi = {10.1145/3747533}
}