맨위로가기

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를 지원한다.
Cppcheck - [IT 관련 정보]에 관한 문서
기본 정보
저자Daniel Marjamäki
출시일2007년 5월 8일
프로그래밍 언어C++
운영 체제크로스 플랫폼
지원 언어영어
네덜란드어
핀란드어
스웨덴어
독일어
러시아어
일본어
세르비아어
스페인어
프랑스어
이탈리아어
한국어
중국어
장르정적 프로그램 분석
라이선스GNU 일반 공중 사용 허가서
웹사이트Cppcheck 공식 웹사이트

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