Key points are not available for this paper at this time.
데이터 흐름 그래프(DFG)는 프로그램 블록 간의 정의(def)와 사용을 포착하며, 이는 프로그램 분석, 테스트 및 유지 관리를 위한 기본적인 프로그램 표현이다. 그러나 Python과 같은 동적 타입 프로그래밍 언어는 편집 시간에 def-use 흐름 정보를 결정하기 어렵게 만드는 암묵적 데이터 흐름 문제를 제시한다. Soot와 WALA와 같은 정적 분석 방법은 이러한 문제를 처리하는 데 불충분하며, 포괄적인 휴리스틱 규칙을 수동으로 나열하는 것은 비실용적이다. 대규모 사전 훈련된 언어 모델(LLM)은 강력한 언어 이해 및 패턴 매칭 능력을 제공하므로, 코드 맥락 및 변수, 함수, 코드 내의 문장 간의 관계를 분석하여 암묵적 데이터 흐름을 예측할 수 있는 잠재적 솔루션을 제시한다. 우리는 암묵적 데이터 흐름 문제를 해결하기 위해 LLM의 문맥 학습 능력을 활용하여 코드 표현과 맥락 정보에서 암묵적 규칙과 패턴을 학습할 것을 제안한다. LLM의 정확성을 더욱 향상시키기 위해, 우리는 다섯 단계의 사고 체인(CoT)을 설계하고 이를 AI 체인으로 분해하며, 각 단계는 Python 코드에 대한 정확한 DFG 생성을 위해 별도의 AI 단위에 해당한다. 우리의 접근 방식의 성능은 철저히 평가되며, AI 체인의 각 AI 단위의 효과성을 입증한다. 정적 분석에 비해, 우리의 방법은 암묵적 데이터 흐름에 대한 DFG 생성에서 82% 높은 def 커버리지와 58% 높은 사용 커버리지를 달성한다. 우리는 또한 AI 체인의 각 단위의 필수성을 입증한다. 전반적으로, 우리의 접근 방식은 기초 모델을 활용하여 소프트웨어 공학 도구를 구축하는 유망한 방향을 제시하며, 상당한 공학 및 유지 관리 노력을 없애고 AI가 문제를 해결하도록 집중하는 데 중점을 둔다.
Huang et al. (수요일)은 이 질문을 연구하였다.