VS Code์ ์ฟผ๋ฆฌ ํ ์คํธ ์ ๋ณด
CodeQL ์ฟผ๋ฆฌ๊ฐ ์์ ๊ฒฐ๊ณผ๋ฅผ ์์ฑํ๋๋ก ํ๋ ค๋ฉด ์์ ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ์ค์ ๊ฒฐ๊ณผ์ ๋น๊ตํ๋ ํ ์คํธ๋ฅผ ์คํํ๋ฉด ๋ฉ๋๋ค.
CodeQL ์ต์คํ ์ ์ ์๋์ผ๋ก "ํ ์คํธ" ๋ณด๊ธฐ์ ๋ฑ๋ก๋ฉ๋๋ค. ์ด ๋ณด๊ธฐ๋ ํ์ฌ ์์ ์์ญ์์ ์ฐพ์ ๋ชจ๋ ํ ์คํธ๋ฅผ ํ์ํ๊ณ ์์ ์์ญ์์ ํ ์คํธ๋ฅผ ํ์ํ๊ณ ์คํํ๊ธฐ ์ํ UI๋ฅผ ์ ๊ณตํฉ๋๋ค.
CodeQL ํ ์คํธ ๋ง๋ค๊ธฐ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์ฌ์ฉ์ ์ง์ ์ฟผ๋ฆฌ ํ ์คํธ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
๋จ์ ํ ์คํธ ์คํ์ ์์ธํ ์ถ๋ ฅ์ ๋ณด๋ ค๋ฉด CodeQL ํ ์คํธ ๋ก๊ทธ๋ฅผ ์ฝ๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ก๊ทธ ์ก์ธ์ค์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
์ฟผ๋ฆฌ ๊ฒฐ๊ณผ ํ ์คํธ
-
Visual Studio Code์ ์ฌ์ด๋๋ฐ์์ โํ ์คํธโ ๋ณด๊ธฐ๋ฅผ ์ฝ๋๋ค.
-
ํน์ ํ ์คํธ๋ฅผ ์คํํ๋ ค๋ฉด ํ์ผ ๋๋ ํด๋ ์ด๋ฆ์ ๋ง์ฐ์ค๋ก ๊ฐ๋ฆฌํค๊ณ ์ฌ์ ๋ฒํผ์ ํด๋ฆญํฉ๋๋ค. ์์ ์์ญ์์ ๋ชจ๋ ํ ์คํธ๋ฅผ ์คํํ๋ ค๋ฉด ๋ณด๊ธฐ ์๋จ์ ์๋ ์ฌ์ ๋ฒํผ์ ํด๋ฆญํฉ๋๋ค. ํ ์คํธ๋ฅผ ์คํํ๋ ๋ฐ ์๊ฐ์ด ๋๋ฌด ์ค๋ ๊ฑธ๋ฆฌ๋ ๊ฒฝ์ฐ ๋ณด๊ธฐ ์๋จ์ ์๋ ์ค์ง ๋ฒํผ์ ํด๋ฆญํ์ฌ ํ ์คํธ๋ฅผ ์ทจ์ํ ์ ์์ต๋๋ค.
-
์ด ์์ด์ฝ์ ํ ์คํธ ํต๊ณผ ๋๋ ์คํจ ์ฌ๋ถ๋ฅผ ํ์ํฉ๋๋ค. ์คํจํ ๊ฒฝ์ฐ "ํ ์คํธ ๊ฒฐ๊ณผ"์์ ํ ์คํธ๋ฅผ ํด๋ฆญํ์ฌ ์์ ์ถ๋ ฅ๊ณผ ์ค์ ์ถ๋ ฅ ๊ฐ์ ์ฐจ์ด๋ฅผ ํ์ํฉ๋๋ค.
-
๊ฒฐ๊ณผ๋ฅผ ๋น๊ตํฉ๋๋ค. ์ค์ ์ถ๋ ฅ์ผ๋ก ํ ์คํธ๋ฅผ ์ ๋ฐ์ดํธํ๋ ค๋ฉด "ํ ์คํธ" ๋ณด๊ธฐ์์ ํ ์คํธ๋ฅผ ๋ง์ฐ์ค ์ค๋ฅธ์ชฝ ๋จ์ถ๋ก ํด๋ฆญํ๊ณ ํ ์คํธ ์ถ๋ ฅ ์๋ฝ์ ํด๋ฆญํฉ๋๋ค.
์ฟผ๋ฆฌ ์ฑ๋ฅ ๋ชจ๋ํฐ๋ง
์ฟผ๋ฆฌ ์ฑ๋ฅ์ ๋๊ท๋ชจ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋๋ ์ฐ์ ํตํฉ ์์คํ ์ ์ผ๋ถ๋ก ์ฟผ๋ฆฌ๋ฅผ ์คํํ๋ ค๋ ๊ฒฝ์ฐ์ ์ค์ํฉ๋๋ค.
์ฟผ๋ฆฌ ์ฑ๋ฅ์ ๊ฒ์ฌํ๋ ค๋ฉด ํ์ด๋ฐ ๋ฐ ํํ ์๋ฅผ ํฌํจํ๋๋ก "์ฟผ๋ฆฌ ์คํ: ๋๋ฒ๊ทธ" ์ค์ ์ ์ฌ์ฉํ๋๋ก ์ค์ ํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด "์ถ๋ ฅ" ๋ณด๊ธฐ์ CodeQL "์ฟผ๋ฆฌ ์๋ฒ" ํญ์ ๋ก๊ทธ์ ํ์๋ฉ๋๋ค. ํํ ์๋ ์ฟผ๋ฆฌ์์ ๊ณ์ฐํ ์กฐ๊ฑด์์ ํฌ๊ธฐ๋ฅผ ๋ํ๋ด๊ธฐ ๋๋ฌธ์ ์ ์ฉํฉ๋๋ค. ์ค์ ๋ณ๊ฒฝ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์ค์ ์ฌ์ฉ์ ์ง์ ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
์ฟผ๋ฆฌ๊ฐ ํ๊ฐ๋๋ ๊ฒฝ์ฐ ์ฟผ๋ฆฌ ์๋ฒ๋ ๊ณ์ฐํ๋ ์กฐ๊ฑด์๋ฅผ ์บ์ํฉ๋๋ค. ๋ฐ๋ผ์ ๋ ํ๊ฐ์ ์ฑ๋ฅ์ ๋น๊ตํ๋ ค๋ฉด CodeQL: ์บ์ ์ง์ฐ๊ธฐ๋ฅผ ์คํํ์ฌ ๊ฐ ์คํ ์ ์ ์ฟผ๋ฆฌ ์๋ฒ์ ์บ์๋ฅผ ์ง์์ผ ํฉ๋๋ค. ์ด๋ฅผ ํตํด ๋๋ฑํ ๋ฐ์ดํฐ๋ฅผ ๋น๊ตํ ์ ์์ต๋๋ค.
CodeQL ์ฟผ๋ฆฌ์ ์ฑ๋ฅ์ ๋ชจ๋ํฐ๋งํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ CodeQL ์ค๋ช ์์ ์ฟผ๋ฆฌ ์ฑ๋ฅ ๋ฌธ์ ํด๊ฒฐ ๋ฐ QL ํ๋ก๊ทธ๋จ ํ๊ฐ๋ฅผ ์ฐธ์กฐํ์ธ์.
๋ค์ ๋จ๊ณ
์ฟผ๋ฆฌ์์ ์๋ณํ๋ ค๋ ๊ฒฐ๊ณผ๋ฅผ ์ฐพ์ ๊ฒฝ์ฐ ๋ณํ ๋ถ์์ ์ฌ์ฉํ์ฌ ๋๊ท๋ชจ๋ก ์คํํ ์ ์์ต๋๋ค. ๋ง์ CodeQL๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋๊ท๋ชจ๋ก ๋ถ์์ ์คํํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ ๋ค์ค ๋ฆฌํฌ์งํ ๋ฆฌ ๋ณํ ๋ถ์์ ์ฌ์ฉํ์ฌ ๋๊ท๋ชจ CodeQL ์ฟผ๋ฆฌ ์คํ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.