TestSelector: Automatic Test Suite Selection for Student Projects – Extended Version

07/19/2022
by   Filipe Marques, et al.
0

Computer Science course instructors routinely have to create comprehensive test suites to assess programming assignments. The creation of such test suites is typically not trivial as it involves selecting a limited number of tests from a set of (semi-)randomly generated ones. Manual strategies for test selection do not scale when considering large testing inputs needed, for instance, for the assessment of algorithms exercises. To facilitate this process, we present TestSelector, a new framework for automatic selection of optimal test suites for student projects. The key advantage of TestSelector over existing approaches is that it is easily extensible with arbitrarily complex code coverage measures, not requiring these measures to be encoded into the logic of an exact constraint solver. We demonstrate the flexibility of TestSelector by extending it with support for a range of classical code coverage measures and using it to select test suites for a number of real-world algorithms projects, further showing that the selected test suites outperform randomly selected ones in finding bugs in students' code.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/25/2020

Student Teamwork on Programming Projects: What can GitHub logs show us?

Teamwork, often mediated by version control systems such as Git and Apac...
research
05/17/2022

Supervised Learning for Coverage-Directed Test Selection in Simulation-Based Verification

Constrained random test generation is one of the most widely adopted met...
research
05/14/2021

Automatically Assessing and Extending Code Coverage for NPM Packages

Typical Node.js applications extensively rely on packages hosted in the ...
research
09/05/2023

Mind the Gap: The Difference Between Coverage and Mutation Score Can Guide Testing Efforts

An "adequate" test suite should effectively find all inconsistencies bet...
research
05/04/2023

Designing Bugs or Doing Another Project: Effects on Secondary Students' Self-Beliefs in Computer Science

Debugging, finding and fixing bugs in code, is a heterogeneous process t...
research
05/14/2022

Auto-Select Reading Passages in English Assessment Tests?

We show a method to auto-select reading passages in English assessment t...

Please sign up or login with your details

Forgot password? Click here to reset