맨위로가기

Cppcheck

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

Cppcheck는 C 및 C++ 코드를 위한 정적 분석 도구이다. 컴파일러가 감지하지 못할 수 있는 다양한 오류를 찾아내며, 휴리스틱이 아닌 엄격한 정적 분석을 수행한다. 자동 변수, 배열 오버런, 클래스 관련 문제, 메모리 누수, 자원 누수, 표준 템플릿 라이브러리 사용 오류 등 다양한 유형의 결함을 검사한다. CERN의 4DSOFT, OpenOffice.org, Debian 아카이브 등 여러 프로젝트에서 사용되며, 개발이 활발히 진행 중이다. 다양한 통합 개발 환경(IDE) 및 텍스트 편집기를 위한 플러그인을 지원한다.

광고

더 읽어볼만한 페이지

  • 자유 소프트웨어 테스트 도구 - Valgrind
    Valgrind는 동적 분석 도구들의 프레임워크로, 가상 머신 기반으로 작동하며 메모리 오류 감지, 멀티스레드 코드 분석 등 다양한 기능을 제공하지만, 정적 또는 스택 할당 데이터의 경계 오류는 모두 감지하지 못한다.
  • 자유 소프트웨어 테스트 도구 - OneFuzz
    OneFuzz는 마이크로소프트가 소프트웨어 테스트 효율성을 위해 개발한 퍼징 도구로, 앙상블 퍼징, 프로그래밍 방식 결과 분석, 알림 콜백 기능을 제공하며, 2020년 공개되었으나 2023년 개발이 종료되고 GitHub 프로젝트는 보관되었다.
  • 정적 프로그램 분석 도구 - 린트 (소프트웨어)
    린트는 소프트웨어 코드의 오류, 스타일 문제, 의심스러운 구조를 탐지하는 도구이며, 다양한 프로그래밍 언어에서 활용되어 저품질 코드 검출 및 버그 예방에 기여한다.
  • 정적 프로그램 분석 도구 - JSLint
    JSLint는 자바스크립트 코드의 잠재적 오류를 검사하는 도구이며, 2021년부터 FSF/OSI 승인 언라이선스를 사용한다.
  • GPL 라이선스 소프트웨어 - F-Droid
    F-Droid는 2010년 키어런 걸트니엑스가 설립한 안드로이드용 자유 소프트웨어 앱 저장소로, 구글 플레이 스토어에 없는 자유/오픈 소스 소프트웨어 앱을 제공하며 감시, 검열 저항, 개인 정보 보호에 중점을 둔 클라이언트 앱, 저장소 관리 도구, 웹사이트 생성기 등의 하위 프로젝트로 구성된다.
  • GPL 라이선스 소프트웨어 - MySQL
    MySQL은 1994년 스웨덴에서 개발을 시작하여 현재 오라클에 인수된 관계형 데이터베이스 관리 시스템으로, 오픈 소스 및 상업용 에디션을 제공하며 ANSI SQL 99 표준을 지원하고 다양한 스토리지 엔진과 프로그래밍 언어 API를 지원한다.

2. 기능

Cppcheck는 컴파일러가 자체적으로 처리하지 못할 수 있는 다양한 정적 검사 기능을 제공한다. 이러한 검사는 소스 코드 수준에서 수행되는 정적 분석 검사이다. Cppcheck는 휴리스틱이 아닌 엄격한 정적 분석 검사를 지향한다.[30]

Cppcheck는 CERN의 4DSOFT 메타 분석 패키지[4], 고에너지 입자 검출기 판독 장치에서 코드 검증[5], 전파 망원경용 시스템 모니터링 소프트웨어[6]뿐만 아니라 OpenOffice.org[7] 및 Debian 아카이브[8]와 같은 대규모 프로젝트의 오류 분석에도 사용되는 것으로 확인되었다. 한편, 2009년 3월에 수행된 연구에 따르면 Cppcheck에서 잘못된 긍정이 발견된 여러 영역이 확인되었지만, 검사된 프로그램 버전은 명시되지 않았다.[3]

2. 1. 지원되는 검사

Cppcheck는 컴파일러 자체에서 다루지 않을 수 있는 다양한 정적 검사를 지원한다. 해당 검사들은 정적 분석 검사들이며 소스 코드 레벨에서 수행이 가능하다. 이 프로그램은 휴리스틱 이론이 아닌 엄격한 정적 분석 검사를 지향한다.

지원되는 검사들 중 일부는 다음을 포함한다:

3. 개발

이 프로젝트는 활발하게 개발[9] 중이며, 여러 배포판에서 적극적으로 유지 관리되고 있다.[10][11] 리눅스 커널과 MPlayer와 같은 여러 인기 프로젝트에서 유효한 버그를 찾아냈다.[12][13]

4. 플러그인

다음은 Cppcheck와 연동되는 IDE 및 텍스트 편집기 플러그인 목록이다.[31][14]


참조

[1] 웹사이트 A Survey of C and C++ Software Tools for Computational Science http://www.softeng.r[...] Chilbolton, Daresbury, and Rutherford Appleton Laboratories 2010-09-14
[2] 웹사이트 System Interfaces https://pubs.opengro[...] 2020-09-24
[3] 웹사이트 Static Code Analysis For Embedded Systems http://publications.[...]
[4] 웹사이트 Dissemination and use of knowledge plan (EU Deliverable DNA2.11 http://etics.web.cer[...] 2010-09-15
[5] 웹사이트 Entwurf und Implementierung eines adaptiven, strahlentoleranten eingebetteten Systems am Beispiel eines Read-Out-Controllers (En: Development and implementation of an adaptive, radiation tolerant embedded system for operation of a Read-Out controller) http://www.kip.uni-h[...]
[6] 웹사이트 The Wettzell System Monitoring Concept and First Realizations http://ivscc.gsfc.na[...] International VLBI Service for Geodesy & Astrometry
[7] 웹사이트 Hunting for vulnerabilities in large software : the OpenOffice suite http://www.cl.cam.ac[...] 2010-09-15
[8] 웹사이트 Introducing the "Debian's Automated Code Analysis" (DACA) project https://lwn.net/Arti[...] LWN.net
[9] Github Cppcheck on Github https://github.com/d[...]
[10] Debian Cppcheck on Debian's Package Tracking System http://packages.qa.d[...]
[11] FreeBSD FreeBSD port http://svnweb.freebs[...]
[12] 웹사이트 List of user reported bugs found by cppcheck http://sourceforge.n[...]
[13] 웹사이트 Found Bugs list http://sourceforge.n[...]
[14] 웹사이트 SourceForge.net: cppcheck http://sourceforge.n[...]
[15] 웹사이트 cppcheck plugin for CLion https://plugins.jetb[...]
[16] 웹사이트 Cppcheclipse https://github.com/k[...]
[17] 웹사이트 Flycheck https://flycheck.rea[...]
[18] 웹사이트 gedit Cppcheck plugin https://github.com/o[...]
[19] 웹사이트 Cppcheck Plugin http://wiki.hudson-c[...] 2010-09-15
[20] 웹사이트 Cppcheck Plugin http://wiki.jenkins-[...] 2022-05-20
[21] 웹사이트 Kate Project Plugin News – Code Analysis https://kate-editor.[...] 2013-02-02
[22] 웹사이트 KDevelop's Cppcheck plugin merged into kdevelop.git, will be released with 5.1 https://mail.kde.org[...] 2016-12-06
[23] 웹사이트 Qt Creator Plug-in Gallery https://wiki.qt.io/Q[...]
[24] 웹사이트 Sublimelinter plugin https://github.com/S[...]
[25] 웹사이트 Cppcheck add-in https://marketplace.[...]
[26] 웹사이트 Homepage cppcheck-vs-addin https://github.com/V[...] 2014-03-03
[27] 웹사이트 Simple open source static analysis tool for Visual Studio http://www.technosri[...] 2012-08-27
[28] 웹사이트 Yasca https://scovetta.git[...]
[29] 웹인용 A Survey of C and C++ Software Tools for Computational Science http://www.softeng.r[...] Chilbolton, Daresbury, and Rutherford Appleton Laboratories 2010-09-14
[30] 문서 http://www.opengroup[...]
[31] 웹인용 SourceForge.net: cppcheck http://sourceforge.n[...]
[32] 웹인용 cppcheck plugin for CLion https://plugins.jetb[...]
[33] 웹인용 Cppcheclipse https://github.com/k[...]
[34] 웹인용 Flycheck https://flycheck.rea[...]
[35] 웹인용 gedit Cppcheck plugin https://github.com/o[...]
[36] 웹인용 Cppcheck Plugin https://web.archive.[...] 2010-09-15
[37] 웹인용 Cppcheck Plugin http://wiki.jenkins-[...]
[38] 웹인용 Kate Project Plugin News – Code Analysis https://kate-editor.[...] 2016-12-14
[39] 웹인용 KDevelop's Cppcheck plugin merged into kdevelop.git, will be released with 5.1 https://mail.kde.org[...] 2016-12-14
[40] 웹인용 Qt Creator Plug-in Gallery https://wiki.qt.io/Q[...]
[41] 웹인용 Sublimelinter plugin https://github.com/S[...]
[42] 웹인용 Cppcheck add-in https://marketplace.[...]
[43] 웹인용 Homepage cppcheck-vs-addin https://github.com/V[...] 2014-03-03
[44] 웹인용 Simple open source static analysis tool for Visual Studio http://www.technosri[...] 2012-08-27
[45] 웹인용 Yasca https://scovetta.git[...]



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com