Status: Work performed for that project is described on a project blog.
Mentors: Joel Sherrill
Introduction: Project focuses on adding functionality to covoar (RTEMS coverage tool). Main idea is to enable covoar to generate outputs in format used by default gcc coverage tool called gcov. This would add another perspective for testers, enabling them to more easily identify parts of RTEMS insufficiently covered by tests. As gcov is widely used, there are also higher level reporting tools utilizing gcov reports like lzov or zcov.
Initial research showed that it should be possible to go even deeper. Instead of implementing gcov reporting directly into covoar I will attempt to teach covoar how to feed original gcov tool with appropriate data. GCOV has two kind of input files, one of them being *.gcno files generated by gcc during program compilation. They contain graphs describing structure of a program in terms of code branches and decision points. Second file format is *.gcna file. Tihis one is generated by tested program, which needs to be additionaly instrumented by gcc during compilation. It contains information on which parts of source code have actually been visited (and hov often) during program execution. Plan is to force gcc cross compilers to generate *.gcno files, and teach covoar to generate *.gcda files based on output from Couverture QEMU traces.