[논문 리뷰] Assured LLM-Based Software Engineering
이 논문은 유전적 향상(Genetic Improvement)에 영감을 받은 생성-검증 프레임워크인 보장된 LLM 기반 소프트웨어 공학(가능성 있는 LLMSE)을 제안한다. 이 프레임워크는 의미 필터를 사용하여 LLM이 생성한 코드가 원래의 기능을 유지하면서도 성능 및 정확성과 같은 측정 가능한 성질을 향상시키도록 보장한다. 이 방법은 오프라인 환경에서 검증 가능하고 테스트 가능한 보장을 강제함으로써 인간 검토 외에는 완전 자동화된, 환각화 위험이 없는 코드 향상이 가능하다.
In this paper we address the following question: How can we use Large Language Models (LLMs) to improve code independently of a human, while ensuring that the improved code - does not regress the properties of the original code? - improves the original in a verifiable and measurable way? To address this question, we advocate Assured LLM-Based Software Engineering; a generate-and-test approach, inspired by Genetic Improvement. Assured LLMSE applies a series of semantic filters that discard code that fails to meet these twin guarantees. This overcomes the potential problem of LLM's propensity to hallucinate. It allows us to generate code using LLMs, independently of any human. The human plays the role only of final code reviewer, as they would do with code generated by other human engineers. This paper is an outline of the content of the keynote by Mark Harman at the International Workshop on Interpretability, Robustness, and Benchmarking in Neural Software Engineering, Monday 15th April 2024, Lisbon, Portugal.
연구 동기 및 목표
- LLM이 생성한 코드가 원래의 기능을 손상시키지 않으면서도 측정 가능한 소프트웨어 성질을 향상시키는 것을 보장하는 데 도전 과제를 해결하기 위해.
- 최종 검토 외에는 인간의 간섭 없이도 완전 자동화된 코드 개선을 가능하게 하기 위해.
- LLM 기반 코드 생성을 위한 검증 가능하고 테스트 가능하며 측정 가능한 프레임워크를 개발하여 오프라인 보장을 지원하기 위해.
- 의미 필터링과 검색 기반 최적화를 통해 LLM 기반 코드 생성과 공식적인 소프트웨어 공학 관행 사이의 격차를 메우기 위해.
- LLM을 소프트웨어 측정 및 유전적 향상 기법과 통합하는 스케일러블하고 하이브리드된 계산적 검색 전략을 탐색하기 위해.
제안 방법
- LLM이 코드 변형을 생성한 후, 기능적 및 성능 보장을 검증하기 위해 자동화된 의미 필터를 적용하는 생성-검증 파이프라인을 활용한다.
- 기능 보존과 실행 시간, 메모리 사용량, 테스트 커버리지 등의 메트릭 향상에 기여하는 의미 필터 세트를 적용하여, 이들이 적합도 함수로 작용하도록 한다.
- 전체 회귀 테스팅, 정적 분석, 린터 적용과 같은 시간이 오래 걸리는 검증 단계를 오프라인 처리를 통해 가능하게 한다.
- SBSE 원칙에 따라 지도된 반복적 정교화를 위해 재프롬프팅과 체인 프롬프팅 전략을 활용한다.
- 계산적 검색을 위한 도메인 및 코드 인지 프롬프팅 언어를 도입하여, 진화적 연산자가 효과적인 프롬프팅 전략을 발전시킬 수 있도록 한다.
- LLM 추론과 병렬화된 계산적 검색을 하이브리드로 통합하여 최적화 과정의 스케일링을 도모하며, LLM 응답 평가의 명백한 병렬성 특성을 활용한다.

실험 결과
연구 질문
- RQ1LLM이 생성한 코드를 원래의 기능을 손상시키지 않고 어떻게 향상시킬 수 있는가?
- RQ2LLM이 생성한 코드 향상이 검증 가능하고 측정 가능하며 공식적으로 보장된다는 것을 보장하는 메커니즘은 무엇인가?
- RQ3오프라인 LLMSE를 체계적으로 온라인 배포로 이관할 수 있는 방법은 무엇이며, 보장 보증 조건을 유지할 수 있는가?
- RQ4LLM 기반 코드 최적화에서 비용이 많이 드는 적합도 함수의 빠른 대체로 사용할 수 있는 효율적이고 근사적인 메트릭은 무엇인가?
- RQ5도메인 인지 및 코드 인지 검색 전략은 LLM의 조건부 확률 분포를 어떻게 탐색하여 최적의 코드 향상을 찾을 수 있는가?
주요 결과
- 가능성 있는 LLMSE 프레임워크는 의미 필터를 통해 코드 생성과 인간 검토를 성공적으로 분리함으로써 검증 가능하고, 테스트 가능하며, 측정 가능한 보장을 강제한다.
- 오프라인 배포를 통해 전체 회귀 테스팅 및 정적 분석과 같은 철저한 보증 검사가 가능해지며, 이는 실시간 온라인 환경에서는 비현실적인 조건이다.
- 의미 필터는 효과적인 적합도 함수로 작용하여 환각화를 방지하고, 오직 의미적으로 올바르고 향상된 코드 변형만 유지함을 보장한다.
- 이 방법은 인간 엔지니어가 최종 검토자로만 참여하는 완전 자동화된 코드 개선을 가능하게 하며, 인간 개발자가 작성한 코드와 유사한 방식이다.
- SBSE와 GI 원칙을 LLM 기반 코드 엔지니어링에 통합함으로써 체계적이고 측정 가능하며 신뢰할 수 있는 향상이 가능하다는 것이 입증되었다.
- 병렬 평가를 통한 다수의 프롬프트 프로그램 평가를 포함한 스케일러블 하이브리드 전략은 대규모 LLMSE 파이프라인에서 계산 비용을 줄이는 데 유망한 전략으로 나타났다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.