AlgebraicJulia / AlgebraicJulia/Catlab.jl

Fuzzing / Property-based testing

Abierto
#658 1 comentario 1 reacción 0 asignados Ver en GitHub
enhancement question
Lenguaje dominante
Julia
Estrellas
724
Forks
73
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

Just leaving this as a potential idea / project for someone to work on: [property based testing](https://increment.com/testing/in-praise-of-property-based-testing/) is very cool.

Properties can be great documentation (e.g. we expect certain invariants, something to be an involution, certain pairs of operations to commute). They allow us to test an efficient implementation of something vs a slower (but more obviously correct one). And even if our functions don't often have interesting properties, just the process of running an algorithm on a bunch of random C-sets (for random C ... or bigger things like random cospans or diagrams of C-sets) and seeing that it doesn't crash would be help for regression testing (this is called fuzzing) - the alternative is hard-coding a particular input to use for a unit test.

The scope of this would be to identify which Julia property-based testing library is best suited for this and then implement the required functionality for C-Sets (e.g. generators, shrinking functions).

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.