Polyspace for C/C++ Code Verification
일정 보기 및 등록교육과정 세부 정보
본 2일 교육과정에서는 코드 정확도를 검증하고 소프트웨어의 품질 지표 향상 및 제품의 신뢰성 향상을 위한 Polyspace Bug Finder™ 및 Polyspace Code Prover™의 사용 방법을 다룹니다. 임베디드 시스템을 타깃으로 소프트웨어와 모델을 개발하는 엔지니어를 위한 교육과정입니다. 3일 차 교육은 선택 사항이며 현장 교육만 가능합니다. 본 교육과정에서 다루는 주요 내용은 다음과 같습니다.
- 검증 프로젝트 생성
- 검증 결과 검토 및 이해
- 타깃 실행 환경 에뮬레이션
- 누락된 함수와 데이터 처리
- 검증되지 않은 코드 관리(Polyspace® 제품에 의해 코드가 주황색으로 표시됨)
- MISRA C® 규칙 적용
- 분석 결과 보고
1일차
Polyspace 워크플로 개요
학습목표: Polyspace Bug Finder 및 Polyspace Code Prover에 대해 알아보고 기본 예제를 차근차근 살펴봅니다.
- 코드 검증 워크플로
- Bug Finder 분석 실행
- Code Prover 검증 실행
- 소프트웨어 문제 분석 및 수정
Polyspace Bug Finder 분석
학습목표: ANSI C를 준수하지 않고 런타임 환경을 고려하지 않는 코드를 분석하고 Polyspace Bug Finder를 사용하여 결함 및 코딩 규칙 위반을 수정합니다.
- Polyspace 프로젝트 생성
- 일반적인 런타임 환경 아티팩트
- 프로세서 전용 코드 처리
- 타깃 하드웨어 정보 설정
- Polyspace Bug Finder의 결함 분석
- MISRA C 규칙 위반 분석
- 코드 메트릭 측정
- 템플릿 프로젝트
Polyspace Code Prover 결과 분석
학습목표: Polyspace Code Prover 결과 해석에 능숙해집니다.
- 요약 해석 개요
- 호출 트리 분석
- 소스 코드 탐색
- Polyspace Code Prover 결과 해석
- 소스 코드에서 전역 변수 사용 내역 보기
코드 검증 검사
학습목표: Polyspace Code Prover에서 진단을 사용하여 런타임 오류를 찾습니다.
- C 소스 코드 검사 개요
- Polyspace Code Prover 런타임 오류 검사
- 관련된 검증 옵션
2일차
Polyspace Code Prover 검증 및 결과 관리
학습목표: 검증되지 않은 검사 항목이 다수 포함된 검증 결과를 처리합니다.
- Code Prover 검증 워크플로
- 프로그램 실행 순서 제어
- 주황색 런타임 오류 검사에 우선 순위 지정
Polyspace Code Prover 검증에 정밀도 추가
학습목표: Polyspace Code Prover가 검증 도중 누락된 코드를 어떻게 처리하는지, 이 행동을 어떻게 변경해야 보다 유의미한 검증이 이뤄지는지 알아봅니다.
- 강인성 검증 및 문맥적 검증
- 자동 스터빙
- 데이터 범위 사양
- 수동 스터빙
Polyspace Access를 사용한 통합 분석
학습목표: Polyspace Access™를 사용하여 복잡도가 증가하는 코드의 검증 결과를 관리하는 방법을 배우고, 통합 분석과 강건성 분석을 비교하고 해석하는 방법을 배웁니다.
- Polyspace Access의 제출 후 워크플로
- 문맥적 검증
- 통합 결함 및 런타임 오류 감지
응용 프로그램 분석
학습목표: 완성된 응용 프로그램을 검증할 때 유용한 절차 및 옵션을 검토합니다.
- 응용 프로그램 소프트웨어 문제
- 동시 데이터 액세스 문제 분석
- 어셈블리 또는 하드웨어 함수 교체
- Polyspace에서 타사 코드 처리
- 문서 생성
3일차
실습 지침(선택 사항)
학습목표: 배운 내용을 돌이켜 보고 Polyspace를 프로젝트에 직접 적용해 봅니다. 본 교육과정에서 다루는 주요 내용은 다음과 같습니다:
- Polyspace Bug Finder 검사
- C++ 코드 검증
- 태스킹 및 공유 데이터 분석
- 생성된 코드 검증
- 개발 프로세스 검토
- 워크플로 통합
- 클라이언트/서버 소프트웨어 설치
- 프로젝트 코드용 Polyspace 구성
- 결과 해석
부록 F: Polyspace 데스크탑을 사용한 통합 분석
학습목표: 복잡도가 높은 코드의 분석결과를 관리하는 방법을 배우고, 통합 분석과 강건성 분석을 비교하고 해석하는 방법을 배웁니다.
- 문맥적 검증
- 새 모듈 생성
- 통합 결함 및 런타임 오류 감지