Comparative Analysis of Loop-Free Function Evaluation Using ChatGPT and Copilot with C Bounded Model Checking
Bibliographic record
Abstract
Advanced machine learning models and automated coding helpers have significantly transformed software development and verification techniques in recent years. This paper performs a comparative investigation of two prominent AI-driven code generation tools, ChatGPT and Copilot, with a specific emphasis on their ability to evaluate loop-free functions. By employing C Bounded Model Checking (CBMC) as the verification framework, we use model checking (MC) to systematically compare the accuracy and effectiveness of code produced by both tools. Our approach entails creating function implementations that are free of loops by utilizing established requirements with the assistance of ChatGPT and Copilot. These implementations are then subjected to thorough examination using CBMC to evaluate aspects such as functional correctness, safety, and potential vulnerabilities. Performance measurements encompass coding accuracy, verification time, and error identification. Results reveal notable differences in the performance of ChatGPT and Copilot. While both tools show promise in code generation, distinct strengths and weaknesses emerge in handling complex specifications and ensuring code correctness. This work provides useful insights into coding assistants powered by artificial intelligence and emphasizes the significance of incorporating formal verification methods, such as CBMC, to ensure dependable software development. This comparative analysis adds to the expanding research on AI-assisted programming, offering practical guidance for developers and researchers seeking efficient and dependable code generation tools.
Fetched live from OpenAlex and de-inverted. Abstracts are not stored in this database: the inverted indexes are 8.6 GB of the frame’s 9.3 GB of text, and the host has 13 GB free.
How this classification was reachedexpand
Full frame distilled prediction
Teacher imitationNot calibrated prevalence, not ground truth. Human validation pending. Learned from the 10,348 direct Codex labels and 10,348 direct Gemma labels. Candidate is the union of thresholded teacher heads; consensus is their intersection. These outputs are machine_predicted_unvalidated and are not human labels or direct frontier model labels.
Codex and Gemma teacher scores by category
| Category | Codex | Gemma |
|---|---|---|
| Metaresearch | 0.001 | 0.000 |
| Meta-epidemiology (narrow) | 0.000 | 0.000 |
| Meta-epidemiology (broad) | 0.000 | 0.000 |
| Bibliometrics | 0.000 | 0.001 |
| Science and technology studies | 0.000 | 0.000 |
| Scholarly communication | 0.000 | 0.001 |
| Open science | 0.000 | 0.000 |
| Research integrity | 0.000 | 0.000 |
| Insufficient payload (model declined to judge) | 0.000 | 0.000 |
Machine scores (provisional)
The two teacher heads of the student model, read on this work. A score orders the frame for review; it never asserts a category, and the validation status ships verbatim with every row.
Baseline scores from an immature model (maturity gate not passed, 7 training rounds). Scores rank; they never assert a category.
score_only:v0-immature-baseline · verbatim from the scoring run: score_only means the number may rank works, and no category label ships from itClassification
machine, unvalidatedMachine predicted; a candidate call from one teacher head, not a consensus.
How this classification was reached, model by model and score by score, is at the end of the page under "How this classification was reached".