moonbit-quickcheck-new.pdf

编号:624499 PDF 23页 496.25KB 下载积分:VIP专享
下载报告请您先登录!

moonbit-quickcheck-new.pdf

1、MoonBit QuickCheck基于属性的测试 CAIMEOX 2025-03-21IDEA/PLCT Lab/CNU目录 Part 1.MoonBit 语言介绍 Part 2.QuickCheck 简介 CAIMEOX1/19Part 1.MoonBit我眼中的 MoonBit MoonBit 是一门现代、多后端、高性能的国产编程语言 具有可能是现在综合体验最佳的 WASM 后端 特性集简单,但是好用的特性都有(如 ADT、模式匹配、Trait 等)很像 Rust,静态类型,但是有 GC,不需要手动管理内存 虽然是新语言,但是工具链、标准库都很完善,也有很多社区贡献的库 函数式优先,支持

2、命令式编程 在很多方面都已经超越了现有语言 非常棒的在线 IDE 体验 AI 原生语言,在 LLM4Code 会议有文章 1ShowcasePattern Matchingfn sign(x:Int)-Int match x _.-10=00.1fn classify_char(c:Char)-String match c Built-in JSON supportfn main let json_example:Json=array:a,b,age:22,name:John,boolean:Truelet greeting=match json_example age:Number(age)

3、,name:a.=z=lowercaseString(name)=Hello name.YouA.=Z=uppercaseare age0.=9=digit_=not match_=othergreeting|printlnCommunityMoonBit 仅诞生两年,但在学术界和开源社区已有很多发展:标准库已有超 2000 Commits,60+Contributors 一些初创企业已经使用 MoonBit 开发应用/编译器 北大的程序语言课程已从 OCaml 换到了 MoonBit 中科院 PLCT Lab 已经开放了很多 MoonBit 岗位(欢迎各位在校学生投递简历)MoonBit 编

4、程挑战赛走进了全国 30 余所高校,并得到了包括北京大学、清华大学、中山大学和香港科技大学(广州)等多所顶尖高校的合作与支持 成功举办了多场线上直播/线下 meetup 活动Part 2.QuickC 写测试的难易程度直接影响了开发效率 更好的测试方式可以更快地发现更关键的错误很多现代语言都在测试系统上下了很大功夫,MoonBit 也是如此:对于单元测试,MoonBit 学习了 OCaml 的 expect(snapshot)test 2,可以让编译器自动填充测试结果,快速迭代代码 MoonBit 同样提供了一个基于 LLM 的测试生成器,与 VSCode 扩展深度结合,可以快速生成指定函数的

5、测试用例 CAIMEOX5/19软件测试为什么这么困难不过,即使有 AI 和快照测试的帮助,编写很多测试用例仍然是一项繁重且不太愉快(甚至恼火)的工作:不一定能够检查出所有类型的错误 可能会漏掉一些边界条件(对参数空间的覆盖不够)有时候测试用例写起来比写程序还要复杂那么有没有什么比较轻松且“免费”可以检查程序的方法呢?我们的核心思路就是:Figure 2:恼火的测试员 CAIMEOX6/19Generate tests!不要写测试生成测试!CAIMEOX7/19Property Based Testing循着自动生成测试(注:这里并不包含 LLM 手段)的思路,QuickCheck 诞生了.此

6、种测试机制最 由 John Hughes 在 Haskell 中实现 3(工业界比较出名的是 Python 中的 Hypothesis4),主要可以归为下面几个步骤:YesNoProgramPropertyGenerate Inputs and Run TestsCounterexampleis Minimal?ShrinkReport CAIMEOX8/19What is Property基于属性的测试的核心是 Property,最简单的一类 Property 是一个函数,它接受一些输入,返回一个 Bool 指示输入是否满足某种条件.如我们想要对加法进行测试:单元测试:手动编写输入输出样例a

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(moonbit-quickcheck-new.pdf)为本站 (Flechazo) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
客服
商务合作
小程序
服务号
折叠