GSoC 2018 project Introduction : Improve Coverage Analysis Toolset

May 14, 2018 • Vijay K. Banerjee (thelunatic)

Hello Everyone !

This is the first week of the GSoC 2018 and the project has already taken good pace . In this post I will explain the project objectives in detail along with a plan to achieve it and the timeline.

Project Abstract and Objectives

RTEMS-TOOLS uses a tool called covoar, integrated into the rtems-tools, which currently generates coverage reports in html and text. This project is to improve the Coverage analysis Toolset used by rtems-tools by integrating a script for generating a coverage analysis report using the reports generated by covoar and show it in html tables to give the users a proper interface to go through the whole coverage analysis report.

After the Coverage analysis is working and showing proper reports the next objective of the project is to integrate Gcov support in tester for generating statement-by-statement profiling. This will be done by generating gcov reports from covoar and running a graphical front-end tool like gcov or lcov to generate coverage analysis report.

Project Deliverables and a proposed timeline

The project deliverables have been distributed into three parts following the GSoC timeline. The following three phases notes the proposed/expected progress in the project.

PHASE 1 : MAY 14 - JUNE 15
  • Get the Coverage Analysis running
  • parse the ini config files from the script
  • Integrate the coverage with the main tester framework
PHASE 2 : JUNE 15 - JULY 9
  • Generate .gcnos files
  • Generate the gcov files
  • Run lcov manually on the generated gcov to get report
  • Find out discripancy in the report by comparison with report from coverage
PHASE 3 : JULY 13 - AUGUST 6
  • Figure out the reson for the discripancy in the report and fix.
  • Investigate on generating reports in data centric formats
  • Generate xml reports

Proposed Plan to produce the above deliverables

The following shows a detailed plan to produce the deliverables stated above

PHASE 1 :
  • Get the Coverage Analysis running ..* Figure out the outstanding issues with the previous GSoC project and fix them there are a few issues that are noted. parse the ini file for the bsp . ..* Generate the path to build directory from the executable path. ..* Parse the symbols ini file from the coverage script
PHASE 2 :
  • Generate .gcnos files ..* Change the gcc flags.
  • Generate gcov: ..* Feed the .gcno file to covoar.
  • Figure out discripancies in the generated report.
PHASE 3 :
  • Automate the gcov report generation,.
  • Generate xml report by using gcovr

This is the proposed plan for the project. I’ll keep posing updates as the project evolves.

Thank you for reading.