NxtrFil Review
Overview
Summary SheetSource Code - initial review
Source Code -rework review
QAC - initial review
QAC - rework review
Integration Manual
Sheet 1: Summary Sheet
Sheet 2: Source Code - initial review
| Rev 6.0 | 28-Oct-14 | |||||||||||||||||||||||
| Peer Review Meeting Log (Source Code Review) | ||||||||||||||||||||||||
| Source File Name: | Source File Revision: | |||||||||||||||||||||||
| Module Design Document Name: | MDD Revision: | |||||||||||||||||||||||
| Data Dictionary Revision: | FDD/SER/CMS | |||||||||||||||||||||||
| and Revision: | ||||||||||||||||||||||||
| Quality Check Items: | ||||||||||||||||||||||||
| Yes | No | Rationale is required for all answers of No | ||||||||||||||||||||||
| Pre-review checklist for change owners | Software Naming Convention V1.2 followed: | |||||||||||||||||||||||
| for variable names | X | Comments: | EA4 naming conventions | |||||||||||||||||||||
| for constant names | X | Comments: | EA4 naming conventions | |||||||||||||||||||||
| for function names | X | Comments: | add _f32 to functions that return float32 | |||||||||||||||||||||
| for other names (component, memory | X | Comments: | memory names need NxtrFil instead of NXTRFIL | |||||||||||||||||||||
| mapping handles, typedefs, etc.) | ||||||||||||||||||||||||
| All buffered outputs written in every path, i.e. no | X | Comments: | N/A | |||||||||||||||||||||
| possibility of an uninitialized value being written | ||||||||||||||||||||||||
| Group-review Checklist (review board) | Synergy version matches change history | X | Comments: | |||||||||||||||||||||
| and Version Control version in file comment block | ||||||||||||||||||||||||
| Change log contains detailed description of changes | X | Comments: | ||||||||||||||||||||||
| and CR number | ||||||||||||||||||||||||
| Code accurately implements FDD (Document or Model) | X | Comments: | FDD not created yet | |||||||||||||||||||||
| implementation matches EA3 macro implementation | ||||||||||||||||||||||||
| No Compiler Errors or Warnings verified | X | Comments: | ||||||||||||||||||||||
| FDD test points exist as display variables: declared | X | Comments: | N/A | |||||||||||||||||||||
| static volatile, written once and never used, names | ||||||||||||||||||||||||
| match the FDD | ||||||||||||||||||||||||
| Software Design and Coding Standards V2.0 followed: | ||||||||||||||||||||||||
| Code comments are clear, correct, and adequate | X | Comments: | ||||||||||||||||||||||
| and have been updated for the change: [N40] and | ||||||||||||||||||||||||
| all other rules in the same section as rule [N40], | ||||||||||||||||||||||||
| plus [N75], [N12], [N23], [N33], [N37], [N38], | ||||||||||||||||||||||||
| [N48], [N54], [N77], [N79], [N72] | ||||||||||||||||||||||||
| Source file (.c and .h) comment blocks are per | X | Comments: | ||||||||||||||||||||||
| standards and contain correct information: [N41], [N42] | ||||||||||||||||||||||||
| Function comment blocks are per standards and | X | Comments: | ||||||||||||||||||||||
| contain correct information: [N43] | ||||||||||||||||||||||||
| Code formatting (indentation, placement of | X | Comments: | ||||||||||||||||||||||
| braces, etc.) is per standards: [N5], [N55], [N56], | ||||||||||||||||||||||||
| [N57], [N58], [N59] | ||||||||||||||||||||||||
| Embedded constants used per standards; no | X | Comments: | ||||||||||||||||||||||
| "magic numbers": [N12] | ||||||||||||||||||||||||
| All variables and constants defined at module | X | Comments: | N/A | |||||||||||||||||||||
| level are included in appropriate MemMap | ||||||||||||||||||||||||
| section: [N25] and Naming Conventions | ||||||||||||||||||||||||
| All execution-order-dependent code can be | X | Comments: | N/A | |||||||||||||||||||||
| recognized by the compiler: [N80] | ||||||||||||||||||||||||
| No possibility of a non-terminating loop: [N63] | X | Comments: | N/A | |||||||||||||||||||||
| No possibility of divide by zero: [N65] | X | Comments: | logic prevents divide by zero | |||||||||||||||||||||
| All integer division and modulus operations | X | Comments: | N/A | |||||||||||||||||||||
| handle negative numbers correctly: [N76] | ||||||||||||||||||||||||
| All typecasting and fixed point arithmetic, | X | Comments: | N/A | |||||||||||||||||||||
| including all use of fixed point macros and | ||||||||||||||||||||||||
| timer functions, is correct and has no possibility | ||||||||||||||||||||||||
| of unintended overflow or underflow: [N66] | ||||||||||||||||||||||||
| No possibility of converting a negative floating | X | Comments: | N/A | |||||||||||||||||||||
| point value to an unsigned type: [N67] | ||||||||||||||||||||||||
| All conversions between signed and unsigned | X | Comments: | N/A | |||||||||||||||||||||
| types handle msb==1 as intended: [N78] | ||||||||||||||||||||||||
| No possibility of dereferencing a null | X | Comments: | design limitation - pointer parameters | |||||||||||||||||||||
| pointer: [N70] | must have non-null values | |||||||||||||||||||||||
| Global outputs (RTE and Non-RTE) Initialized: | X | Comments: | N/A | |||||||||||||||||||||
| [N24] | ||||||||||||||||||||||||
| Module outputs are limited to the legal range | X | Comments: | N/A | |||||||||||||||||||||
| defined in the FDD Data dictionary: [N53] | ||||||||||||||||||||||||
| All code is mapped with FDD (all FDD | X | Comments: | to be added in later rev, after FDD and | |||||||||||||||||||||
| subfunctions and/or model blocks identified | FRs are created | |||||||||||||||||||||||
| with code comments; all code corresponds to | ||||||||||||||||||||||||
| some FDD subfunction and/or model block): [N40] | ||||||||||||||||||||||||
| Struct types used for NvM have | X | Comments: | N/A | |||||||||||||||||||||
| elements declared in decreasing order by size | ||||||||||||||||||||||||
| and are not nested or used in arrays: [N84], [N85] | ||||||||||||||||||||||||
| No violations of other coding standard rules | X | Comments: | ||||||||||||||||||||||
| identified during review | ||||||||||||||||||||||||
| General Notes / Comments: | ||||||||||||||||||||||||
| Change Owner: | Kathleen Creager | Review Date : | 02/27/15 | |||||||||||||||||||||
| Lead Peer Reviewer: | Kevin Smith | Approved by Reviewer(s): | ||||||||||||||||||||||
| Other Reviewer(s): | Lucas Wendling | |||||||||||||||||||||||
Sheet 3: Source Code -rework review
| Rev 6.0 | 28-Oct-14 | |||||||||||||||||||||||
| Peer Review Meeting Log (Source Code Review) | ||||||||||||||||||||||||
| Source File Name: | Source File Revision: | |||||||||||||||||||||||
| Module Design Document Name: | MDD Revision: | |||||||||||||||||||||||
| Data Dictionary Revision: | FDD/SER/CMS | |||||||||||||||||||||||
| and Revision: | ||||||||||||||||||||||||
| Quality Check Items: | ||||||||||||||||||||||||
| Yes | No | Rationale is required for all answers of No | ||||||||||||||||||||||
| Pre-review checklist for change owners | Software Naming Convention V1.2 followed: | |||||||||||||||||||||||
| for variable names | X | Comments: | EA4 naming conventions | |||||||||||||||||||||
| for constant names | X | Comments: | EA4 naming conventions | |||||||||||||||||||||
| for function names | X | Comments: | ||||||||||||||||||||||
| for other names (component, memory | X | Comments: | ||||||||||||||||||||||
| mapping handles, typedefs, etc.) | ||||||||||||||||||||||||
| All buffered outputs written in every path, i.e. no | X | Comments: | N/A | |||||||||||||||||||||
| possibility of an uninitialized value being written | ||||||||||||||||||||||||
| Group-review Checklist (review board) | Synergy version matches change history | X | Comments: | |||||||||||||||||||||
| and Version Control version in file comment block | ||||||||||||||||||||||||
| Change log contains detailed description of changes | X | Comments: | ||||||||||||||||||||||
| and CR number | ||||||||||||||||||||||||
| Code accurately implements FDD (Document or Model) | X | Comments: | FDD not created yet | |||||||||||||||||||||
| implementation matches EA3 macro implementation | ||||||||||||||||||||||||
| No Compiler Errors or Warnings verified | X | Comments: | ||||||||||||||||||||||
| FDD test points exist as display variables: declared | X | Comments: | N/A | |||||||||||||||||||||
| static volatile, written once and never used, names | ||||||||||||||||||||||||
| match the FDD | ||||||||||||||||||||||||
| Software Design and Coding Standards V2.0 followed: | ||||||||||||||||||||||||
| Code comments are clear, correct, and adequate | X | Comments: | ||||||||||||||||||||||
| and have been updated for the change: [N40] and | ||||||||||||||||||||||||
| all other rules in the same section as rule [N40], | ||||||||||||||||||||||||
| plus [N75], [N12], [N23], [N33], [N37], [N38], | ||||||||||||||||||||||||
| [N48], [N54], [N77], [N79], [N72] | ||||||||||||||||||||||||
| Source file (.c and .h) comment blocks are per | X | Comments: | ||||||||||||||||||||||
| standards and contain correct information: [N41], [N42] | ||||||||||||||||||||||||
| Function comment blocks are per standards and | X | Comments: | ||||||||||||||||||||||
| contain correct information: [N43] | ||||||||||||||||||||||||
| Code formatting (indentation, placement of | X | Comments: | ||||||||||||||||||||||
| braces, etc.) is per standards: [N5], [N55], [N56], | ||||||||||||||||||||||||
| [N57], [N58], [N59] | ||||||||||||||||||||||||
| Embedded constants used per standards; no | X | Comments: | ||||||||||||||||||||||
| "magic numbers": [N12] | ||||||||||||||||||||||||
| All variables and constants defined at module | X | Comments: | N/A | |||||||||||||||||||||
| level are included in appropriate MemMap | ||||||||||||||||||||||||
| section: [N25] and Naming Conventions | ||||||||||||||||||||||||
| All execution-order-dependent code can be | X | Comments: | N/A | |||||||||||||||||||||
| recognized by the compiler: [N80] | ||||||||||||||||||||||||
| No possibility of a non-terminating loop: [N63] | X | Comments: | N/A | |||||||||||||||||||||
| No possibility of divide by zero: [N65] | X | Comments: | logic prevents divide by zero | |||||||||||||||||||||
| All integer division and modulus operations | X | Comments: | N/A | |||||||||||||||||||||
| handle negative numbers correctly: [N76] | ||||||||||||||||||||||||
| All typecasting and fixed point arithmetic, | X | Comments: | N/A | |||||||||||||||||||||
| including all use of fixed point macros and | ||||||||||||||||||||||||
| timer functions, is correct and has no possibility | ||||||||||||||||||||||||
| of unintended overflow or underflow: [N66] | ||||||||||||||||||||||||
| No possibility of converting a negative floating | X | Comments: | N/A | |||||||||||||||||||||
| point value to an unsigned type: [N67] | ||||||||||||||||||||||||
| All conversions between signed and unsigned | X | Comments: | N/A | |||||||||||||||||||||
| types handle msb==1 as intended: [N78] | ||||||||||||||||||||||||
| No possibility of dereferencing a null | X | Comments: | documented in usage notes | |||||||||||||||||||||
| pointer: [N70] | no run-time check for throughput reasons | |||||||||||||||||||||||
| Global outputs (RTE and Non-RTE) Initialized: | X | Comments: | N/A | |||||||||||||||||||||
| [N24] | ||||||||||||||||||||||||
| Module outputs are limited to the legal range | X | Comments: | N/A | |||||||||||||||||||||
| defined in the FDD Data dictionary: [N53] | ||||||||||||||||||||||||
| All code is mapped with FDD (all FDD | X | Comments: | to be added in later rev, after FDD and | |||||||||||||||||||||
| subfunctions and/or model blocks identified | FRs are created | |||||||||||||||||||||||
| with code comments; all code corresponds to | ||||||||||||||||||||||||
| some FDD subfunction and/or model block): [N40] | ||||||||||||||||||||||||
| Struct types used for NvM have | X | Comments: | N/A | |||||||||||||||||||||
| elements declared in decreasing order by size | ||||||||||||||||||||||||
| and are not nested or used in arrays: [N84], [N85] | ||||||||||||||||||||||||
| No violations of other coding standard rules | X | Comments: | ||||||||||||||||||||||
| identified during review | ||||||||||||||||||||||||
| General Notes / Comments: | ||||||||||||||||||||||||
| reviewed after rework from initial review (rework done: _f32 added to function names of functions that return float32; capitalization corrected on memory mapping | ||||||||||||||||||||||||
| names; design limitation regarding no checking for null pointers added as usage note in function comment blocks, to be added to design component when created) | ||||||||||||||||||||||||
| Change Owner: | Kathleen Creager | Review Date : | 03/03/15 | |||||||||||||||||||||
| Lead Peer Reviewer: | Kevin Smith | Approved by Reviewer(s): | Yes | |||||||||||||||||||||
| Other Reviewer(s): | ||||||||||||||||||||||||
Sheet 4: QAC - initial review
| Rev 6.0 | 28-Oct-14 | |||||||||||||||||||||||
| Peer Review Meeting Log (QAC Review) | ||||||||||||||||||||||||
| Module Name: | Source File Revision: | 1 | Module | 1 | of | 1 | ||||||||||||||||||
| Compliance Guidelines Version: | EA4 working | |||||||||||||||||||||||
| Used NxtrFil_TestHarness.c (in tools folder) for QAC and Polyspace analysis of the NxtrFil.h file. | ||||||||||||||||||||||||
| Quality Check Items: | ||||||||||||||||||||||||
| Yes | No | Rationale is required for all answers of No | ||||||||||||||||||||||
| Pre-review checklist for change owners | QAC version is correct and did not change (List version) | X | Comments: | 1.0.0 | ||||||||||||||||||||
| component-specific QAC and Polyspace files needed | ||||||||||||||||||||||||
| in order to see warnings on this library header file | ||||||||||||||||||||||||
| (see tools folder) | ||||||||||||||||||||||||
| Contract Folder's header files are appropriate | X | Comments: | needs rework due to function name changes | |||||||||||||||||||||
| Group-review Checklist (review board) | 100% Compliance to the MISRA Compliance Guidelines | X | Comments: | Polyspace gives MISRA warning 21.1 | ||||||||||||||||||||
| for possible null pointer dereference; see comments below | ||||||||||||||||||||||||
| Cyclomatic complexity and Static path count ok per | X | Comments: | ||||||||||||||||||||||
| Design and Coding Standards rule [N47] | ||||||||||||||||||||||||
| General Notes / Comments: | ||||||||||||||||||||||||
| waiting for Polyspace guidelines before using deviation comments for Polyspace-only MISRA warnings. The null pointer warning should not show up when running | ||||||||||||||||||||||||
| Polyspace on an integration project. | ||||||||||||||||||||||||
| Change Owner: | Kathleen Creager | Review Date : | 02/27/15 | |||||||||||||||||||||
| Lead Peer Reviewer: | Kevin Smith | Approved by Reviewer(s): | ||||||||||||||||||||||
| Other Reviewer(s): | Lucas Wendling | |||||||||||||||||||||||
Sheet 5: QAC - rework review
| Rev 6.0 | 28-Oct-14 | |||||||||||||||||||||||
| Peer Review Meeting Log (QAC Review) | ||||||||||||||||||||||||
| Module Name: | Source File Revision: | 1 | Module | 1 | of | 1 | ||||||||||||||||||
| Compliance Guidelines Version: | EA4 working | |||||||||||||||||||||||
| Used NxtrFil_TestHarness.c (in tools folder) for QAC and Polyspace analysis of the NxtrFil.h file. | ||||||||||||||||||||||||
| Quality Check Items: | ||||||||||||||||||||||||
| Yes | No | Rationale is required for all answers of No | ||||||||||||||||||||||
| Pre-review checklist for change owners | QAC version is correct and did not change (List version) | X | Comments: | 1.0.0 | ||||||||||||||||||||
| component-specific QAC and Polyspace files needed | ||||||||||||||||||||||||
| in order to see warnings on this library header file | ||||||||||||||||||||||||
| (see tools folder) | ||||||||||||||||||||||||
| Contract Folder's header files are appropriate | X | Comments: | ||||||||||||||||||||||
| Group-review Checklist (review board) | 100% Compliance to the MISRA Compliance Guidelines | X | Comments: | Polyspace gives MISRA warning 21.1 | ||||||||||||||||||||
| for possible null pointer dereference; see comments below | ||||||||||||||||||||||||
| Cyclomatic complexity and Static path count ok per | X | Comments: | ||||||||||||||||||||||
| Design and Coding Standards rule [N47] | ||||||||||||||||||||||||
| General Notes / Comments: | ||||||||||||||||||||||||
| re-run and re-reviewed after source code and contract folder file rework from initial review | ||||||||||||||||||||||||
| waiting for Polyspace guidelines before using deviation comments for Polyspace-only MISRA warnings. The null pointer warning should not show up when running | ||||||||||||||||||||||||
| Polyspace on an integration project. Usaage notes in function comment blocks document the design limitation. | ||||||||||||||||||||||||
| Change Owner: | Kathleen Creager | Review Date : | 03/03/15 | |||||||||||||||||||||
| Lead Peer Reviewer: | Kevin Smith | Approved by Reviewer(s): | Yes | |||||||||||||||||||||
| Other Reviewer(s): | ||||||||||||||||||||||||