임베디드 시스템 소프트웨어 개발을 위한

Integrated Solutions

국제 표준 준수를 위한 프로젝트 관리 부터 설계 그리고 검증까지!

WCET(Worst Case Execution Time) 정적 분석 솔루션

aiT

aiT는 추상 해석 기법과 캐시 및 파이프라인 모델을 기반으로, WCET의 정확하고 엄격한 상한값을 계산합니다.

계산된 WCET 상한값은 애플리케이션의 모든 입력과 각 Task 실행에 대해 어떤 상황에서도 보장될만큼 엄격합니다.

#ISO26262 #WCET #DO178 #DO330 #IEC61508 #EN50128 #EN50657 #EN60601

실시간 시스템에서는 시스템이 제대로 작동하도록 하기 위해 각 작업이 특정 시간 내에 완료되어야 합니다. 따라서 각 task의 WCET(Worst-Case Execution Time, 최악의 실행 시간)를 아는 것이 필수적이나, 이를 결정하는 것은 매우 어렵습니다.


aiT는 추상 해석 기법과 캐시 및 파이프라인 모델을 기반으로, Task의 고유한 캐시 및 파이프라인 동작에 대해 정적으로 분석하고 WCET에 대한 정확하고 엄격한 상한값을 계산합니다.


aiT에 의해 계산된 WCET 상한값은 애플리케이션의 모든 입력과 각 실행에 대해 어떤 상황에서도 보장될만큼 엄격한 상한값입니다. 


• 바이너리 실행 파일을 최종 시스템에서 실행되는 방식 그대로 직접 분석하여, 시스템의 작동 방식, 성능, 툴체인을 수정할 필요가 없습니다.


• 계산된 WCET 상한값은 매우 엄격하여 시스템의 실제 성능을 반영하여, 하드웨어 리소스 낭비 없이 마감일 준수가 보장됩니다.

주요 특징

1
바이너리 기반 WCET 정적 분석
Worst-Case Execution Time
최종 실행 파일만으로 정적 분석을 수행해 WCET(Worst-Case Execution Time)을 정확하게 계산합니다.
2
AI 추상해석 기반의 솔루션
모든 가능한 입력 및 수행 경로에 대해 WCET를 자동으로 계산하고, 주어진 하드웨어 조건 하에서 해당 상한치가 초과되지 않음을 수학적으로 보장합니다.
3
코드 수정 없이 바로 분석
측정을 위한 탐침코드 등이 불필요하므로, WCET 분석의 왜곡 현상이 일어나지 않습니다. 
4
정밀 모델링 반영
파이프라인, 캐시, 분기 예측, 마이크로 아키텍처 요소 등에 대한 정밀 모델링을 반영합니다.
5
State 검사 및 머신 상태 추적
분석 중 각 지점의 캐시 상태, 파이프라인 상태 등을 열람 가능합니다.
6
다양한 프로세서 및 컴파일러 제공
AM486, ARM, C16x, C28x, C33x, ERC32, HCS12.. 등등

주요 기능

1
함수 호출 그래프 제공
• WCET 분석 결과가 포함된 호출 그래프 내의 각 루틴은 전체 WCET에 대한 상대적 기여도를 기준으로 Annotation을 표시

• 최악의 실행 경로, 실행 불가능한 호출, 재귀는 자동으로 인식되어 강조 표시

• aiT는 추가 annotation이 필요한 위치를 자동으로 판단하고 표시하여 수정

• 각 루틴은 제어 흐름 그래프와 연동되어 루틴 내 제어 흐름을 추가로 검사
2
제어 흐름 그래프 제공
• Worst-Case에 해당하는 Cycle 및 Basic block의 실행 시간을 표시

• 다양한 상황에서 WCET 기여도와 같은 분석 세부 정보를 쉽게 확인 가능

• 추가 annotation이 필요한 모든 위치는 자동으로 표시되고, 가장 적합한 문구가 자동으로 제안되어 편리하게 조정 가능

• Basic block을 더욱 펼쳐서 내부의 명령어를 검사 가능, 각 명령어에 대해 원하는대로 가능한 모든 Pipeline states의 세트 검사 가능
3
파이프라인 및 캐시 동작 시각화 제공
• 각 수평 계층은 하나의 CPU 사이클에 해당되며 트리의 각 Branch는 서로 다른 실행 시나리오를 표현

• 메모리 액세스시 캐시 적중과 캐시 미스가 발생하는 경우 모든 가능성을 자동으로 확인
4
WCET 통계치 제공
• 다양한 통계를 수집하여 병목 현상을 빠르게 파악하고 관심 있는 영역을 쉽게 탐색

• 사용자 정의 가능한 XML 보고서는 통합, 문서화 또는 인증 목적으로 추출 가능
5
섹션 뷰 제공
• 바이너리의 모든 섹션을 보고 hex editor처럼 내용 검사

• 특정 주소 영역의 메모리 내용 확인
6
다양한 Add-On 모듈 제공
• ValueAnalyzer
​ - 모든 실행 컨텍스트의 모든 프로그램 지점에서, 모든 레지스터 및 메모리 셀 내용을 검사

​ - 전역 변수의 초기화 데이터를 수집하여 자동 생성된 주석을 WCET 분석에 제공


• TimingProfiler
​ - aiT의 파생 제품, 단순화된 캐시/파이프라인 모델링을 통해 WCET 정적 분석

​ - 애플리케이션 실행에 사용할 프로세서에 대해 최종 결종을 내릴 수 없는 경우, 초기부터 타이밍을 고려한 방식으로 개발 가능

​ - 하드웨어 결정 이후에는 동일한 GUI에서 모든 설정과 Annotation을 그대로 유지하면서 별도의 설치 없이 aiT로 쉽게 전환 가능
7
Difference Analysis 제공
• 시스템을 변경하기 전과 후의 분석 실행을 비교하여 최악의 타이밍에 미치는 영향을 한눈에 파악

기술 노트

시스템 소프트웨어 개발

[aiT] WCET 예측을 위한 정적 분석 방안 1

WCET 관리의 필요성 WCET(Worst Case Execution Time)는 최장 실행 시간이라는 뜻으로, SW의 UNIT(기능/함수 기타 등등 구현 방법에 따라 기준은 다름) 실행 시간 중 가장 긴 시간입니다. WCET가 UNIT의 제한 시간 내라면 제품은 정상적인 동작이 가능하지만, 제한 시간을 초과하는 경우 타이밍 이슈에 의해서 기능 문제가 발생

#aiT #TimeWeaver #Timingprofiler #absint #타이밍 #SW품질 #정적분석
aiT 엔지니어

산업 분야

적용 사례

1
Automotive
OEM의 요구사항인 WCET 정적 분석을 지원합니다. 동적 시험으로 검출 불가한 Worst-Case Execution Time을 간편하게 바이너리 기반의 정적 분석으로 계산합니다.
2
Aerospace & Defense
DO-178B/C에서 요구하는 Worst-Case Execution Time를 정적 분석 방식으로 계산하며, 항공기 소프트웨어에 대한 안전 인증을 지원합니다.
3
Government/Public Sector
aiT는 WCC(WCET Tool Challenge)에서 거의 모든 해에 가장 정확한 WCET 분석 도구로 평가되며, 여러 독일 유수 대학의 컴퓨터 과학 커리큘럼 및 연구에 폭넓게 활용되고 있습니다.

주요 고객

Automotive & Railways
  • 현대 로고 이미지
  • Continental 로고 이미지
  • HONDA 로고 이미지
  • DAIMLER 로고 이미지
Aerospace & Defense
  • NASA 로고 이미지
  • AIRBUS 로고 이미지
Energy
  • MTU 로고 이미지
  • Framatome 로고 이미지
  • Vestas 로고 이미지

MDS인텔리전스의 컨텐츠 내용을
SNS에 공유해보세요!

MDS인텔리전스 담당자

직접 문의하기

MDS인텔리전스의 전문가가 정확하고 빠르게 도와드립니다.

031-601-4082
aiT 문의하기