Teaching Design by Contract using Snap!

M. Huisman, Raúl E. Monti
{"title":"Teaching Design by Contract using Snap!","authors":"M. Huisman, Raúl E. Monti","doi":"10.1109/SEENG53126.2021.00007","DOIUrl":null,"url":null,"abstract":"With the progress in deductive program verification research, new tools and techniques have become available to support design-by-contract reasoning about non-trivial programs written in widely-used programming languages. However, deductive program verification remains an activity for experts, with ample experience in programming, specification and verification. We would like to change this situation, by developing program verification techniques that are available to a larger audience. In this paper, we present how we developed prototypal program verification support for Snap!. Snap! is a visual programming language, aiming in particular at high school students. We added specification language constructs in a similar visual style, designed to make the intended semantics clear from the look and feel of the specification constructs. We provide support both for static and dynamic verification of Snap! programs. Special attention is given to the error messaging, to make this as intuitive as possible.","PeriodicalId":120062,"journal":{"name":"2021 Third International Workshop on Software Engineering Education for the Next Generation (SEENG)","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2021-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2021 Third International Workshop on Software Engineering Education for the Next Generation (SEENG)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SEENG53126.2021.00007","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1

Abstract

With the progress in deductive program verification research, new tools and techniques have become available to support design-by-contract reasoning about non-trivial programs written in widely-used programming languages. However, deductive program verification remains an activity for experts, with ample experience in programming, specification and verification. We would like to change this situation, by developing program verification techniques that are available to a larger audience. In this paper, we present how we developed prototypal program verification support for Snap!. Snap! is a visual programming language, aiming in particular at high school students. We added specification language constructs in a similar visual style, designed to make the intended semantics clear from the look and feel of the specification constructs. We provide support both for static and dynamic verification of Snap! programs. Special attention is given to the error messaging, to make this as intuitive as possible.
使用Snap!契约式教学设计
随着演绎程序验证研究的进展,新的工具和技术已经可用来支持用广泛使用的编程语言编写的重要程序的契约式设计推理。然而,演绎程序验证仍然是专家的活动,他们在编程、规范和验证方面有丰富的经验。我们想要改变这种情况,通过开发程序验证技术,使其对更多人可用。在本文中,我们介绍了我们如何为Snap开发原型程序验证支持。中计了!是一种可视化编程语言,特别针对高中生。我们以类似的视觉风格添加了规范语言结构,旨在使预期的语义从规范结构的外观和感觉中变得清晰。我们为Snap的静态和动态验证提供支持!项目。特别注意错误消息传递,使其尽可能直观。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信