Polyspace Bug Finder

주요 특징

  • 정적 분석을 통한C 및 C++ 코드에서 런타임 오류, 데이터 흐름 문제 및 여러 종류의 결함을 검출
  • 대규모 코드 기반에 대한 빠른 분석
  • MISRA-C:2004, MISRA-C++:2008, MISRA C:2012, JSF++에 대한 준수 확인 및 사용자 정의 명명 규칙
  • 순환 복잡도(cyclomatic complexity) 및 기타 코드 메트릭
  • Eclipse™와의 통합
  • Simulink® 모델까지 코드 검증 결과 추적 가능
  • Polyspace Code Prover™ 결과에 높은 접근성
  • 거짓 양성 결과율이 낮은 버그 검출
Static analysis results displayed by Polyspace Bug Finder.

Polyspace Bug Finder에서 표시하는 정적 분석 결과

정적 분석을 통한 소프트웨어 결함 파악

Polyspace Bug Finder는 코드 구성요소 또는 전체 임베디드 소프트웨어 프로젝트를 분석하는 데 사용되는 정적 코드 분석 툴입니다. Polyspace Bug Finder는 거짓 양성 비율이 낮은 정형 기법을 포함한 빠른 정적 코드 분석 기술을 사용하여 C 또는 C++ 소스 코드에서 수치, 데이터 흐름, 프로그래밍 및 여러 버그를 정확히 감지할 수 있습니다.

버그를 빠르게 찾고 분류하고 수정하는 데 사용할 수 있습니다. Polyspace Bug Finder는 코드가 작성, 수정 또는 생성되는 즉시 버그 및 코딩 규칙 위반 검출을 수행합니다. 이를 통해 개발 프로세스의 초기 단계에서부터 코드를 반복적으로 디버깅하고 수정할 수 있습니다. Polyspace Bug Finder는 명령행 호출, 독립적인 사용자 인터페이스 또는 Eclipse IDE를 통한 사용을 지원합니다. 자동화된 사용방법을 위하여 빌드 환경으로 통합할 수도 있습니다. Polyspace Bug Finder는 다음을 포함한 소프트웨어 개발 작업 흐름의 중요 활동을 지원합니다.

  • 결함 검출
  • 코딩 표준 적용
  • 코드 복잡성 메트릭 생성
  • 식별한 결함을 분류 및 수정

Polyspace Bug Finder를 통해 프로젝트를 설정하고 정적 코드 분석을 수행할 수 있습니다.

  • 임베디드 대상 및 컴파일러를 통한 프로젝트 생성 및 설정
  • 소스 코드에서 결함 찾기
  • 코드의 MISRA-C:2004, MISRA AC AGC, MISRA-C++:2008, MISRA C:2012, JSF++(Joint Strike Fighter Air Vehicle C++) 표준 또는 사용자 정의 명명 규칙 준수 확인
  • 보고서 작성 또는 정적 코드 분석 및 코드 준수 결과를 시각화
  • 결함 원인을 검토하여 파악한 결함을 분류하고 수정할 방법을 결정
  • Simulink 블록 또는 IBM Rational Rhapsody 모델까지 결함을 추적
  • 정적 분석 결과를 웹 대시보드에 업로드하여 소프트웨어 품질 트렌드를 모니터링
Identify defects and check compliance to MISRA or JSF++.

결함을 파악하고 MISRA 또는 JSF++ 준수를 확인하기 위해 Polyspace에서 프로젝트를 구성

Polyspace Bug Finder는 소스코드에 특정 런타임 오류가 없음을 증명할 수 있는 Polyspace Code Prover와 함께 사용할 수 있습니다. 두 제품 모두 초기 개발 단계에서부터 버그 찾기, 코드 규칙 검사 및 증명에 걸쳐 사용할 수 있는 엔드투엔드(end-to-end) 정적 분석 기능을 제공합니다. 이 기능은 최고 수준의 소프트웨어 품질과 안전이 요구되는 임베디드 소프트웨어의 신뢰성을 보장합니다.

Parallel Computing Toolbox™MATLAB Distributed Computing Server™를 사용하여 정적 분석 작업을 컴퓨터 클러스터로 제출함으로써 정적 코드 분석 속도를 빠르게 할 수 있습니다.

버그 찾기 및 결함 분류

Polyspace Bug Finder는 수치, 프로그래밍, 정적 메모리, 동적 메모리 및 데이터 흐름에 관련된 다양한 결함을 검출합니다. 이러한 결함들은 결함의 원인과 소스를 파악하는 데 도움을 주는 추적 정보와 함께 소스 코드에서 확인할 수 있습니다. 코딩 규칙 위반은 규칙 위반에 관한 정보 메시지와 함께 소스 코드에서 직접 확인할 수 있습니다.

수월한 작업 흐름 덕분에 개발자와 품질 엔지니어가 결함을 분류하기 쉽습니다. Polyspace Bug Finder는 모든 검출된 결함에 대해 그 원인에 관한 자세한 정보를 제공합니다. 예를 들어 정수 오버플로우가 발생하는 상황에서 Polyspace Bug Finder는 오버플로우 조건을 발생시키는 코드의 모든 행 번호를 추적합니다. 소프트웨어 개발자는 이 정보를 사용하여 코드를 수정할 최적의 방법을 결정할 수 있습니다. 품질 엔지니어는 이 정보를 사용하여 후속 조치를 수행할 수 있도록 결함을 분류할 수 있습니다. 예를 들어 품질 엔지니어는 추가적인 조사가 필요한 결함을 기록하거나 결함의 우선 순위가 낮음을 표시할 수도 있습니다.

An overflow condition identified in Polyspace Bug Finder.

Polyspace Bug Finder에서 식별된 오버플로우 조건

코딩 표준 준수 확인(MISRA, JSF, 명명 규칙)

Polyspace Bug Finder는 MISRA-C:2004, MISRA-C++:2008, MISRA C:2012, MISRA-AC-AGC, JSF++ 및 사용자가 정의한 명명 코딩 규칙 위반을 탐지할 수 있습니다. Polyspace Bug Finder를 사용하여 코딩 규칙을 적용함으로써 코드의 가독성과 품질을 개선할 수 있습니다. Polyspace Bug Finder가 표준의 모든 규칙을 확인하도록 하거나 표준에서 필수적으로 요구되는 규칙만 확인하도록 구성할 수 있고 적용할 규칙을 개별적으로 선택할 수도 있습니다. 또한 자체 구성을 정의하여 팀 내에서 동일한 코딩 규칙이 적용되도록 할 수 있습니다.

소스 코드 편집기로 추적하여 규칙 위반을 수정하거나 문서화 또는 코드 주석을 통해 코딩 규칙 위반을 정당화할 수도 있습니다. Polyspace Bug Finder 인터페이스를 통해 위반 사항을 두 번 검토하지 않게 하여 이전 분석과의 차이점에 집중하도록 도와 줍니다. 코딩 규칙 분석 결과를 웹 대시보드로 내보내서 시간 경과에 따라 결과를 추적할 수 있습니다.

Identifying a MISRA violation.

MISRA 위반 식별

코드 복잡성 메트릭 생산, 소프트웨어 품질 모니터링

Polyspace Bug Finder는 프로젝트 수준, 파일 수준, 함수 수준에서의 메트릭을 생성하여 코드의 복잡성을 평가합니다. Polyspace Bug Finder는 웹 대시보드로 내보낼 수 있는 HIS(Hersteller Initiative Software) 메트릭 생성을 지원합니다. 코드 복잡성 메트릭에는 다음이 포함됩니다.

  • 순환 복잡도(Cyclomatic complexity)
  • 주석 밀도
  • 호출 수준
  • 경로 수
  • 함수 매개변수 수

중앙 집중식 품질 모델을 정의하여 결함, 코드 복잡성, 코딩 규칙 위반을 추적할 수 있습니다. 이러한 메트릭을 사용하여 코드가 진화함에 따라 사전 정의된 소프트웨어 품질 목표에 대한 진행 상태를 추적할 수 있습니다. Polyspace Bug Finder는 코드 품질의 개선 속도를 측정함으로써 개발자, 테스터 및 프로젝트 관리자가 고품질 코드를 목표로 설정하고 이를 제공할 수 있도록 합니다.

Software quality metrics displayed via web browser.

웹 브라우저를 통해 표시된 소프트웨어 품질 메트릭

코드 분석 결과를 Simulink 모델까지 추적

Polyspace Bug Finder는 생성된 코드 또는 생성된 코드와 직접 작성한 코드를 모두 포함하는 혼합 코드를 분석할 수 있습니다. 자동 생성된 코드 내 코드 수준의 결함 결과는 Simulink의 모델까지 추적됩니다. 모델에서 믿을 수 있는 부분을 식별하고 코드에서 오류를 일으킬 수 있는 설계 문제를 수정할 수 있습니다. 또한 생성된 코드와 직접 작성한 코드의 인터페이스 사이에서 잠재적인 문제를 찾아낼 수 있습니다. 예를 들어 직접 작성한 S-Function 코드를 생성된 코드와 혼합하면, 인터페이스의 잘못된 신호 범위로 인해 런타임 오류가 발생하는 문제가 있을 수 있습니다.

Polyspace Bug Finder는 dSPACE TargetLink 블록과 IBM Rational Rhapsody 모델까지 결과를 추적하는 것도 지원합니다.

Tracing MISRA violations to the Simulink model.

MISRA 위반을 Simulink 모델까지 추적

인증용 아티팩트 생성

Polyspace Bug Finder 및 Polyspace Code Prover는 IEC Certification Kit (IEC 61508 및 ISO 26262의 경우)DO Qualification Kit (DO-178의 경우) 을 통해 업계 표준 기반의 프로젝트를 위한 인증 프로세스에서 사용할 수 있습니다.

보고서와 아티팩트는 코드의 최종 품질을 보여주고, 검토된 섹션을 강조 표시하며, 코드 메트릭을 생성하고, 코딩 규칙의 적용과 런타임 오류 상태를 문서화합니다. 이러한 보고서는 PDF, HTML, RTF 및 기타 형식으로 만들 수 있습니다.

DO Qualification Kit contents.

인증 및 검증 키트가 제공됩니다.

Polyspace Bug Finder 평가판 사용

평가판 신청

Reduce Testing and Debugging Time using Polyspace Static Analysis

웨비나 보기