Invisible Safety,

Proven by Intelligence

보이지 않는 안전을 인텔리전스로 증명하다.

기술 노트
IT 산업의 변화를 이끄는 MDS인텔리전스의
기술 인사이트를 만나보세요.
시스템 소프트웨어 개발
[QAC] 효율적인 정적 분석을 위한 Incremental Analysis(증분 분석)
2026년 01월 13일


이번 포스팅에서는 효율적인 정적 분석을 위한 증분 분석 (Incremental Analysis)에 대해 설명해 드리겠습니다.



Helix QAC 2024 버전부터 Incremental Analysis(증분 분석) 기법이 적용되어 재분석 시 Dataflow 분석 시간이 50% 단축되었습니다.



이에 따라, 보다 효율적으로 정적 분석을 수행할 수 있게 되어 해당 내용을 소개하고자 합니다.


 



 Helix QAC 정적 분석 수행 과정


Helix QAC는 다음의 [그림 1]과 같은 과정으로 분석 대상 소스코드에 대한 정적 분석을 수행하는데요, 여러 분석 컴포넌트가 순차적으로 분석을 수행하게 됩니다.


[그림 1] Helix QAC 정적 분석 수행 과정 - 예) MISRA 분석


 


위 분석 과정에서, Step 4 DATAFLOW 컴포넌트 분석은 프로젝트 내 서로 다른 번역 단위의 Data 흐름까지 분석하고 그 흐름상의 결함을 검출하는 단계로, 타 컴포넌트 분석에 비해 분석 시간이 많이 소요됩니다. 이러한 Dataflow 분석을 보다 효율적으로 수행할 수 있도록 Helix QAC 2024 버전부터 증분 분석 기법이 적용되었습니다.


 



Helix QAC 2024 & Incremental Analysis(증분 분석)


정적 분석 리뷰 활동은 소스코드를 분석하여 검출된 결함들을 개선하고, 재분석하여 해당 결함들이 제거되었는지 확인하는 과정을 반복 수행하게 됩니다. Helix QAC 2024에서는 이전 정적 분석 결과의 캐시(Cache)를 활용하여, 재분석 시 Dataflow 분석 시간을 50% 단축시켰습니다.



Helix QAC의 증분 분석 수행 과정은 다음의 [그림 2]와 같습니다.



 ✅  분석 대상 프로젝트 Helix QAC 분석 수행

 ✅  분석 완료 후, 자동으로 Dataflow 캐시(Cache) 생성

 ✅  재분석 시, 이전 생성된 캐시를 활용하여 Dataflow 분석 시간 50% 단축




[그림 2] Helix QAC 증분 분석 수행 과정


                                                                                                                                                          


실제 개발 프로젝트에 대한 증분 분석 테스트에서, 다음의 [표 1]과 같은 결과를 확인할 수 있었습니다. 




프로젝트 A

프로젝트 B

프로젝트 C

프로젝트 D

프로젝트 E

언어

C

C

C++

C++

C/C++

라인수

47,440

66,342

121,882

621,589

2,408,110

컴파일러

GNU GCC 11.4

Visual Studio 2017

Visual Studio 2017

Visual Studio 2019

Yocto CGG/G++9.3

최초 분석

3분 30초

5분 10초

6분 50초

29분

1시간 46분

재분석

(증분 분석)

2분 40초

3분 30초

4분 20초

20분

1시간 14분

단축

24%

33%

37%

31%

29%

[표 1] Helix QAC 증분 분석 테스트 결과



Dataflow 분석 단계의 시간이 50% 단축되고, 전체 분석 시간 기준으로 산출할 경우에는 평균적으로 약 31%의 분석 시간이 단축되었습니다.


이러한 분석 시간 단축으로 효율적인 정적 분석을 수행할 수 있으며, 더 나아가 라이선스 측면에서도 유리하게 운용할 수 있습니다.


보다 더 효율적인 정적 분석을 Helix QAC 2024를 통해 경험해 보세요 




혹시 Helix QAC에 대해 더 알고 싶으신가요? 💁

MDS인텔리전스는 매달 1회씩 Helix QAC뿐만 아니라 다양한 도구 기본 교육을 진행하고 있습니다!🙌

아래 링크를 통해 MDS인텔리전스 홈페이지를 방문하시어 도구 사용자 교육을 수강해 보세요! 

훨씬 더 쉽게 Helix QAC를 활용하실 수 있습니다.


>> Helix QAC 교육 신청하기 >>




MDS인텔리전스
코딩 규칙 검사 및 소스 품질 관리 도구, QAC