SW 개발도구

  • SW개발도구
  • CodeSonar
제품문의
     

개요

  • 빠르고 강력한 SW 결함 검출 & 쉽고 편리한 Review를 위한 솔루션
    • 파일 간, 함수 간 연결 관계를 검사하는 Inter-Procedural 방식의 SW 정적 분석 도구
    • CWE Compatible 인증 획득
    • 방위사업청 SW 신뢰성 평가(실행시간 오류 분석) 완벽 지원
    • 안정행정부 시큐어 코딩 룰 지원
    • 국제 표준에 명시된 Verification을 위한 Data/Control Flow와 Semantic 분석 기법 적용
    • MISRA 2012 지원

주요 이점

  • 모든 실행 경로의 SW 결함 분석
  • 코드의 치명적인 결함 방지 및 해결
  • 결함의 근본적인 원인 추적 및 흐름 파악
  • 개발 비용 감소 및 개발자의 능력 향상
  • Dead Code 검출을 통한 Code Coverage 조기확보
  • 시각적인 Visualization으로 코드의 연관 관계 확인 및 구조 파악
  • 변수와 함수 등의 사용정보 자동 추적
  • Eclipse Plug-in 지원 및 분석 결과 리포트 자동 생성
  • 웹 브라우저를 통한 분석 결과 공유 및 메일 자동 전송
  • RBAC(Role Based Access Control)를 이용한 분석결과 보안강화

지원 환경

  • Command Line 방식 및 Window Wizard 방식 제공
  • 지원하는 운영 체제 : Windows, Linux, Solaris, Mac OS
  • 지원하는 언어 : C, C++, Java
  • 지원하는 Compiler : GCC and G++, ARM CC, IAR, Visual Studio, Wind River, Green Hills, Toshiba, Panasonic,
    Code Warrior, TI Code Composer, NEC, Renesas, Tasking, Hitachi 등 대부분의 Compiler 지원
  • 개발 소스만으로 분석 가능

검출항목

  • Security, Reliability, Redundancy, Style 등의 결함 검출
  • Memory Leak
  • Uninitialized Variable
  • Recursion
  • Redundant Condition
  • Stack Over Flow
  • Buffer Overrun/Underrun
  • Type Overrun/Underrun
  • Division By Zero
  • Free Null Pointer
  • Missing Return Statement
  • BSI(Build Security In) Rule Check
  • JPL Institutional Coding Standard
  • MISRA Partial 2012
  • Cyclomatic Complexity
  • Modified Cyclomatic Complexity
  • Large procedure
  • Too few comments
  • 기타 다수의 검출 항목

국제 표준 및 테스트 리포트 지원

  • IEC 61508:2010(SIL 4)
  • ISO 26262:2011(ASIL D)
  • EN 50128:2011(SW-SIL 4)

  • DO-178B
  • CWE,FDA
  • BSI, JPL rules
  • Power of 10

주요 고객

  • 자동차/철도

    자동차 로고

  • 국방/항공

    국방/항공 로고

  • 전자/통신/보안

    전자/통신 로고

  • 의료

    의료 로고

기술기사

적용사례

  • 자동차
  • 국방/항공
  • 통신
  • 의료
  • 디지털기기&가전
  • 휴대폰
자동차
구분 내용
회사명

자동차용 칩관련 SW를 개발하는 국내업체 (‘C사’)

상황

해외사업 확장 과정에서 외국 고객과의 미팅 시 Source Code에 대한 검증부분이 검토됨

CMMI 취득과 함께 Source Code의 신뢰성 확보를 위해 다양한 도구를 검토하던 중, CodeWarrior기반 개발 환경에 가장 빠르고 쉽게 적용할 수 있는 도구를 찾음

CodeWarrior의 IDE에선 Compiler가 실행파일이 아닌 DLL 형태로 제공되는데, 이런 DLL 형태의 Compiler를 지원하지 못하는 도구가 있음

해결방안 및 효과

CodeSonar는 CodeWarrior와 같은 Compiler 환경뿐만 아니라, 다양한 환경의 Compiler를 추가할 수 있음

8명의 개발자들이 Pilot 형태로 CodeSonar를 3개월 간 운용한 결과, 1만 라인당 12개 정도의 Major Issue가 발견됨. 이후 각 개발자들은 CodeSonar의 쉬운 Review방식을 이용하여 1주 이내에 하나의 프로젝트를 검증. 이에 따라 확대 적용키로 결정함

CodeSonar에서 검출한 Major Bug를 모두 Fix하여야만 QA팀에서 Source Code를 이관받는 프로세스를 적용하기로 함

국방/항공
구분 내용
회사명

NASA

상황

NASA/JPL Laboratory for Reliable Software (LaRS)은 Mission-critical한 SW의 신뢰성을 높이는 것을 목적으로 함. 2006년엔 최상의 Safety Critical Software-Development Projects에 적용될 수 있도록 수많은 guideline을 만족하는 소스 검증 솔루션을 제안 받음

해결방안 및 효과

GrammaTech의 최신 기술로 개발된 Static Analysis Testing이 NASA에서 추구하는 높은 신뢰성을 보장하는 SW를 개발하는 데 도움이 될 것이라는 확신 하에, NASA는 $600,000을 GrammaTech에 투자함

의료 분야 적용사례
구분 내용
회사명

FDA

상황

환자의 몸에 영양 및 약을 투여하는 약물 자동 주입기에 대한 불만접수가 5년간 매년 10,000건 이상 접수됨

약물 자동 주입기의 문제로 500건 이상의 사망 발생

87건의 약물 자동 주입기 리콜 발생

약물 자동 주입기의 문제 원인으로 제품 설계 및 코드상의 오류 지목

해결방안 및 효과

의료와 관련된 모든 기기들을 대상으로 제품 출시 전 S/W Validation, Verification 필수화

S/W 잠재적 결함 제거 확인 및 신뢰성 시험을 위해 CodeSonar 도입

CodeSonar를 통해 S/W 결함을 개발 초기에 발견하고 발생 가능한 모든 실행 경로를 분석하여 S/W의 신뢰성 검토

구분 내용
회사명

Micrel Medical Devices

상황

이동식 약물 주입기 솔루션의 단순화, 안전화를 위하여 내부 코딩룰 수립 및 NASA/JPL, Power of 10 Rules와 같은 외부 코딩룰을 선정하여 개발 프로세스에 적용

내/외부 코딩룰 준수, FDA의 Class Ⅱ B 준수 및 개발 프로세스 상에서 SW 신뢰성을 높일 수 있는 정적 분석 도구 검토

해결방안 및 효과

같은 소스코드로 여러 경쟁 도구와 사용성, 내/외부 코딩룰 준수 duqn, 분석 깊이, 개발 프로세스와 일치성 비교 검토 결과, CodeSonar 선택

타 도구 대비 JPL 코딩룰 준수 및 손쉬운 룰셋 변경, 제한 없이 구조 변경 가능한 리포트 추출, 차수별 분석 결과 비교 기능 등을 가장 큰 선정이유로 꼽음

이전 개발 프로세스는 S/W실패를 유발하는 결함 및 원인을 분석하는데 많은 시간과 노력을 소요해야 하는데 CodeSonar를 사용하면 손쉽게 S/W 신뢰성 향상이 가능함

디지털기기 & 가전 분야 적용사례
구분 내용
회사명

세계적인 Memory 생산 업체(SanDisk)

상황

다양한 제품별로 SW를 개발해야 하기 때문에 Defect를 정확히 검출해 내고, 빠른 시간에 분석할 수 있는 Static Test 도구를 필요로 하게 됨

CodeSonar 포함 3개의 제품을 Test하였으며, (1) Report되는 Defect의 수, (2) 사용의 편이성, (3) Data 표현 방법, (4) 다른 제품과의 Interface,(5) Command line의 지원 등을 평가 기준으로 Evaluation 진행함

해결방안 및 효과

3가지 도구에서 찾는 Defect가 약간씩 다르게 나타났으나, CodeSonar가 찾는 Real Problem이 가장 많았음

타 도구에 비해 1.7배, 4.3배 많은 Real Problem을 찾음

사용의 편리성 및 Data 표현 방법 역시 CodeSonar에서 제공해주는 Source line color coded approach로 인해 개발자들이 가장 편리한 방식으로 선정함

휴대폰 분야 적용사례
구분 내용
회사명

삼성전자의 스마트폰 개발을 대행해 주는 국내 회사 (‘M사’)

상황

XX플랫폼에 애플리케이션을 망 연동 시험 전 포팅해야 함

플랫폼이 늦게 Release됨에 따라 기한이 촉박하였고, 애플리케이션이 플랫폼에서 Lock-up되는 문제 발생

주어진 기한이 2일 남은 상태에서 수십만 라인의 코드 시험, 라이브러리, Porting, 통합 시험, 에러의 추적/분석 시간 등을 2일 만에 Debug하는 것은 불가능해 보임

해결방안 및 효과

분석 라인 : 약30만 LOC, 실행 소요시간 : 약 1시간, 전체 Issue : 60여 개, 집중 검토 Issue : 6개

Buffer Overrun 4 issues, Leak 1 issue, Type Overrun 1 issue.

수집된 정보를 바탕으로 개발자들이 Review한 결과 지적된 라인에서 Buffer overrun에 의해 시스템이 Lock-up되는 현상을 파악할 수 있었음

특히 실행 Path를 정확히 표시해 주기 때문에 더욱 빠르게 Code Review를 할 수 있어, 정해진 시간 내에 Bug를 검출 완료함