1. Homepage
  2. > Careers >
  3. Cov4Mich: Coverage for Michelson programs [3 months / 6 months]

Cov4Mich: Coverage for Michelson programs [3 months / 6 months]

Paris

Internship

R&D

Cov4Mich: Coverage for Michelson programs [3 months / 6 months]

Test coverage is a well-established measure of how thoroughly a program is tested.
Currently, there is no tooling for measuring test coverage for Michelson – the lan-
guage used to program smart contracts for the Tezos blockchain, empowering a wide
range of applications in decentralized finance. The goal of this internship is to de-
velop a tool for measuring and visualizing test coverage of Michelson programs.


Goals of the internship


The first part of the internship is to instrument Tezos’ Michelson interpreter to output
a coverage trace. The second part of the internship is to create a reporting tool that
visualizes coverage traces for Michelson. Such a tool can be made more general by
implementing support for standard coverage trace formats such as Cobertura and
for additional programming languages.
Finally, it is often convenient to express queries regarding coverage in terms of sets:
“What part of the code is covered by test suite X, but not covered by either suite Y
nor Z?” This query corresponds to the expression X \ (Y Z) – the reporting tool
should be able to visualize the coverage corresponding to such expressions.


Requirements


Requirements are (in decreasing order of importance):
Familiarity with functional programming, e.g. OCaml, Haskell or Scala.
Basic notions in web programming is a plus.


Internship Context


You will work at the Nomadic Labs’ offices in Paris.
Participating in a large scale open-source project you will have to rapidly learn to
use collaborative tools (Git, merge request, issues, gitlab, continuous integration,
documentation) and to communicate about your work. The final results might be
presented at an international conference or workshop.
You will have a designated advisor at Nomadic Labs and will have to work indepen-
dently and to propose thoroughly-considered solutions to the different problems you
will have to solve. You will be encouraged to seek advice from members of the team.


Intellectual Property


All material produced (essays, documentation, code, etc.) will be released under an
open source license (e.g. MIT or CC).

Apply now

Send us your application

    Resume* (without spaces in the file name - limit <= 10 Mo)

    Application letter (without spaces in the file name - limit <= 10 Mo)

    By submitting this form, I accept that the information entered will be used as part of my request.