Search-Based Testing for Scratch Programs

被引:5
作者
Deiner, Adina [1 ]
Fraedrich, Christoph [1 ]
Fraser, Gordon [1 ]
Geserer, Sophia [1 ]
Zantner, Niklas [1 ]
机构
[1] Univ Passau, Innstr 33, D-94032 Passau, Germany
来源
SEARCH-BASED SOFTWARE ENGINEERING, SSBSE 2020 | 2020年 / 12420卷
基金
英国工程与自然科学研究理事会;
关键词
Search-based testing; Block-based programming; Scratch;
D O I
10.1007/978-3-030-59762-7_5
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:58 / 72
页数:15
相关论文
共 26 条
[1]   How Kids Code and How We Know: An Exploratory Study on the Scratch Repository [J].
Aivaloglou, Efthimia ;
Hermans, Felienne .
PROCEEDINGS OF THE 2016 ACM CONFERENCE ON INTERNATIONAL COMPUTING EDUCATION RESEARCH (ICER'16), 2016, :53-61
[2]   Seeding Grammars in Grammatical Evolution to Improve Search Based Software Testing [J].
Anjum, Muhammad Sheraz ;
Ryan, Conor .
GENETIC PROGRAMMING, EUROGP 2020, 2020, 12101 :18-34
[3]  
[Anonymous], 2016, P 25 INT S SOFTWARE, DOI DOI 10.1145/2931037.2931054
[4]   It really does matter how you normalize the branch distance in search-based software testing [J].
Arcuri, Andrea .
SOFTWARE TESTING VERIFICATION & RELIABILITY, 2013, 23 (02) :119-147
[5]  
Boe B., 2013, Proceeding of the 44th ACM technical symposium on Computer science education, P215
[6]  
Chang Z, 2018, INT WIREL COMMUN, P950, DOI 10.1109/IWCMC.2018.8450296
[7]   Common Bugs in Scratch Programs [J].
Fraedrich, Christoph ;
Obermueller, Florian ;
Koerber, Nina ;
Heuer, Ute ;
Fraser, Gordon .
PROCEEDINGS OF THE 2020 ACM CONFERENCE ON INNOVATION AND TECHNOLOGY IN COMPUTER SCIENCE EDUCATION, ITICSE 2020, 2020, :89-95
[8]   Handling test length bloat [J].
Fraser, Gordon ;
Arcuri, Andrea .
SOFTWARE TESTING VERIFICATION & RELIABILITY, 2013, 23 (07) :553-582
[9]   Whole Test Suite Generation [J].
Fraser, Gordon ;
Arcuri, Andrea .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2013, 39 (02) :276-291
[10]  
Gross Florian, 2012, INT S SOFTW TEST AN, P67