ECLAIR can produce different kinds of reports in different formats. In this page you have a sample of the various report kinds in some of the supported formats for the analysis of a real-life embedded software project.
The analyzed project, which is meant to comply to MISRA C:2004 (with 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 of the project have been ignored, so as to have enough violations for illustrative purposes.
For copyright reasons (all MISRA text is copyrighted by HORIBA MIRA, LLC) the headlines of the MISRA-C:2004 rules have been substituted with roughly equivalent headlines. ECLAIR supports all versions of MISRA C and MISRA C++ as well as many other coding standards.
Detailed Reports
These reports 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 Reports
Interactive detailed reports 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.
Interactive reports 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.
Here you will see the MISRA-C:2004 violated by the project.
This will make the rules' summaries appear/disappear.
See an example of how ECLAIR allows you to explore violations when macros are involved.
Please note that its first area (the first line in blue, showing the location of a non-compliant volatile read) 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.
Textual detailed reports
Textual detailed reports might be useful for exchanges between developers. They can also be interpreted by many text editors.
Summary reports
These reports contain a summary of ECLAIR findings that is suitable for the communication to third parties in order, e.g., to substantiate a claim of MISRA compliance. All sections of such reports are optional: below you can obtain an example including just everything (as it would be appropriate for the final analysis of a safety-critical project).
Metrics
These reports contain the values of the metrics collected for each file, function and project. The supplied compressed archive contains instructions on how to use these reports with Microsoft Excel, LibreOffice Calc or OpenOffice.org Calc.