๐ ๏ธ 9๊ฐ: MISRA-C์ ์ ์ ๋ถ์ ๋๊ตฌ ํ์ฉ ์ ๋ต
MISRA-C ๊ท์น์ ์๊ฒ ๋๋ฐ… ์ด๊ฑธ ์ผ์ผ์ด ๋ค ํ์ธํ๋ค๊ณ ?
๊ฑฑ์ ๋ง์ธ์! ์ค๋์ ์ ์ ๋ถ์ ๋๊ตฌ๋ฅผ ํ์ฉํด ์๋์ผ๋ก ๊ท์น ์ค์์ ํ์ง์ ์ฑ๊ธฐ๋ ๋ฒ์ ์์๋ด
๋๋ค. ๐
1. ์ ์ ๋ถ์ ๋๊ตฌ์ ์ญํ ๐
- ์ฝ๋๋ฅผ ์คํํ์ง ์๊ณ ๋ฌธ์ ์ ์ ์๋์ผ๋ก ์ฐพ์์ฃผ๋ ๋๊ตฌ
- ์ปดํ์ผ ์ ์ ์ ์ฌ์ ๋ฒ๊ทธ๋ฅผ ๐จ ์๋ฆผ!
- ๋ํ์ ์ธ ๋๊ตฌ:
- Polyspace: ์ํ์ ์ฆ๋ช ์ ํตํ ์๋ฌ ๊ฒ์ถ
- Coverity: ์ฐ์ ํ์ฅ์์ ๋ง์ด ์ฐ์ด๋ ๋๊ท๋ชจ ๋ถ์
- QAC / PC-Lint: MISRA-C ์ ์ฉ์ผ๋ก ๊ฐ๋ ฅํ ๊ฒ์ฌ ๊ฐ๋ฅ
2. ์ ์ ๋ถ์ ๋๊ตฌ์ ํ โก
- ์ฝ๋๋ฅผ ์คํํ์ง ์๊ณ ๋ฌธ์ ํ์ง → ๋ฒ๊ทธ ์๋ฐฉ์ ์ฒซ๊ฑธ์
- ์ฌ๋์ด ๋์น๊ธฐ ์ฌ์ด ๋ถ๋ถ๊น์ง ๊ผผ๊ผผํ ํ์ธ
- CI/CD์ ๋ถ์ด๋ฉด "์๋ MISRA ์ ๊ฒ ๋ก๋ด" ์์ฑ ๐ค
3. ์ ๊ผญ ํ์ํ ๊น? ๐ฆ
- ํด๋จผ ์๋ฌ ์ต์ํ: ๋ฐ๋ณต ๊ฒ์ฌ๋ ๊ธฐ๊ณ์๊ฒ!
- ์ฌ์ฌ ๋์: ๋ณด๊ณ ์ ์๋ ์์ฑ → ๊ฐ์ฌ์ธ์๊ฒ ๊น๋ํ๊ฒ ์ ์ถ ๊ฐ๋ฅ
- ์ฝ๋ ํ์ง ์งํด์ด: ์ ์๋์ง ์์ ๋์(UB)๋ ๋ฏธ๋ฆฌ ๊ฒฝ๊ณ ๐
4. ๋๊ตฌ๋ณ ํน์ง ๋น๊ต ๐
| ๋๊ตฌ | ํน์ง | ์ฅ์ | ๋จ์ |
|---|---|---|---|
| Polyspace | ์ํ์ ๋ถ์ | ๊ทผ๊ฑฐ ์๋ ๊ฒฐ๊ณผ | ์๋๊ฐ ๋๋ฆด ์ ์์ |
| Coverity | ๋๊ท๋ชจ ํ๋ก์ ํธ | ๋ค์ํ ์ธ์ด ์ง์ | ์์ฉ ๋น์ฉ ๋ถ๋ด |
| QAC | MISRA-C ๊ฐ๋ ฅ | ์ฐ์ ํ์คํ | ๋ฌ๋ ์ปค๋ธ ์์ |
| PC-Lint | ๊ฐ๋ณ๊ณ ๋น ๋ฆ | ์ ๋ ดํ ๋น์ฉ | ์ค์ ๋์ด๋ |
5. ๋๊ตฌ๋ณ ํ์ฉ ํ ๐ ๏ธ
- QAC / PC-Lint → MISRA ์ ์ฉ ๊ฐ๋ ฅ ์ ๊ฒ (์๋์ฐจ ์ ๊ณ ๋จ๊ณจ)
- Coverity → ๋๊ท๋ชจ ํ๋ก์ ํธ ๊ด๋ฆฌ์ ์ ๋ฆฌ
- Polyspace → ์ํ์ ์ฆ๋ช ๊ธฐ๋ฐ, “์ง์ง๋ก ์์ ํ์ง” ์ ์ฆ
๐ ๋ชจ๋ ๋๊ตฌ๊ฐ ์๋ฒฝํ์ง ์์ผ๋, ํ๋ก์ ํธ ํน์ฑ์ ๋ง๊ฒ ์ ํํ์ธ์!
6. ์๋ํ + ๋ฆฌ๋ทฐ์ ๊ท ํ โ๏ธ
- ์๋ํ ๊ฒ์ฌ: ๊ท์น ์๋ฐ, ๋ฉ๋ชจ๋ฆฌ ๋ฌธ์ , UB ๊ฐ๋ฅ์ฑ ์ก๊ธฐ
- ์๋ ๋ฆฌ๋ทฐ: ๋ก์ง ์๋, ๋ช ๋ช ๊ท์น, ์ํคํ ์ฒ์ ์ค๋ฅ ํ์ธ
- ๋์ ํฉ์ณ์ผ ์์ ํ MISRA ์ปดํ๋ผ์ด์ธ์ค ๋ฌ์ฑ ๊ฐ๋ฅ ๐ก
7. ์๋ ๋ฆฌ๋ทฐ ํฌ์ธํธ โ๏ธ
์๋ํ๋ง ๋ฏฟ์ผ๋ฉด ์ ๋ผ์! ์ฌ๋์ด ๊ผญ ๋ด์ผ ํ ๋ถ๋ถ๋ ์๋ต๋๋ค:
- ์๋ํ ๋ก์ง์ด ๋ง๋๊ฐ?
- ๋ช ๋ช ๊ท์น์ด ์ผ๊ด์ ์ธ๊ฐ?
- ๋๊ตฌ๊ฐ ์ก์ง ๋ชปํ๋ ์ค๊ณ์ ์ค๋ฅ๋ ์๋๊ฐ?
- ์ฆ, ์ ์ ๋ถ์์ "์๋์ฐจ ๋ด๋น๊ฒ์ด์ "์ด๊ณ , ์๋ ๋ฆฌ๋ทฐ๋ "์ด์ ์์ ํ๋จ"์ด์์ ๐
์ค๋์ ๋น์ ๐จ
์ ์ ๋ถ์ ์์ด MISRA ์งํค๊ธฐ =
์
ํ ์ธ์ฐจํ๋ฉด์ ๋จผ์ง ํ๋๋ ์ ๋จ๊ธฐ๋ ค๋ ๊ผด! ๐๐งฝ
→ ๋๊ตฌ๋ฅผ ์ฐ๋ฉด ํจ์ฌ ๊น๋ํ๊ณ ๋น ๋ฆ
๋๋ค.
๋ค์ ํ์ฐจ ์๊ณ ๐ฌ
๐ 10ํ์ฐจ: Deviation ์ฒ๋ฆฌ์ ์ปดํ๋ผ์ด์ธ์ค ๋ฌธ์ํ ์ ๋ต
๊ท์น์ ์ด๊ฒจ์ผ ํ ๋, ํฉ๋ฆฌ์ ์ผ๋ก ์ค๋ช
ํ๋ ๋ฒ์ ์์๋ด
๋๋ค!
์๋์ฐจ ์ํํธ์จ์ด ๊ฐ๋ฐ์์ ๋น ์ง ์ ์๋ ํค์๋, ๋ฐ๋ก MISRA-C์ ์ ์ ๋ถ์ ๋๊ตฌ์
๋๋ค!
์ค๋์ ์ฝ๋ ํ์ง๊ณผ ์์ ์ฑ์ ํ ๋ฒ์ ์ฑ๊ธฐ๋ ๋น๋ฒ์ ์๋ ค๋๋ฆด๊ฒ์ ๐๐จ
