Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Declare MISRA C 2023 support complete#899

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
lcartey merged 4 commits intomainfromlcartey/declare-misra-c-2023-support-complete
May 19, 2025
Merged
Show file tree
Hide file tree
Changes fromall commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletionsREADME.md
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -15,14 +15,15 @@ The following coding standards are supported:
- [MISRA C 2012, 3rd Edition, 1st revision](https://www.misra.org.uk/product/misra-c2012-third-edition-first-revision/) (incoporating Amendment 1 & Technical Corrigendum 1). In addition, we support the following additional amendments and technical corrigendums:
- [MISRA C 2012 Amendment 2](https://misra.org.uk/app/uploads/2021/06/MISRA-C-2012-AMD2.pdf)
- [MISRA C 2012 Technical Corrigendum 2](https://misra.org.uk/app/uploads/2022/04/MISRA-C-2012-TC2.pdf)
- [MISRA C 2012 Amendment 3](https://misra.org.uk/app/uploads/2021/06/MISRA-C-2012-AMD3.pdf)
- [MISRA C 2012 Amendment 4](https://misra.org.uk/app/uploads/2021/06/MISRA-C-2012-AMD4.pdf)
- [MISRA C 2023](https://misra.org.uk/product/misra-c2023/)

## :construction: Standards under development :construction:

The following standards are under active development:
The following standards are under active development for [C++17](https://www.iso.org/standard/68564.html):

- [MISRA C++ 2023](https://misra.org.uk/product/misra-cpp2023/) - under development - _scheduled for release 2025 Q1_
- [MISRA C 2023](https://misra.org.uk/product/misra-c2023/) - under development - _scheduled for release 2025 Q1_
- This includes the development of [MISRA C 2012 Amendment 3](https://misra.org.uk/app/uploads/2021/06/MISRA-C-2012-AMD3.pdf) and [MISRA C 2012 Amendment 4](https://misra.org.uk/app/uploads/2021/06/MISRA-C-2012-AMD4.pdf), which are incorporated into MISRA C 2023.
- [MISRA C++ 2023](https://misra.org.uk/product/misra-cpp2023/) - under development - _scheduled for release 2025 Q2/Q3_

## How do I use the CodeQL Coding Standards Queries?

Expand Down
2 changes: 1 addition & 1 deletionc/misra/src/codeql-suites/misra-c-advisory.qls
View file
Open in desktop
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
- description: MISRA C2012 (Advisory)
- description: MISRA C2023 (Advisory)
- qlpack: codeql/misra-c-coding-standards
- include:
kind:
Expand Down
2 changes: 1 addition & 1 deletionc/misra/src/codeql-suites/misra-c-audit.qls
View file
Open in desktop
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
- description: MISRA C2012 (Audit)
- description: MISRA C2023 (Audit)
- qlpack: codeql/misra-c-coding-standards
- include:
kind:
Expand Down
2 changes: 1 addition & 1 deletionc/misra/src/codeql-suites/misra-c-default.qls
View file
Open in desktop
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
- description: MISRA C2012 (Default)
- description: MISRA C2023 (Default)
- qlpack: codeql/misra-c-coding-standards
- include:
kind:
Expand Down
2 changes: 1 addition & 1 deletionc/misra/src/codeql-suites/misra-c-mandatory.qls
View file
Open in desktop
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
- description: MISRA C2012 (Advisory)
- description: MISRA C2023 (Advisory)
- qlpack: codeql/misra-c-coding-standards
- include:
kind:
Expand Down
2 changes: 1 addition & 1 deletionc/misra/src/codeql-suites/misra-c-required.qls
View file
Open in desktop
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
- description: MISRA C2012 (Required)
- description: MISRA C2023 (Required)
- qlpack: codeql/misra-c-coding-standards
- include:
kind:
Expand Down
2 changes: 1 addition & 1 deletionc/misra/src/codeql-suites/misra-c-strict.qls
View file
Open in desktop
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
- description: MISRA C2012 (Strict)
- description: MISRA C2023 (Strict)
- qlpack: codeql/misra-c-coding-standards
- include:
kind:
Expand Down
4 changes: 4 additions & 0 deletionschange_notes/2025-05-15-misra-c-2023.md
View file
Open in desktop
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
- Support for MISRA C 2023 is now completed.
- The default query suites for MISRA C now target MISRA C 2023.
- The user manual has been updated to list MISRA C 2023 as completed.
- The `misra-c-2012-third-edition-with-amendment-2.qls` query suite can be used to run the queries present in MISRA C 2012 (3rd Edition) and Amendment 2.
29 changes: 16 additions & 13 deletionsdocs/user_manual.md
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -31,7 +31,8 @@
| 0.23.0 | 2024-10-21 | Luke Cartey | Add assembly as a hazard. |
| 0.24.0 | 2024-10-22 | Luke Cartey | Add CodeQL packs as a usable output, update release artifacts list. |
| 0.25.0 | 2025-01-15 | Mike Fairhurst | Add guidance for the usage of 'strict' queries. |
| 0.26.0 | 2025-02-12 | Luke Cartey | Describe support for new deviation code identifier formats |
| 0.26.0 | 2025-02-12 | Luke Cartey | Describe support for new deviation code identifier formats |
| 0.27.0 | 2025-05-15 | Luke Cartey | Documented completed support for MISRA C 2023. |

## Release information

Expand DownExpand Up@@ -59,16 +60,16 @@ A _coding standard_ is a set of rules or guidelines which restrict or prohibit t

The _CodeQL Coding Standards_ product is a set of CodeQL queries for identifying contraventions of rules in the following coding standards:

| Standard| Version | Rules | Supportable rules | Implemented rules | Status |
| -------------------------------------------------------------------------------------------------------------------- |------- |----------- | ----------------------- | ----------------- | ------- |
| AUTOSAR C++ | [^1] [R22-11](https://www.autosar.org/fileadmin/standards/R22-11/AP/AUTOSAR_RS_CPP14Guidelines.pdf), R21-11, R20-11, R19-11, R19-03| 397| 372|370[^2] | Implemented |
| CERT-C++ | [2016](https://resources.sei.cmu.edu/downloads/secure-coding/assets/sei-cert-cpp-coding-standard-2016-v01.pdf)| 83| 82| 82 | Implemented |
| CERT C| [2016](https://resources.sei.cmu.edu/downloads/secure-coding/assets/sei-cert-c-coding-standard-2016-v01.pdf)| 99| 97|97|Implemented |
| MISRA C| [2012 Third Edition, First Revision](https://www.misra.org.uk/product/misra-c2012-third-edition-first-revision/), [Amendment 2](https://misra.org.uk/app/uploads/2021/06/MISRA-C-2012-AMD2.pdf) and TC2 | 175| 164 |162[^3] | Implemented |
|| [MISRA C2012 Amendment 3](https://misra.org.uk/app/uploads/2021/06/MISRA-C-2012-AMD3.pdf)| 24 | 24 |- | Under development |
|| [MISRA C2012 Amendment 4](https://misra.org.uk/app/uploads/2021/06/MISRA-C-2012-AMD4.pdf)| 22 | 22 |- | Under development |
|| [2023 Third Edition, Second Revision](https://misra.org.uk/product/misra-c2023/)| 221|210| - | Under development |
| MISRA C++| [2023](https://misra.org.uk/product/misra-cpp2023/) | 179|176[^4]| - | Under development |
| Standard| Version | Rules | Supportable rules | Implemented rules | Status |
| ----------- |-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----- |----------------- | ----------------- |----------------- |
| AUTOSAR C++ | [^1] [R22-11](https://www.autosar.org/fileadmin/standards/R22-11/AP/AUTOSAR_RS_CPP14Guidelines.pdf), R21-11, R20-11, R19-11, R19-03 | 397 | 372 |370[^2] | Implemented |
| CERT-C++| [2016](https://resources.sei.cmu.edu/downloads/secure-coding/assets/sei-cert-cpp-coding-standard-2016-v01.pdf) | 83 | 82 | 82 | Implemented |
| CERT C | [2016](https://resources.sei.cmu.edu/downloads/secure-coding/assets/sei-cert-c-coding-standard-2016-v01.pdf) | 99 |97 | 97 |Implemented |
| MISRA C | [2012 Third Edition, First Revision](https://www.misra.org.uk/product/misra-c2012-third-edition-first-revision/), [Amendment 2](https://misra.org.uk/app/uploads/2021/06/MISRA-C-2012-AMD2.pdf) and TC2 | 175| 164| 162[^3] |Implemented |
| | [2012 Amendment 3](https://misra.org.uk/app/uploads/2021/06/MISRA-C-2012-AMD3.pdf)| 24| 24 |24 | Implemented |
| | [2012 Amendment 4](https://misra.org.uk/app/uploads/2021/06/MISRA-C-2012-AMD4.pdf)| 22| 22 |21[^4] | Implemented |
| | [2023 Third Edition, Second Revision](https://misra.org.uk/product/misra-c2023/) | 221 |210| 207[^5] | Implemented |
| MISRA C++| [2023](https://misra.org.uk/product/misra-cpp2023/) | 179 |176[^6]| - | Under development |

Not all rules in these standards are amenable to static analysis by CodeQL - some rules require external or domain specific knowledge to validate, or refer to properties which are not present in our representation of the codebase under analysis. In addition, some rules are natively enforced by the supported compilers. As CodeQL requires that the program under analysis compiles, we are unable to implement queries for these rules, and doing so would be redundant.

Expand All@@ -84,8 +85,10 @@ The datasheet _"CodeQL Coding Standards: supported rules"_, provided with each r

[^1]: AUTOSAR C++ versions R22-11, R21-11, R20-11, R19-11 and R19-03 are all identical as indicated in the document change history.
[^2]: The unimplemented supportable AUTOSAR rules are `A7-1-8` and `A8-2-1`. These rules require additional support in the CodeQL CLI to ensure the required information is available in the CodeQL database to identify violations of these rules.
[^3]: The unimplemented supportable MISRA C 2012 rules are `Rule 9.5`, `Rule 17.13`, and `Dir 4.14`. `Rule 9.5` and `Rule 17.13` require additional support in the CodeQL CLI to ensure the required information is available in the CodeQL database to identify violations of these rules. `Dir 4.14` is covered by the default CodeQL queries, which identify potential security vulnerabilities caused by not validating external input.
[^4]: The rules 5.13.7, 19.0.1 and 19.1.2 are not planned to be implemented by CodeQL as they are compiler checked in all supported compilers.
[^3]: The unimplemented supportable MISRA C 2012 rules are `Rule 9.5`, `Rule 17.13`. `Rule 9.5` and `Rule 17.13` require additional support in the CodeQL CLI to ensure the required information is available in the CodeQL database to identify violations of these rules. Note: `Dir 4.14` is covered by the default CodeQL queries, which identify potential security vulnerabilities caused by not validating external input.
[^4]: The unimplemented supportable MISRA C 2012 Amendment 4 rule is `Rule 9.6`. `Rule 9.6` requires additional support in the CodeQL CLI to ensure the required information is available in the CodeQL database to identify violations of this rule.
[^5]: The unimplemented supportable MISRA C 2023 rules are `Rule 9.5`, `Rule 9.6`, `Rule 17.13`. `Rule 9.5`, `Rule 9.6` and `Rule 17.13` require additional support in the CodeQL CLI to ensure the required information is available in the CodeQL database to identify violations of these rules. Note: `Dir 4.14` is covered by the default CodeQL queries, which identify potential security vulnerabilities caused by not validating external input.
[^6]: The rules `5.13.7`, `19.0.1` and `19.1.2` are not planned to be implemented by CodeQL as they are compiler checked in all supported compilers.

## Supported environment

Expand Down
Loading

[8]ページ先頭

©2009-2025 Movatter.jp