ZAMCOV is a set of tools that allow to generate MC/DC measurement for OCaml programs. The main particularity of ZAMCOV is the non-intrusive aspect. This means that ZAMCOV doesn't rewrite the program to generate traces, as opposed to more classical tools such as MLcov or Bisect. Instead, ZAMCOV uses a modified OCaml virtual machine (also called ZAM or ZAM2) to generate traces, which are then analyzed to produce a coverage report.
ZAMCOV generates uses HTML/CSS to format the coverage reports, which consist in the source code annotated with coverage information, including MC/DC measurement.
MC/DC measurement is widely used in critical software testing. It's a “compromise” between full conditions coverage (2N tests for a decision composed with N conditions) and minimal conditions coverage (2 tests for any decision), by demanding N+1 tests.
“Couverture” is a project which addresses non-intrusive code coverage measurement and provides free open-source software for this purpose.
ZAMCOV is part of “Couverture”. There are other parts in project “Couverture”, which use QEMU virtual machine and ADA language.
Members and participation periods