본문 바로가기
Tool 사용, 리뷰

[Tool] HKSAT 정적 분석 Tool 소개

by jjongday 2024. 4. 9.
반응형

HKSAT 용도

HKSAT는 다음과 같은 용도로 사용될 수 있다.

  • 소스 코드 구문 및 구조 추출
  • 실시간 소프트웨어의 성능 예측
  • 실시간 소프트웨어의 시간제약준수 보장
  • 코딩 규칙 준수여부 검사 (API 사용규칙, 전역변수 초기화)
  • 잠재적 구현 위험 요소 검출 (경쟁조건, 재귀호출, 최대 스택 사용량, 중복 코드)
  • 코드 변경 후 재시험 필요 모듈 파악


HKSAT 특징

  • 소프트웨어의 오류를 개발 초기 단계에 검출할 수 있도록 도와준다.
  • 임베디드 소프트웨어의 소스 코드를 다양한 방법으로 분석하여 오류를 검출하고 그 결과를 보고서로 제공한다.
  • 분석 수행에서 문서화까지의 작업을 자동으로 수행한다.
  • 분석 결과를 시각화하여 사용자가 쉽게 파악할 수 있도록 한다.
  • 하나의 플랫폼을 기반으로 다양한 분석을 수행할 수 있다.
  • 메뉴바, 툴바, 그리고 다양한 뷰들로 구성된 그래픽 사용자 인터페이스를 제공한다.
  • 이러한 구성요소들은 다양한 방식으로 배치할 수 있다.
  • 이러한 뷰들은 프로젝트, 모듈, 분석의 정보를 다양한 방식으로 표시하며, 서로 연동하여 동작한다


HKSAT 설치 방법 (초간단)

설치 방법도 엄청 간단하다.

 

 

HKSAT 에서 가능한 분석

현재 HKSAT는 사용가능한 분석은 다음과 같다.

  • 소스코드 기본 분석: 소스코드 구문 및 구조 정보를 추출하고, 함수호출그래프 및 제어흐름그래프 작성한다.
  • 소프트웨어 정적 분석 (SSAT): 함수 API 사용 규칙 준수와 전역 변수 초기화를 검사하고, 경쟁 조건 및 재귀 호출의 존재 여부를 검사한다.
  • 최장수행시간 분석(WCETA): 각 프로세스(태스크)의 수행에 필요한 최대 시간을 계산한다.
  • 스케줄 가능성 분석(SCHA): 각 프로세스의 최장수행시간을 기반으로 프로세스들이 주어진 시간 내에 병렬적으로 실행될 수 있는지를 분석한다.
  • 소프트웨어 변경영향 분석 (SCIA): 소스 코드 변경이 미치는 영향을 분석한다.
  • 중복 코드 분석 (DBCA): 소스 코드에 중복이 존재하는지를 검사한다.
  • 정적 스택 사용량 분석(SSUA): 각 함수의 최대 스택 사용량을 계산할 수 있다.

 

HKSAT 보고서 출력  (일부 내용만)

실제 회사에서 HKSAT 분석을 돌려본 결과를 PDF 파일로 볼 수 있다. 

최장수행시간분석 (WCETA)

 

스케줄가능성분석(SCHA)

 

 

전역변수초기화여부점검(SSAT)

 

 

아래 출처 링크를 통해 자세한 사용 설명서가 기재되어 있으니 참고하면 된다.

궁금한 점은 댓글을 남겨주시면 답변 달아드리겠습니다.

 

HKSAT 사용 설명서 출처 : file:///C:/Program%20Files/HKSAT/help/ko/index.html

반응형