]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - processor-sdk/performance-audio-sr.git/blob - psdk_cust/ipc_3_43_00_00_eng/ipc_3_43_00_00_eng_reports.html
* Resolved Channel Swap Issue - for PASDK-101
[processor-sdk/performance-audio-sr.git] / psdk_cust / ipc_3_43_00_00_eng / ipc_3_43_00_00_eng_reports.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <!--
3  *  Copyright (c) 2012-2013, Texas Instruments Incorporated
4  *  All rights reserved.
5  *
6  *  Redistribution and use in source and binary forms, with or without
7  *  modification, are permitted provided that the following conditions
8  *  are met:
9  *
10  *  *  Redistributions of source code must retain the above copyright
11  *     notice, this list of conditions and the following disclaimer.
12  *
13  *  *  Redistributions in binary form must reproduce the above copyright
14  *     notice, this list of conditions and the following disclaimer in the
15  *     documentation and/or other materials provided with the distribution.
16  *
17  *  *  Neither the name of Texas Instruments Incorporated nor the names of
18  *     its contributors may be used to endorse or promote products derived
19  *     from this software without specific prior written permission.
20  *
21  *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22  *  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
23  *  THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
24  *  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
25  *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
26  *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
27  *  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
28  *  OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
29  *  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
30  *  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
31  *  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 -->
33 <html>
34 <head>
35     <title>IPC 3.42.01.03 Report </title>
36     <!-- For now, we use the doxygen style sheet -->
37     <link type="text/css" rel="stylesheet" href="docs/doxygen/html/doxygen.css">
38     <!-- doxygen's css .memproto's all have tables for a little extra pad...
39          don't like tables, so give 'em a little extra left pad ourselves
40     --->
41     <style type="text/css">
42     body {
43         margin: 20px;
44     }
45     .memproto {
46         padding-left: 6px;
47     }
48     </style>
49 </head>
50 <body>
51 <table width="100%">
52   <tbody>
53     <tr>
54       <td bgcolor="black" width="1">
55         <a href="http://www.ti.com">
56           <img border=0 src="docs/tilogo.gif" alt="Texas Instruments">
57         </a>
58       </td>
59       <td bgcolor="red">
60         <img src="docs/titagline.gif" alt="Technology for Innovators(tm)">
61       </td>
62     </tr>
63   </tbody>
64 </table>
66 <h1 align="center">IPC 3.42.01.03 Report </h1>
67 <h2 align="center">March 2016</h2>
69 <h2><a name="Introduction">Introduction</a></h2>
70 <p>
71 This report summarizes results from two software quality assessment
72 tools used to analyze the software in this product:
73 <ul>
74   <li>Static Program Analysis:
75     <a href="http://coverity.com/products/static-analysis.html">
76       Coverity Static Analysis</a>
77   </li>
78   <li>MISRA-C:2004 Rules:
79     <a href="http://processors.wiki.ti.com/index.php/TI_Compiler_Information">
80       Texas Instruments C/C++ Compiler</a>
81   </li>
82 </ul>
83 </p>
84 <p>
85 Unless noted below, all source code, both .c and .h files, for
86 embedded target libraries was analyzed using these tools.
87 </p>
89 <hr>
91 <h2><a name="CovSummary">Static Program Analysis Summary</a></h2>
92 <p>
93 This report summarizes the Static Program Analysis results. For each
94 library, a listing provides:
95 <ul>
96   <li>the command-line invocation for the tool actually used for the
97   analysis</li>
98   <li>summary of lines-of-code (LoC) analyzed and defect types and
99   counts (if any)</li>
100   <li>location of defects in the source code (file name and line
101   number) (if any)</li>
102 </ul>
103 </p>
104 <p>
105 <div style="width:500px;text-align:left;padding:5px;background-color:gold;border:1px
106  solid black;">
107 <a href="docs/coverity.txt">Click here to view the
108   Static Analysis Report.</a>
109 </div>
110 </p>
112 <hr>
114 <h2><a name="MisraSummary">MISRA-C:2004 Summary</a></h2>
115 <p>
116 There are several rules in MISRA-C:2004 that are contrary to
117 long-standing coding standards used in this product, and, hence will
118 not be addressed in the product source code. These rules are listed in the
119 table below. The corresponding checks were explicitly disabled in the
120 tool when the source code was analyzed.
121 </p>
123 <table border=1 cellspacing=0>
124  <tr>
125   <th width="10%"><b>MISRA C Id</b></th>
126   <th width="45%"><b>Brief Summary</b></th>
127   <th width="45%"><b>Exemption Rationale</b></th>
128  </tr>
129   <tr>
130     <td>19.1/A</td>
131     <td>#include statements in a file should only be preceded by other preprocessor directives or comments.</td>
132     <td>Tool reports false positives</td>
133   </tr>
134   <tr>
135     <td>19.4/R</td>
136     <td>C macros shall only expand to a braced initialiser, a constant, a parenthesised expression, a type qualifier, a storage class specifier, or a do-while-zero construct.</td>
137     <td>Coding convention</td>
138   </tr>
139   <tr>
140     <td>19.6/R</td>
141     <td>#undef shall not be used</td>
142     <td>XDC generated .h files contain #undef</td>
143   </tr>
144   <tr>
145     <td>19.7/A</td>
146     <td>A function should not be used in preference to a function-like macro.</td>
147     <td>Coding conventions</td>
148   </tr>
149   <tr>
150     <td>19.13/A</td>
151     <td>The # and ## preprocessor operators should not be used.</td>
152     <td>Coding conventions</td>
153   </tr>
154   <tr>
155     <td>19.15/R</td>
156     <td>Precautions shall be taken in order to prevent the contents of a header file being included twice.</td>
157     <td>Tool reports false positives</td>
158   </tr>
159   <tr>
160     <td>19.17/R</td>
161     <td>All #else, #elif and #endif preprocessor directives shall reside in the same file as the #if or #ifdef directive to which they are related.</td>
162     <td>Tool reports false positives</td>
163   </tr>
164 </table>
166 <p>
167 <div style="width:500px;text-align:left;padding:5px;background-color:gold;border:1px
168  solid black;">
169 <a href="docs/misra.txt">Click here to view the
170   MISRA-C:2004 Findings Report.</a>
171 </div>
172 </p>
174 <p>Justification for Not Addressing MISRA-C:2004 Violations</p>
175 <ul>
176   <li>In some libraries, 20.9/R (The input/output library
177   &lt;stdio.h&gt; shall not be used in production code) is violated
178   as the intent of the library is to provide printf-based logging
179   support.</li>
180   <li>The NotifyDriverMbx.c files have violations for 19.12/R and 19.10/R
181   which cannot be reimplemented at this time.  These macros simplify the
182   portability of the code to different cores.  The macros were reviewed again
183   for correctness.
184   </li>
185 </ul>
186 </p>
188 </body>
189 </html>