caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] [ANN] First release of Monolith
@ 2020-06-09 19:17 François Pottier
  0 siblings, 0 replies; only message in thread
From: François Pottier @ 2020-06-09 19:17 UTC (permalink / raw)
  To: caml users


Dear OCaml users,

It is my pleasure to announce the first release of Monolith.

Monolith offers facilities for testing an OCaml library (for instance, a 
data
structure implementation) by comparing it against a reference 
implementation.
It uses a form of black-box testing, and relies on afl-fuzz for efficiency.

The user must describe what types and operations the library provides. Under
the best circumstances, this requires 2-3 lines of code per type or 
operation.
The user must also provide a reference implementation of the library.

Then, like a monkey typing on a keyboard, Monolith attempts to exercise the
library in every possible way, in the hope of discovering a scenario 
where the
library behaves incorrectly. If such a scenario is discovered, it is printed
in the form of an OCaml program, so as to help the user reproduce the 
problem.

At this time, a tutorial is not yet available. There is however an API
documentation and a number of demos.

Repository:
   https://gitlab.inria.fr/fpottier/monolith

API Documentation:
 
http://cambium.inria.fr/~fpottier/monolith/doc/monolith/Monolith/index.html

Installation:
   opam update
   opam install monolith

Happy testing,

--
François Pottier
francois.pottier@inria.fr
http://cambium.inria.fr/~fpottier/

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-06-09 19:17 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-09 19:17 [Caml-list] [ANN] First release of Monolith François Pottier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).