인간처럼 디버깅하기: 블록 수준 명령어 지향 슬라이싱을 통한 프로세서 설계로의 LLM 기반 결함 국지화 확장
요약
본 논문은 대규모 프로세서 설계 프로젝트에서 버그를 자동으로 찾아내는 새로운 LLM 기반 결함 국지화 프레임워크인 BluesFL을 제안합니다. 데이터 흐름 기반의 코드 블록화와 명령어 지향 슬라이싱(Blues) 알고리즘을 통해 인간 엔지니어의 디버깅 방식을 모방하며, RISC-V 프로세서 환경에서 기존 기술 대비 242.9% 향상된 성능을 입증했습니다.
핵심 포인트
- BluesFL 프레임워크는 LLM이 로컬 코드 컨텍스트에 집중할 수 있도록 데이터 흐름 기반 코드 블록화 방식을 사용합니다.
- 명령어 실행 경로와 프로세서 상태를 분석하는 '블록 수준 명령어 지향 슬라이싱(Blues)' 알고리즘을 도입했습니다.
- 실제 19,000줄 규모의 RISC-V SystemVerilog 코드 테스트에서 24개의 버그를 Top-1 정확도로 국지화했습니다.
- 기존 최첨단(SOTA) 기술 대비 성능이 242.9% 향상되었으며, 버그당 평균 국지화 비용은 약 0.257달러로 매우 경제적입니다.
현대적인 프로세서 설계 코드에서의 결함 국지화 (Fault localization)는 프로세서 검증 (Verification) 과정 중 매우 중요하지만 시간이 많이 소요되는 단계입니다. 모듈 수준의 하드웨어 설계를 위한 LLM 기반 기술의 최근 발전이 유망한 결과를 보여주었지만, 대규모 프로젝트 수준의 프로세서 설계에서 버그를 자동으로 국지화하는 것은 여전히 어려운 과제로 남아 있습니다. 본 논문에서는 프로세서 설계를 위한 새로운 블록 수준 LLM 기반 결함 국지화 프레임워크인 BluesFL을 제안합니다. 엔지니어가 프로세서를 디버깅하는 방식에서 영감을 받아, 우리는 먼저 LLM이 중요한 로컬 코드 컨텍스트에 집중할 수 있도록 유도하는 데이터 흐름 기반 코드 블록화 (Code blockization) 접근 방식을 제안합니다. 나아가 우리는 LLM이 명령어 실행 경로 (Instruction execution paths)와 프로세서 상태 (Processor states)를 분석함으로써 인간의 추론을 모방할 수 있게 하는 블록 수준 명령어 지향 슬라이싱 (Block-Level Instruction-Oriented Slicing, Blues) 알고리즘을 제안합니다. 우리는 19,000줄의 SystemVerilog 코드로 구성된 실제 RISC-V 프로세서 코어에서 BluesFL을 평가합니다. 실험 결과, BluesFL은 24개의 버그를 Top-1에서 정확하게 국지화하였으며, 이는 기존의 최첨단 (State-of-the-art) 기술(7개 버그) 대비 242.9% 향상된 수치입니다. 비용 분석에 따르면 BluesFL은 단일 버그를 국지화하는 데 평균 0.257달러만을 필요로 합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv Codex (cs.SE)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기