Paper ReviewAI & Machine LearningMachine/Deep Learning
Proving Code Correct: Where Formal Verification Meets AI-Generated Software
AI can write code faster than humansโbut can it prove that code is correct? PatchPilot combines AI patching agents with formal verification, while FVAPPS benchmarks the emerging capability of AI to generate both code and correctness proofs.
By Sean K.S. Shin
This blog summarizes research trends based on published paper abstracts. Specific numbers or findings may contain inaccuracies. For scholarly rigor, always consult the original papers cited in each post.
Software bugs impose enormous costs on the global economyโestimates range widely but consistently reach into the hundreds of billions of dollars annually (CISQ, 2022). Safety-critical systemsโmedical devices, autonomous vehicles, aviation control, nuclear plant monitorsโdemand correctness guarantees that testing alone cannot provide. Testing shows the presence of bugs, not their absence. Formal verification, which mathematically proves that code satisfies its specification, provides the absence guaranteeโbut at a cost in effort and expertise that has historically limited its application to only the most critical systems.
The convergence of AI code generation with formal verification creates an intriguing possibility: AI systems that not only write code but prove that the code is correct. This is not a distant aspiration. PatchPilot (Li et al.) already integrates formal verification into an AI software engineering agent, and FVAPPS (Dougherty & Mehta) provides the benchmark that measures progress toward this goal.
PatchPilot: Verified Patching at Scale
PatchPilot is a multi-agent system designed for software patchingโfixing bugs in existing codebasesโwith early integration of formal verification. The system operates as a pipeline:
Bug localization: Analyze the bug report and codebase to identify the likely location of the defect
Patch generation: Generate candidate fixes using LLM-based code generation
Testing: Validate patches against existing test suites
Formal verification (early-stage): For critical code paths, attempt to prove that the patch satisfies formal correctness propertiesThe formal verification component is admittedly early-stageโit works for relatively simple correctness properties on well-typed codebases. But the architectural integration is the important contribution: by making verification a standard step in the patching pipeline, PatchPilot establishes a workflow that will accommodate increasingly powerful verification tools as they mature.
The cost efficiency is notable. PatchPilot achieves competitive results on the SWE-bench benchmark (the standard evaluation for AI software engineering agents) while using fewer LLM API calls than comparable systemsโa practical consideration given that API costs accumulate rapidly for complex patching tasks.
FVAPPS: The Correctness Benchmark
Dougherty & Mehta's FVAPPS benchmark provides programming problems where the task is not just to write code but to prove it correct. Each problem comes with a specification in Lean 4, and the AI system must produce both a program and a formal proof that the program satisfies the specification.
This is a substantially harder challenge than standard code generation benchmarks (HumanEval, MBPP), which evaluate only whether code produces correct output on test cases. FVAPPS requires the model to reason about all possible inputsโproving universal correctness rather than testing specific cases. Current LLM performance on FVAPPS is modest, establishing a challenging benchmark that will drive progress for years.
Automotive Safety: Where the Stakes Are Highest
Pan et al. focus on a domain where rigorous verification is not optional: automotive software. Modern vehicles contain enormous amounts of software code, and software failures can cause crashes, injuries, and deaths. Standards such as ISO 26262 mandate structured development processesโincluding model-based methods like AUTOSAR, SysML, and model-based designโfor the highest safety integrity levels.
Their approach combines generative AI (for rapid code production) with model-based methods (for structured verification and design consistency) in a complementary workflow:
- AI generates code from natural language specifications, producing candidates quickly
- Model-based methods validate the generated code against architectural models and safety properties, catching structural errors that testing might miss
- AI refines code based on model-checking feedback, creating a closed loop between generation and verification
The synergy is bidirectional: AI makes model-based development more accessible by automating specification and boilerplate generation, while model-based constraints make AI-generated code more architecturally coherent and standards-compliant.
Claims and Evidence
<
| Claim | Evidence | Verdict |
|---|
| AI agents can integrate formal verification into software patching | PatchPilot demonstrates pipeline integration | โ
Demonstrated (early stage) |
| Current LLMs can generate both code and correctness proofs | FVAPPS shows limited but non-zero capability | โ ๏ธ Emerging capability |
| GenAI + model-based methods synergy improves automotive software safety | Pan et al. describe workflow; limited deployment evidence | โ ๏ธ Architecturally sound |
| Formal verification scales to large AI-generated codebases | Current tools handle small programs; scaling remains challenging | โ ๏ธ Significant gap |
| Testing is sufficient for safety-critical software | Formal methods community consensus: testing alone is insufficient | โ Not sufficient |
Open Questions
Specification completeness: Formal verification proves code correct with respect to a specification. But who writes the specification, and how do we verify that the specification captures the actual requirements? The specification gap is often larger than the implementation gap.Verification scalability: Current formal verification tools handle programs of hundreds to thousands of lines. Real software systems contain millions of lines. How do we scale verification to production codebases?Partial verification: If full verification is infeasible, can partial verificationโproving critical properties while leaving non-critical behavior unverifiedโprovide meaningful safety improvements at lower cost?Verification of neural networks: AI-generated code may call neural network components (ML models, classifiers). Can we formally verify properties of code that includes non-deterministic neural components?Developer adoption: Formal verification requires expertise that most software developers do not have. Can AI-mediated verification lower the barrier to adoption, or does it merely shift the expertise requirement from verification to AI tool configuration?What This Means for Your Research
For software engineering researchers, the PatchPilot + FVAPPS combination establishes both a practical tool and a benchmark for the emerging field of AI-assisted formal verification. The benchmark is challenging enough to drive progress for yearsโa valuable resource for anyone working on verified code generation.
For safety-critical system developers, the automotive application (Pan et al.) provides a concrete integration pattern: use AI for rapid prototyping and model-based methods for structured verification, creating a workflow that is both fast (AI generation) and architecturally disciplined (model compliance).
For the AI code generation community, FVAPPS represents a qualitative step beyond current benchmarks. Generating code that works on test cases is a necessary but insufficient bar. Generating code that is provably correct is the standard that safety-critical applications demandโand it is the standard toward which the field should be moving.
๋ฉด์ฑ
์กฐํญ: ์ด ๊ฒ์๋ฌผ์ ์ ๋ณด ์ ๊ณต ๋ชฉ์ ์ ์ฐ๊ตฌ ๋ํฅ ๊ฐ์์ด๋ค. ํ์ ์ฐ๊ตฌ์์ ์ธ์ฉํ๊ธฐ ์ ์ ๊ตฌ์ฒด์ ์ธ ์ฐ๊ตฌ ๊ฒฐ๊ณผ, ํต๊ณ ๋ฐ ์ฃผ์ฅ์ ์๋ณธ ๋
ผ๋ฌธ๊ณผ ๋์กฐํ์ฌ ๊ฒ์ฆํด์ผ ํ๋ค.
์ฝ๋์ ์ ํ์ฑ ์ฆ๋ช
: ํ์ ๊ฒ์ฆ๊ณผ AI ์์ฑ ์ํํธ์จ์ด์ ๋ง๋จ
์ํํธ์จ์ด ๋ฒ๊ทธ๋ ์ ์ธ๊ณ ๊ฒฝ์ ์ ๋ง๋ํ ๋น์ฉ์ ์ด๋ํ๋ค. ์ถ์ ์น๋ ๋ค์ํ์ง๋ง ๋งค๋
์์ฒ์ต ๋ฌ๋ฌ์ ๋ฌํ๋ ๊ฒ์ผ๋ก ์ผ๊ด๋๊ฒ ๋ํ๋๋ค(CISQ, 2022). ์๋ฃ ๊ธฐ๊ธฐ, ์์จ ์ฃผํ ์ฐจ๋, ํญ๊ณต ์ ์ด, ์์๋ ฅ ๋ฐ์ ์ ๋ชจ๋ํฐ์ ๊ฐ์ ์์ ํ์ ์์คํ
์ ํ
์คํธ๋ง์ผ๋ก๋ ์ ๊ณตํ ์ ์๋ ์ ํ์ฑ ๋ณด์ฅ์ ์๊ตฌํ๋ค. ํ
์คํธ๋ ๋ฒ๊ทธ์ ์กด์ฌ๋ฅผ ๋ณด์ฌ์ค ๋ฟ, ๋ฒ๊ทธ์ ๋ถ์ฌ๋ฅผ ๋ณด์ฌ์ฃผ์ง๋ ๋ชปํ๋ค. ์ฝ๋๊ฐ ์ฌ์์ ๋ง์กฑํ๋ค๋ ๊ฒ์ ์ํ์ ์ผ๋ก ์ฆ๋ช
ํ๋ ํ์ ๊ฒ์ฆ(formal verification)์ ๋ถ์ฌ์ ๋ํ ๋ณด์ฅ์ ์ ๊ณตํ์ง๋ง, ๊ทธ ๋
ธ๋ ฅ๊ณผ ์ ๋ฌธ ์ง์์ ๋๋ ๋น์ฉ ๋๋ฌธ์ ์ญ์ฌ์ ์ผ๋ก ๊ฐ์ฅ ์ค์ํ ์์คํ
์๋ง ์ ์ฉ์ด ์ ํ๋์ด ์๋ค.
AI ์ฝ๋ ์์ฑ๊ณผ ํ์ ๊ฒ์ฆ์ ์ตํฉ์ ํฅ๋ฏธ๋ก์ด ๊ฐ๋ฅ์ฑ์ ๋ง๋ค์ด๋ธ๋ค. ๋ฐ๋ก ์ฝ๋๋ฅผ ์์ฑํ ๋ฟ๋ง ์๋๋ผ ๊ทธ ์ฝ๋๊ฐ ์ฌ๋ฐ๋ฅด๋ค๋ ๊ฒ์ ์ฆ๋ช
ํ๋ AI ์์คํ
์ด๋ค. ์ด๋ ๋จผ ๋ฏธ๋์ ์ด๋ง์ด ์๋๋ค. PatchPilot(Li et al.)์ ์ด๋ฏธ ํ์ ๊ฒ์ฆ์ AI ์ํํธ์จ์ด ์์ง๋์ด๋ง ์์ด์ ํธ์ ํตํฉํ๊ณ ์์ผ๋ฉฐ, FVAPPS(Dougherty & Mehta)๋ ์ด ๋ชฉํ๋ฅผ ํฅํ ์ง์ฒ๋๋ฅผ ์ธก์ ํ๋ ๋ฒค์น๋งํฌ๋ฅผ ์ ๊ณตํ๋ค.
PatchPilot: ๋๊ท๋ชจ ๊ฒ์ฆ๋ ํจ์นญ
PatchPilot์ ํ์ ๊ฒ์ฆ์ ์ด๊ธฐ ํตํฉ์ ๊ฐ์ถ ์ํํธ์จ์ด ํจ์นญ, ์ฆ ๊ธฐ์กด ์ฝ๋๋ฒ ์ด์ค์ ๋ฒ๊ทธ ์์ ์ ์ํด ์ค๊ณ๋ ๋ค์ค ์์ด์ ํธ ์์คํ
์ด๋ค. ์ด ์์คํ
์ ํ์ดํ๋ผ์ธ ๋ฐฉ์์ผ๋ก ์๋ํ๋ค.
๋ฒ๊ทธ ๊ตญ์ํ: ๋ฒ๊ทธ ๋ณด๊ณ ์์ ์ฝ๋๋ฒ ์ด์ค๋ฅผ ๋ถ์ํ์ฌ ๊ฒฐํจ์ ๊ฐ๋ฅํ ์์น๋ฅผ ์๋ณ
ํจ์น ์์ฑ: LLM ๊ธฐ๋ฐ ์ฝ๋ ์์ฑ์ ์ฌ์ฉํ์ฌ ํ๋ณด ์์ ์ ์์ฑ
ํ
์คํธ: ๊ธฐ์กด ํ
์คํธ ์ค์ํธ์ ๋ํด ํจ์น ๊ฒ์ฆ
ํ์ ๊ฒ์ฆ (์ด๊ธฐ ๋จ๊ณ): ์ค์ํ ์ฝ๋ ๊ฒฝ๋ก์ ๋ํด ํจ์น๊ฐ ํ์์ ์ ํ์ฑ ์์ฑ์ ๋ง์กฑํ๋ค๋ ๊ฒ์ ์ฆ๋ช
์๋ํ์ ๊ฒ์ฆ ๊ตฌ์ฑ ์์๋ ์ธ์ ํ๊ฑด๋ ์ด๊ธฐ ๋จ๊ณ์ด๋ฉฐ, ์ ํ์
์ด ์ง์ ๋ ์ฝ๋๋ฒ ์ด์ค์์ ๋น๊ต์ ๋จ์ํ ์ ํ์ฑ ์์ฑ์ ๋ํด ์๋ํ๋ค. ๊ทธ๋ฌ๋ ์ํคํ
์ฒ์ ํตํฉ์ด ์ค์ํ ๊ธฐ์ฌ์ด๋ค. ๊ฒ์ฆ์ ํจ์นญ ํ์ดํ๋ผ์ธ์ ํ์ค ๋จ๊ณ๋ก ๋ง๋ฆ์ผ๋ก์จ PatchPilot์ ์ ์ ๋ ๊ฐ๋ ฅํด์ง๋ ๊ฒ์ฆ ๋๊ตฌ๋ค์ด ์ฑ์ํด์ง์๋ก ์ด๋ฅผ ์์ฉํ ์ ์๋ ์ํฌํ๋ก๋ฅผ ํ๋ฆฝํ๋ค.
๋น์ฉ ํจ์จ์ฑ๋ ์ฃผ๋ชฉํ ๋งํ๋ค. PatchPilot์ SWE-bench ๋ฒค์น๋งํฌ(AI ์ํํธ์จ์ด ์์ง๋์ด๋ง ์์ด์ ํธ์ ํ์ค ํ๊ฐ)์์ ๊ฒฝ์๋ ฅ ์๋ ๊ฒฐ๊ณผ๋ฅผ ๋ฌ์ฑํ๋ฉด์๋ ๋น์ทํ ์์คํ
๋ณด๋ค ๋ ์ ์ LLM API ํธ์ถ์ ์ฌ์ฉํ๋ค. ์ด๋ ๋ณต์กํ ํจ์นญ ์์
์์ API ๋น์ฉ์ด ๋น ๋ฅด๊ฒ ๋์ ๋๋ค๋ ์ ์ ๊ณ ๋ คํ ๋ ์ค์ฉ์ ์ธ ๊ณ ๋ ค ์ฌํญ์ด๋ค.
FVAPPS: ์ ํ์ฑ ๋ฒค์น๋งํฌ
Dougherty & Mehta์ FVAPPS ๋ฒค์น๋งํฌ๋ ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒ๋ฟ๋ง ์๋๋ผ ๊ทธ๊ฒ์ด ์ฌ๋ฐ๋ฅด๋ค๋ ๊ฒ์ ์ฆ๋ช
ํ๋ ๊ฒ์ด ๊ณผ์ ์ธ ํ๋ก๊ทธ๋๋ฐ ๋ฌธ์ ๋ค์ ์ ๊ณตํ๋ค. ๊ฐ ๋ฌธ์ ๋ Lean 4๋ก ์์ฑ๋ ์ฌ์๊ณผ ํจ๊ป ์ ๊ณต๋๋ฉฐ, AI ์์คํ
์ ํ๋ก๊ทธ๋จ๊ณผ ํด๋น ํ๋ก๊ทธ๋จ์ด ์ฌ์์ ๋ง์กฑํ๋ค๋ ํ์์ ์ฆ๋ช
์ ๋ชจ๋ ์์ฑํด์ผ ํ๋ค.
์ด๋ ํ์ค ์ฝ๋ ์์ฑ ๋ฒค์น๋งํฌ(HumanEval, MBPP)๋ณด๋ค ์ค์ง์ ์ผ๋ก ๋ ์ด๋ ค์ด ๊ณผ์ ์ด๋ค. ํ์ค ๋ฒค์น๋งํฌ๋ ์ฝ๋๊ฐ ํ
์คํธ ์ผ์ด์ค์์ ์ฌ๋ฐ๋ฅธ ์ถ๋ ฅ์ ์์ฑํ๋์ง๋ง ํ๊ฐํ๋ค. FVAPPS๋ ๋ชจ๋ธ์ด ๋ชจ๋ ๊ฐ๋ฅํ ์
๋ ฅ์ ๋ํด ์ถ๋ก ํ๋๋ก ์๊ตฌํ๋ค. ์ฆ, ํน์ ์ผ์ด์ค๋ฅผ ํ
์คํธํ๋ ๊ฒ์ด ์๋๋ผ ๋ณดํธ์ ์ ํ์ฑ์ ์ฆ๋ช
ํด์ผ ํ๋ค. FVAPPS์์ ํ์ฌ LLM์ ์ฑ๋ฅ์ ์์ํ ์์ค์ด๋ฉฐ, ํฅํ ์๋
๊ฐ ๋ฐ์ ์ ์ด๋ ๋์ ์ ์ธ ๋ฒค์น๋งํฌ๋ฅผ ํ๋ฆฝํ๊ณ ์๋ค.
์๋์ฐจ ์์ : ๊ฐ์ฅ ํฐ ๊ฒ์ด ๊ฑธ๋ ค ์๋ ๊ณณ
Pan et al.์ ์๊ฒฉํ ๊ฒ์ฆ์ด ์ ํ ์ฌํญ์ด ์๋ ๋ถ์ผ์ ์ด์ ์ ๋ง์ถ๋ค. ๋ฐ๋ก ์๋์ฐจ ์ํํธ์จ์ด์ด๋ค. ํ๋ ์ฐจ๋์๋ ๋ฐฉ๋ํ ์์ ์ํํธ์จ์ด ์ฝ๋๊ฐ ํฌํจ๋์ด ์์ผ๋ฉฐ, ์ํํธ์จ์ด ์ฅ์ ๋ ์ถฉ๋ ์ฌ๊ณ , ๋ถ์, ์ฌ๋ง์ ์ด๋ํ ์ ์๋ค. ISO 26262์ ๊ฐ์ ํ์ค์ ์ต๊ณ ์์ค์ ์์ ๋ฌด๊ฒฐ์ฑ์ ์ํด AUTOSAR, SysML, ๋ชจ๋ธ ๊ธฐ๋ฐ ์ค๊ณ์ ๊ฐ์ ๋ชจ๋ธ ๊ธฐ๋ฐ ๋ฐฉ๋ฒ์ ํฌํจํ ์ฒด๊ณ์ ์ธ ๊ฐ๋ฐ ํ๋ก์ธ์ค๋ฅผ ์๋ฌดํํ๊ณ ์๋ค.
์ด๋ค์ ์ ๊ทผ ๋ฐฉ์์ ์์ฑํ AI(์ ์ํ ์ฝ๋ ์์ฑ์ ์ํ)์ ๋ชจ๋ธ ๊ธฐ๋ฐ ๋ฐฉ๋ฒ๋ก (๊ตฌ์กฐํ๋ ๊ฒ์ฆ ๋ฐ ์ค๊ณ ์ผ๊ด์ฑ์ ์ํ)์ ์ํธ ๋ณด์์ ์ธ ์ํฌํ๋ก์ฐ๋ก ๊ฒฐํฉํ๋ค:
- AI๊ฐ ์ฝ๋๋ฅผ ์์ฑํ๋ค โ ์์ฐ์ด ๋ช
์ธ๋ก๋ถํฐ ํ๋ณด ์ฝ๋๋ฅผ ์ ์ํ๊ฒ ์์ฑ
- ๋ชจ๋ธ ๊ธฐ๋ฐ ๋ฐฉ๋ฒ๋ก ์ด ์์ฑ๋ ์ฝ๋๋ฅผ ๊ฒ์ฆํ๋ค โ ์ํคํ
์ฒ ๋ชจ๋ธ ๋ฐ ์์ ์์ฑ์ ๋์กฐํ์ฌ ํ
์คํ
์ด ๋์น ์ ์๋ ๊ตฌ์กฐ์ ์ค๋ฅ๋ฅผ ํฌ์ฐฉ
- AI๊ฐ ์ฝ๋๋ฅผ ๊ฐ์ ํ๋ค โ ๋ชจ๋ธ ์ฒดํน ํผ๋๋ฐฑ์ ๊ธฐ๋ฐ์ผ๋ก, ์์ฑ๊ณผ ๊ฒ์ฆ ์ฌ์ด์ ํ์ ๋ฃจํ๋ฅผ ํ์ฑ
์ด ์๋์ง๋ ์๋ฐฉํฅ์ผ๋ก ์์ฉํ๋ค: AI๋ ๋ช
์ธ ๋ฐ ๋ณด์ผ๋ฌํ๋ ์ดํธ ์์ฑ์ ์๋ํํจ์ผ๋ก์จ ๋ชจ๋ธ ๊ธฐ๋ฐ ๊ฐ๋ฐ์ ๋ ์ ๊ทผํ๊ธฐ ์ฝ๊ฒ ๋ง๋ค๊ณ , ๋ชจ๋ธ ๊ธฐ๋ฐ ์ ์ฝ ์กฐ๊ฑด์ AI๊ฐ ์์ฑํ ์ฝ๋๋ฅผ ์ํคํ
์ฒ์ ์ผ๋ก ๋ ์ผ๊ด์ฑ ์๊ณ ํ์ค์ ๋ถํฉํ๋๋ก ๋ง๋ ๋ค.
์ฃผ์ฅ๊ณผ ๊ทผ๊ฑฐ
<
| ์ฃผ์ฅ | ๊ทผ๊ฑฐ | ํ๊ฐ |
|---|
| AI ์์ด์ ํธ๋ ์ํํธ์จ์ด ํจ์นญ์ ํ์ ๊ฒ์ฆ์ ํตํฉํ ์ ์๋ค | PatchPilot์ด ํ์ดํ๋ผ์ธ ํตํฉ์ ์์ฐ | โ
์์ฐ๋จ (์ด๊ธฐ ๋จ๊ณ) |
| ํ์ฌ LLM์ ์ฝ๋์ ์ ํ์ฑ ์ฆ๋ช
์ ๋ชจ๋ ์์ฑํ ์ ์๋ค | FVAPPS๋ ์ ํ์ ์ด์ง๋ง 0์ด ์๋ ์ญ๋์ ๋ณด์ฌ์ค | โ ๏ธ ๋ฐ์ ์ค์ธ ์ญ๋ |
| GenAI + ๋ชจ๋ธ ๊ธฐ๋ฐ ๋ฐฉ๋ฒ๋ก ์ ์๋์ง๊ฐ ์๋์ฐจ ์ํํธ์จ์ด ์์ ์ฑ์ ํฅ์์ํจ๋ค | Pan ๋ฑ์ด ์ํฌํ๋ก์ฐ๋ฅผ ๊ธฐ์ ; ์ค์ ๋ฐฐํฌ ๊ทผ๊ฑฐ๋ ์ ํ์ | โ ๏ธ ์ํคํ
์ฒ์ ์ผ๋ก ํ๋น |
| ํ์ ๊ฒ์ฆ์ด ๋๊ท๋ชจ AI ์์ฑ ์ฝ๋๋ฒ ์ด์ค๋ก ํ์ฅ๋๋ค | ํ์ฌ ๋๊ตฌ๋ ์๊ท๋ชจ ํ๋ก๊ทธ๋จ์ ์ฒ๋ฆฌ; ํ์ฅ์ฑ์ ์ฌ์ ํ ๊ณผ์ | โ ๏ธ ์๋นํ ๊ฒฉ์ฐจ ์กด์ฌ |
| ํ
์คํ
์ ์์ ํ์ ์ํํธ์จ์ด์ ์ถฉ๋ถํ๋ค | ํ์ ๋ฐฉ๋ฒ๋ก ์ปค๋ฎค๋ํฐ์ ํฉ์: ํ
์คํ
๋ง์ผ๋ก๋ ๋ถ์ถฉ๋ถ | โ ์ถฉ๋ถํ์ง ์์ |
๋ฏธํด๊ฒฐ ์ง๋ฌธ
๋ช
์ธ์ ์์ ์ฑ: ํ์ ๊ฒ์ฆ์ ์ฝ๋๊ฐ ๋ช
์ธ์ ๋ํด ์ฌ๋ฐ๋ฆ์ ์ฆ๋ช
ํ๋ค. ๊ทธ๋ฌ๋ ๋ช
์ธ๋ ๋๊ฐ ์์ฑํ๋ฉฐ, ๋ช
์ธ๊ฐ ์ค์ ์๊ตฌ์ฌํญ์ ํฌ์ฐฉํ๊ณ ์๋์ง๋ ์ด๋ป๊ฒ ๊ฒ์ฆํ๋๊ฐ? ๋ช
์ธ ๊ฒฉ์ฐจ๋ ์ข
์ข
๊ตฌํ ๊ฒฉ์ฐจ๋ณด๋ค ํฌ๋ค.๊ฒ์ฆ์ ํ์ฅ์ฑ: ํ์ฌ ํ์ ๊ฒ์ฆ ๋๊ตฌ๋ ์๋ฐฑ์์ ์์ฒ ์ค ๊ท๋ชจ์ ํ๋ก๊ทธ๋จ์ ์ฒ๋ฆฌํ๋ค. ์ค์ ์ํํธ์จ์ด ์์คํ
์ ์๋ฐฑ๋ง ์ค์ ํฌํจํ๋ค. ๊ฒ์ฆ์ ํ๋ก๋์
์ฝ๋๋ฒ ์ด์ค ์์ค์ผ๋ก ์ด๋ป๊ฒ ํ์ฅํ ๊ฒ์ธ๊ฐ?๋ถ๋ถ ๊ฒ์ฆ: ์์ ํ ๊ฒ์ฆ์ด ์คํ ๋ถ๊ฐ๋ฅํ๋ค๋ฉด, ๋ถ๋ถ ๊ฒ์ฆ โ ํต์ฌ ์์ฑ์ ์ฆ๋ช
ํ๋ ๋นํต์ฌ ๋์์ ๋ฏธ๊ฒ์ฆ์ผ๋ก ๋จ๊ธฐ๋ ๋ฐฉ์ โ ์ด ๋ ๋ฎ์ ๋น์ฉ์ผ๋ก ์๋ฏธ ์๋ ์์ ์ฑ ํฅ์์ ์ ๊ณตํ ์ ์๋๊ฐ?์ ๊ฒฝ๋ง์ ๊ฒ์ฆ: AI๊ฐ ์์ฑํ ์ฝ๋๋ ์ ๊ฒฝ๋ง ๊ตฌ์ฑ ์์(ML ๋ชจ๋ธ, ๋ถ๋ฅ๊ธฐ)๋ฅผ ํธ์ถํ ์ ์๋ค. ๋น๊ฒฐ์ ๋ก ์ ์ ๊ฒฝ๋ง ๊ตฌ์ฑ ์์๋ฅผ ํฌํจํ๋ ์ฝ๋์ ์์ฑ์ ํ์์ ์ผ๋ก ๊ฒ์ฆํ ์ ์๋๊ฐ?๊ฐ๋ฐ์ ์์ฉ: ํ์ ๊ฒ์ฆ์ ๋๋ถ๋ถ์ ์ํํธ์จ์ด ๊ฐ๋ฐ์๊ฐ ๋ณด์ ํ์ง ์์ ์ ๋ฌธ ์ง์์ ์๊ตฌํ๋ค. AI ๋งค๊ฐ ๊ฒ์ฆ์ด ์์ฉ ์ฅ๋ฒฝ์ ๋ฎ์ถ ์ ์๋๊ฐ, ์๋๋ฉด ๋จ์ํ ์ ๋ฌธ ์ง์์ ์๊ตฌ๋ฅผ ๊ฒ์ฆ์์ AI ๋๊ตฌ ๊ตฌ์ฑ์ผ๋ก ์ด์ ์ํค๋ ๊ฒ์ ๋ถ๊ณผํ๊ฐ?์ฐ๊ตฌ์๋ฅผ ์ํ ์์ฌ์
์ํํธ์จ์ด ๊ณตํ ์ฐ๊ตฌ์๋ค์๊ฒ, PatchPilot๊ณผ FVAPPS์ ์กฐํฉ์ AI ๋ณด์กฐ ํ์ ๊ฒ์ฆ์ด๋ผ๋ ์ ํฅ ๋ถ์ผ์์ ์ค์ฉ์ ์ธ ๋๊ตฌ์ ๋ฒค์น๋งํฌ๋ฅผ ๋์์ ํ๋ฆฝํ๋ค. ์ด ๋ฒค์น๋งํฌ๋ ์๋
๊ฐ ์ฐ๊ตฌ ๋ฐ์ ์ ์ด๋ ๋งํผ ์ถฉ๋ถํ ๋์ ์ ์ด๋ฉฐ, ๊ฒ์ฆ๋ ์ฝ๋ ์์ฑ ๋ถ์ผ์ ์ข
์ฌํ๋ ๋ชจ๋ ์ฐ๊ตฌ์์๊ฒ ๊ท์คํ ์์์ด๋ค.
์์ ํ์ ์์คํ
๊ฐ๋ฐ์๋ค์๊ฒ, ์๋์ฐจ ๋ถ์ผ ์ ์ฉ ์ฌ๋ก(Pan ๋ฑ)๋ ๊ตฌ์ฒด์ ์ธ ํตํฉ ํจํด์ ์ ์ํ๋ค: AI๋ ์ ์ํ ํ๋กํ ํ์ดํ์, ๋ชจ๋ธ ๊ธฐ๋ฐ ๋ฐฉ๋ฒ๋ก ์ ๊ตฌ์กฐํ๋ ๊ฒ์ฆ์ ํ์ฉํจ์ผ๋ก์จ, ๋น ๋ฅด๋ฉด์๋(AI ์์ฑ) ์ํคํ
์ฒ์ ์ผ๋ก ๊ท์จ ์๋(๋ชจ๋ธ ์ค์) ์ํฌํ๋ก์ฐ๋ฅผ ๊ตฌํํ๋ค.
AI ์ฝ๋ ์์ฑ ์ปค๋ฎค๋ํฐ์๊ฒ, FVAPPS๋ ํ์ฌ ๋ฒค์น๋งํฌ๋ฅผ ์ง์ ์ผ๋ก ๋ฐ์ด๋๋ ๊ธฐ์ค์ ์ ์ํ๋ค. ํ
์คํธ ์ผ์ด์ค์์ ๋์ํ๋ ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒ์ ํ์ํ์ง๋ง ๋ถ์ถฉ๋ถํ ๊ธฐ์ค์ด๋ค. ์ฆ๋ช
๊ฐ๋ฅํ๊ฒ ์ ํํ ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒ์ด ์์ ํ์ ์ ํ๋ฆฌ์ผ์ด์
์ด ์๊ตฌํ๋ ํ์ค์ด๋ฉฐ, ์ด๊ฒ์ด ํด๋น ๋ถ์ผ๊ฐ ๋์๊ฐ์ผ ํ ๋ฐฉํฅ์ด๋ค.
References (3)
[1] Li, H., Tang, Y., Wang, S. et al. (2025). PatchPilot: A Cost-Efficient Software Engineering Agent with Early Attempts on Formal Verification. Semantic Scholar.
[2] Dougherty, Q. & Mehta, R. (2025). Proving the Coding Interview: A Benchmark for Formally Verified Code Generation. IEEE LLM4Code.
[3] Pan, F., Song, Y., Wen, L. et al. (2025). Automating Automotive Software Development: A Synergy of Generative AI and Model-Based Methods. arXiv:2505.02500.