arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2009.04115cs.SE
收藏

基于搜索的Scratch程序测试

Search-based Testing for Scratch Programs

Adina Deiner, Christoph Frädrich, Gordon Fraser, Sophia Geserer, Niklas Zantner

摘要:

基于块的程序设计语言使年轻的学习者能够快速实现有趣的程序和游戏。Scratch编程环境在这方面特别成功,在撰写本文时,它拥有超过5000万注册用户。虽然Scratch简化了创建语法正确的程序,但学习者和教育者仍然经常需要反馈和支持。动态程序分析可以实现这种支持的自动化,但是对于Scratch程序来说,动态分析所需的测试套件通常不存在。然而,可以将Scratch的测试生成作为搜索问题。在本文中,我们介绍了一种方法,自动生成测试套件的Scratch程序使用语法进化。语法进化的使用清楚地将搜索编码与特定于框架的实现细节分开,并允许我们使用高级测试加速技术。我们实现了我们的方法作为晶须测试框架的扩展。对Scratch程序的评价表明了该方法的潜力。

英文摘要:

Block-based programming languages enable young learners to quickly implement fun programs and games. The Scratch programming environment is particularly successful at this, with more than 50 million registered users at the time of this writing. Although Scratch simplifies creating syntactically correct programs, learners and educators nevertheless frequently require feedback and support. Dynamic program analysis could enable automation of this support, but the test suites necessary for dynamic analysis do not usually exist for Scratch programs. It is, however, possible to cast test generation for Scratch as a search problem. In this paper, we introduce an approach for automatically generating test suites for Scratch programs using grammatical evolution. The use of grammatical evolution clearly separates the search encoding from framework-specific implementation details, and allows us to use advanced test acceleration techniques. We implemented our approach as an extension of the Whisker test framework. Evaluation on sample Scratch programs demonstrates the potential of the approach.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑