Skip to content
Simon Kagstrom edited this page Jun 7, 2014 · 87 revisions

Release critical (permanent list)

  • Add tempo.js etc to licenses
  • Test on 32-bit systems
  • Correct unit test failures
  • Update man page
  • Update ChangeLog

Python engine

  • Map last line of a multi-line string to the first on assignments
  • Handle backslashes
  • On exceptions, it seems the covered data is NULL:ed??
  • Use a C python module and skip the FIFO stuff altogether...
  • Accumulation of data is sometimes broken, unclear why

Ptrace engine

  • Use kernel 3.1 PTRACE_SEIZE, PTRACE_INTERRUPT instead of attach?
  • Implement ARM-support
  • Make portable to FreeBSD, Mac OS X
  • "Killed" after normal termination doesn't look very good

Kernel engine

  • Test with larger modules
  • Oops... Maybe use trace-kprobes.c instead...
  • kprobe-coverage: Use S_IRUGO etc
  • kprobe-coverage: Only allow one to open the show file
  • See if something can be done about .init.text, .exit.text
  • Use select() to avoid hanging on input from the kernel (allows output generation while waiting)

BASH engine

  • Implement (i.e., replace shcov)

ELF parser

  • Rewrite to use libbfd
  • Show unreachable code somehow (e.g., to detect goto fail; goto fail; dead code-type of errors)
  • Add --verify option which disassembles symbols before setting breakpoints: Throw away entries in the middle of instructions

Server mode

  • Separate output dir and database dir for --report-only
  • Make it possible to supply multiple binaries for --report-only
  • Produce database files of addresses-to-instrument so that binaries without symbols can be used
  • (Above) --create-database
  • Add a shared library that can be LD_PRELOAD:ed for coverage

C++11-izing, refactoring

  • panic_if -> static_assert

Output

  • Add robot framework test for --include-path, --include-pattern etc.
  • File locking to avoid races
  • --exclude-pattern is broken, fix again and add test for it

Web pages

  • Code highlighting
  • Make marked lines extend to the end of the line

Misc

  • Use uint64_t for addresses
  • Make ptrace build optional
  • Provide a hash-bang binary that does kcov collection (for python, shell etc)
Clone this wiki locally