Neuroevolution-Based Generation of Tests and Oracles for Games
Game-like programs have become increasingly popular in many software engineering domains such as mobile apps, web applications, or programming education. However, creating tests for programs that have the purpose of challenging human players is a daunting task for automatic test generators. Even if test generation succeeds in finding a relevant sequence of events to exercise a program, the randomized nature of games means that it may neither be possible to reproduce the exact program behavior underlying this sequence, nor to create test assertions checking if observed randomized game behavior is correct. To overcome these problems, we propose Neatest, a novel test generator based on the NeuroEvolution of Augmenting Topologies (NEAT) algorithm. Neatest systematically explores a program’s statements, and creates neural networks that operate the program in order to reliably reach each statement—that is, Neatest learns to play the game in a way to reliably reach different parts of the code. As the networks learn the actual game behavior, they can also serve as test oracles by evaluating how surprising the observed inputs of a program under test are compared to the inputs obtained on a supposedly correct version of the program. We evaluate this approach in the context of Scratch, an educational programming environment. Our empirical study on 25 non-trivial Scratch games demonstrates that our approach can successfully train neural networks that are not only far more resilient to random influences than traditional test suites consisting of static input sequences, but are also highly effective with an average mutation score of more than 70%.
Thu 13 OctDisplayed time zone: Eastern Time (US & Canada) change
13:30 - 15:30 | Technical Session 26 - Testing IIIResearch Papers / Industry Showcase at Banquet B Chair(s): Owolabi Legunsen Cornell University | ||
13:30 20mResearch paper | PredART: Towards Automatic Oracle Prediction of Object Placements in Augmented Reality Testing Research Papers Tahmid Rafi University of Texas at San Antonio, Xueling Zhang Rochester Institute of Technology, Xiaoyin Wang University of Texas at San Antonio | ||
13:50 20mResearch paper | Neuroevolution-Based Generation of Tests and Oracles for Games Research Papers Pre-print | ||
14:10 20mIndustry talk | WOLFFI: A fault injection platform for learning AIOps models Industry Showcase Frank Bagehorn IBM Research, Jesus Rios IBM Research, Saurabh Jha IBM Research, Robert Filepp IBM Research, Larisa Shwartz IBM T.J. Watson Research, Naoki Abe IBM, Xi Yang IBM Research | ||
14:30 20mResearch paper | Learning to Construct Better Mutation FaultsVirtualACM SIGSOFT Distinguished Paper Award Research Papers Zhao Tian Tianjin University, Junjie Chen Tianjin University, Qihao Zhu Peking University, Junjie Yang College of Intelligence and Computing, Tianjin University, Lingming Zhang University of Illinois at Urbana-Champaign DOI Pre-print | ||
14:50 20mResearch paper | Differentially Testing Database Transactions for Fun and ProfitVirtual Research Papers Ziyu Cui Institute of Software, Chinese Academy of Sciences, Wensheng Dou Institute of Software at Chinese Academy of Sciences; University of Chinese Academy of Sciences, Qianwang Dai Institute of Software, Chinese Academy of Sciences, Jiansen Song , Wei Wang , Jun Wei Institute of Software at Chinese Academy of Sciences; University of Chinese Academy of Sciences, Dan Ye Institute of Software, Chinese Academy of Sciences |