커버리지, 디버깅, 성능향상을 위한 통합 솔루션
DT10
DT10은 Dynamic Tracer를 통해 저장된 정보를 활용하여 Program Flow/Execution Time 분석 및 재현율이 낮은 버그의 디버깅과 시스템 전체의 Performance 개선에 효과적인 SW trace tool입니다. print()와 같이 사용자에게 익숙한 Log 방식이기 때문에 쉽게 사용할 수 있습니다. 또한 CPU나 OS에 의존적이지 않아 이미 모든 임베디드 시스템에 사용되고 있습니다.
Dynamic Coverage
- 실제 하드웨어 체계(Target)의 통합 Coverage 측정을 위한 동적 신뢰성 시험 도구
- 무기체계 소프트웨어 통합관리체계(DESIS)에 등록된 동적 분석 도구
- 하드웨어 신호와 소프트웨어 동작을 동시에 확인
Performance/Profiling
- 수행 함수별 실행시간/주기시간 측정
- CPU/Process/Thread Load 정보를 통해 Performance 측정
유연한 사용자 환경
- C/C++/C#/JAVA 지원, 최대 한달간 실행 내역 저장
- CPU 및 OS(Windows, Linux, VxWorks, RTOS 등)에 의존적이지 않아 다양한 환경에서 사용 가능
사용하기 쉬운 Macro 기반 테스트
- Debug Interface(JTAG/ETM) 구축이 어려운 환경에서 최적의 테스팅 방법
- 함수의 입/출구, If/While/loop/for 등에 Test Point(macro) 삽입/삭제 자동
기능 Functions
코드 커버리지 분석을 통한 품질 향상
- 요구사항 기반 빠른 코드 커버리지 추출
- 다양한 인터페이스 지원
- Statement, Branch, MC/DC, Function Coverage
- C, C++, C#, JAVA 지원
소프트웨어 흐름 및 오류 파악
- 복잡한 소스 코드 흐름 및 변수 값 파악
- TASK Switching 정보 파악
- 장시간 소프트웨어 Trace를 통한 디버깅
시스템에 부하가 되는 위치 파악
- 함수 별 수행 시간 및 주기 측정
- Core, Process, Thread 부하 측정
- CPU Clock 및 Memory 사용량 측정
- 하드웨어 신호와 소프트웨어 동작을 동시에 확인
장점 Advantage
SW agent 방식이 아니므로 coding / porting 등의 번거로움이 없음
사용자에 익숙한 Log 기반으로 쉽게 적용 가능함
개발자들의 디버거 과정/환경과 유사, 적용부담이 낮음
장시간 Trace를 통해 재현 빈도가 낮은 Lock-up/Reset 등의 원인 파악이 가능함
Multi-core 환경에서 전체 또는 Core별 Performance 측정이 가능함
실행되지 않는 Code 및 병목구간 파악이 용이함
Java와 C/C++ 기반의 프로그램 흐름을 동시에 파악할 수 있음
분석용도에 따른 개별적인 SW 개발도구 사용이 불필요함
다양한 Interface를 지원하여 선택의 폭이 넓음
- 기대효과 Benefits
- 별도의 학습이나 설정 등의 번거로움 없이 직관적으로 실무에 적용 가능
- 문제 해결 시간을 단축하여 개발효율 향상
- 타겟에서 SW의 실제동작을 정확히 파악하여 성능개선에 적용
- SW 검증 작업의 효율성 증대
- 별도의 추가 작업 없이 시스템 전체(Application ~ System)의 흐름 파악 가능
- 개발환경 변화와 무관하게 사용 가능 및 제품 양산 이후에도 활용 가능