-
a. Install bisect_ppx using opam with
opam install bisect_ppx
b. Download and rerun the factorial example in fac.ml
You need to perform the three required steps:
1. ocamlbuild -use-ocamlfind -package bisect_ppx fac.native 2. BISECT_COVERAGE=YES ./fac.native 3. bisect-ppx-report html
Alternatively, just run
make fac
which should perform all three.Check that you can recreate a coverage report.
c. Now change the
fac
call in fac.ml tofac 5
. Remove the old instrumentation data file, e.g.,bisect068840590.coverage
and rerun the three steps.Open the coverage report for fac.ml in _coverage/index.html and "mouse over" the coverage counts.
Can you explain the new coverage counts?
-
Extend
aexp
in theVarEnv
-module of lec08.ml with minus and division. You will need to extend the typeaexp
, the printerexp_to_string
, and the generatormygen
. -
The shrinker in stmtlang.ml only shrinks statements.
Extend
stmt_shrink
with shrinkers of arithmetic expressions and Boolean (relational) expressions. -
Finally I encourage you to
- discuss and talk to me about/investigate potential project ideas
- get started on your project (assuming green light from me)
I'll be happy to give input on properties, generators, etc.
lec08
Folders and files
Name | Name | Last commit date | ||
---|---|---|---|---|
parent directory.. | ||||