정적 드라이버 검증 도구

목적

정적 드라이버 검증 도구("StaticDV" 또는 "SDV"라고도 함)는 Windows 커널 모드 드라이버의 소스 코드를 체계적으로 분석하는 정적 검증 도구입니다. SDV는 드라이버의 결함 및 설계 문제를 발견할 수 있는 컴파일 시간 도구입니다. SDV는 인터페이스 규칙 집합 및 운영 체제 모델을 기반으로, 드라이버가 Windows 운영 체제 커널과 올바르게 상호 작용하는지 확인합니다.

새로운 기능

전에는 WDK에서 독립 실행형 도구로서 사용 가능했던 정작 드라이버 검증 도구가 이제 Visual Studio와 통합되었습니다. Visual Studio 드라이버 프로젝트에서 정적 분석을 실행할 수 있습니다. Visual Studio의 드라이버 메뉴에서 정적 드라이버 검증 도구를 시작, 구성 및 제어할 수 있습니다.

정적 드라이버 검증 도구 설명서

정적 드라이버 검증 도구를 사용하여 드라이버의 결함 찾기

Visual Studio 환경에서 드라이버 코드 분석을 시작하기 위해 필요한 내용을 알려줍니다.

정적 드라이버 검증 도구 명령(MSBuild)

Visual Studio 명령 프롬프트 창에서 SDV를 실행하기 위해 사용할 MSBuild 명령을 나열합니다.

정적 드라이버 검증 도구 소개

정적 분석 도구의 개요를 제공합니다.

정적 드라이버 검증 도구 사용

정적 분석 도구의 사용 및 구성에 대한 세부 정보를 제공합니다.

정적 드라이버 검증 도구 보고서

정적 코드 분석의 세부 추적을 표시하는 뷰어에 대해 설명합니다.

정적 드라이버 검증 도구 규칙

이러한 규칙은 운영 체제의 커널 인터페이스와 드라이버 모델 간의 적절한 상호 작용을 위한 요구 사항을 정의합니다.

정적 드라이버 검증 도구 참조

함수 역할 유형, SDV 구성 파일, 오류 및 경고 메시지에 대한 참조 정보를 제공합니다.

Static Analysis can reduce defects by up to a factor of six!

— Capers Jones, Software Productivity Group

Windows 드라이버 코드에서 버그 찾기

Microsoft는 SDV를 사용하여 Microsoft Windows 운영 체제에 포함된 커널 모드 드라이버를 테스트하고 WDK의 샘플 드라이버를 테스트합니다. Windows 8 출시 전에 Microsoft에서는 SDV를 사용하여 127개의 잠재적으로 위험한 버그를 찾았습니다.

특정 드라이버 모델에 대해 DDI 규정 준수 규칙을 사용함으로써 SDV는 정확한 드라이버 동작을 검증할 수 있습니다. 예를 들면 SDV는 드라이버에 대해 다음을 검증할 수 있습니다.

  • 올바른 IRQL에서 함수 호출

  • 올바른 시퀀스에서 잠금 획득 및 해제

  • IRP(I/O 요청 패킷)를 처리하는 함수를 올바르게 사용

SDV는 드라이버 코드 전체에서 모든 가능한 경로를 검토합니다. SDV는 철저한 테스트를 통해서도 찾을 수 없을 것 같은 애매한 경로에서 심각한 오류를 찾도록 설계되었습니다.

리소스

SDV에서 검증할 수 있는 드라이버에 대한 특정 정보는 지원되는 드라이버를 참조하세요.

정적 드라이버 검증 도구 사용에 대한 팁과 자세한 내용은 정적 드라이버 검증 도구 블로그를 참조하세요.

 

 

 

표시:
© 2014 Microsoft