ECLAIR SAMPLE REPORTS

ECLAIR can produce different kinds of outputs in different formats.
Here is a description of the main ones.

Summary outputs
These outputs contain comprehensive information about the analysis as well as counts of the issues uncovered by the analysis per service, per file, per tag and combinations thereof.

Rich outputs
These outputs contain comprehensive information about the analysis results without going into the detail of each reported program condition. For each individual issue reported by the analysis, these outputs contain:
  • the name of the file where the first code area resides;
  • if the report has been tagged (e.g., to capture a MISRA deviation), the tag, along with any documentation associated to the application of the tag to the report (e.g., the justification for a MISRA deviation).
These outputs are suitable for the communication to third parties in order, e.g., to precisely substantiate a claim of MISRA compliance.
Detailed outputs
These outputs contain comprehensive information about the analysis results, including all details about each reported program condition (such as a coding rule violation or a possible run-time error). In other words, these output contain all the information required for a proper understanding of each individual issue reported by the analysis, e.g.:
  • the exact position in the source of all the involved code areas;
  • messages indicating precisely which role each code area plays in the reported program condition;
  • in case macros are involved, the source code both before and after preprocessing, and the definitions of the macros involved;
  • a path in the program leading to the reported issue;
  • if the report has been tagged (e.g., to capture a MISRA deviation), the tag, along with any documentation associated to the application of the tag to the report (e.g., the justification for a MISRA deviation).
Such level of detail, while essential for whoever is in charge of acting upon undesirable program conditions, is undesirable for almost any other application. Moreover, such level of detail can effectively be navigated only via a browser. For this reason, when detailed outputs have to be printed, the level of detail can be decreased. The minimum level of detail for a detailed output is the line number and the message for the first area in the report.
Metric outputs
These outputs contain the values of the metrics collected for each file, function and project.

In order to showcase the various output kinds, we consider the analysis of a sample configuration of a sample project. The analyzed project, which is meant to comply to MISRA C:2004 (with justified deviations), is copyrighted by Quantum Leaps, LLC, and is open source software: it can be redistributed and/or modified under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or any later version. In this analysis, the justified deviations reported in the Application Note shipped along with the project sources have been captured in the ECLAIR configuration.

For copyright reasons (all MISRA text is copyrighted by The MISRA Consortium Limited) the headlines of the MISRA C:2004 rules have been substituted with rough description of what ECLAIR is reporting. ECLAIR supports all versions of MISRA C and MISRA C++ as well as other coding standards.

 

Summary outputs in printable format

These outputs contain the same summaries, both in ODT and in native Word DOC format.

 

Summary outputs in HTML format

These outputs contain various summaries of ECLAIR findings as convenient-to-browse HTML pages.

or unpack the supplied compressed archive and see the files contained therein

 

Summary outputs in pure text format

These outputs contain various summaries of ECLAIR findings. Just unpack the supplied compressed archive and see the files contained therein.

 

Rich outputs in printable format

These outputs contain comprehensive information about the analysis results without going into the detail of each reported program condition. Their printed form is ideal for the communication to third parties in order, e.g., to precisely substantiate a claim of MISRA compliance.

 

Rich outputs in HTML format

Rich outputs can also be generated in the form of convenient-to-browse HTML pages.

or unpack the supplied compressed archive and see the files contained therein.

 

Rich outputs in pure text format

Pure text is also an option for rich outputs.

 

Rich interactive outputs in spreadsheet format

These interactive rich outputs contain the set of ECLAIR findings in a form that is suitable for the communication to third parties that are only interested in the residual violations and whether they have been justified and how. These outputs are interactive in the sense that the level of detail provided can be dynamically controlled. The supplied compressed archive contains instructions on how to use these outputs with Microsoft Excel, LibreOffice Calc or OpenOffice.org Calc.

 

Interactive detailed outputs

These outputs contain full details about each reported program condition (such as a coding rule violation or a possible run-time error). Here, full details means that all the information required for a proper understanding of the issue is presented, e.g.:

  • the exact position in the source code;
  • in case macros are involved, the source code both before and after preprocessing, and the definitions of the macros involved;
  • a path in the program leading to the reported run-time error.

 

Interactive detailed outputs can be viewed by all licensed users by means of the ECLAIR browser. Users with a site, multisite or enterprise license can also generate standalone HTML output. From the point of view of the user experience, these two possibilities are completely equivalent.

Browse sample interactive outputs: we suggest you open this link in a new window in order to read the following information as you consult the reports.

Interactive outputs are largely self-explicative (of course they are fully documented in the ECLAIR manual). For now, we suggest you proceed by experiments: pay attention to hover effects and click on the various areas to see what happens. In addition, below are some suggestions you may want to try.

In the first page, click on Reports by service and kind.

Here you will see the MISRA C:2004 guidelines violated by the project.

Hover the mouse over the service row header.

This will make the rules' summaries appear/disappear.

Click on MC2.13.7.

See an example of how ECLAIR allows you to explore violations when macros are involved.

Focus on the first violation of MC2.13.7.

Please note that its first area (the first line in blue, showing the location of a non-compliant if-then-else) has two sub-areas (the next two lines in blue):

  • the first sub-area shows the same region of code of the main area, but after preprocessing;
  • the second sub-area shows the region of code where the "guilty" macro is defined.

When the mouse is over one of the blue lines, a preview will automatically open. Click if you want to go to the corresponding page.

 

Detailed interactive outputs in spreadsheet format

These are the same as rich interactive outputs in spreadsheet format, with the only difference that line numbers of individual reports are also given.  (As all detailed outputs, they are only available with site, multisite or enterprise licenses.)

 

Detailed outputs in pure text format

For some use cases, detailed outputs can also be generated in pure text format.  (As all detailed outputs, they are only available with site, multisite or enterprise licenses.)

 

Detailed outputs in printable format

There is little point in printing detailed reports, as the amount of information contained therein is overwhelming.  A compromise is to restrict each report to the first area only.
(As all detailed outputs, detailed outputs in printable format are only available with site, multisite or enterprise licenses.)

We are a passionate team of experts. Do not hesitate to let us have your feedback:
You may be surprised to discover just how much your suggestions matter to us.