Pith. sign in

REVIEW 1 cited by

Do Large Code Models Understand Programming Concepts? Counterfactual Analysis for Code Predicates

Not yet reviewed by Pith; the record is open.

This paper has not been read by Pith yet. Machine review is queued; the pith claim, tier, and objections will appear here once it completes.

SPECIMEN: schema-true, not a live event

T0 review · schema-true

One-sentence machine reading of the paper's core claim.

pith:XXXXXXXX · record.json · timestamp

arxiv 2402.05980 v3 pith:LSQ4X47E submitted 2024-02-08 cs.SE cs.AIcs.LGcs.PL

classification cs.SEcs.AIcs.LGcs.PL
keywords codemodelsconceptslargeprogrammingcounterfactualunderstandanalysis
verification ladder T0 review T1 audit T2 compute T3 formal
0 comments
read the original abstract

Large Language Models' success on text generation has also made them better at code generation and coding tasks. While a lot of work has demonstrated their remarkable performance on tasks such as code completion and editing, it is still unclear as to why. We help bridge this gap by exploring to what degree auto-regressive models understand the logical constructs of the underlying programs. We propose Counterfactual Analysis for Programming Concept Predicates (CACP) as a counterfactual testing framework to evaluate whether Large Code Models understand programming concepts. With only black-box access to the model, we use CACP to evaluate ten popular Large Code Models for four different programming concepts. Our findings suggest that current models lack understanding of concepts such as data flow and control flow.

Discussion (0). Continue with ORCID to comment.

Forward citations

Cited by 1 Pith paper

Reviewed papers in the Pith corpus that reference this work. Sorted by Pith novelty score. Full citation record

  1. CoCoNUT: Structural Code Understanding does not fall out of a tree

    cs.LG 2025-01 conditional novelty 6.0 of 10

    A new benchmark, CoCoNUT, shows that LLMs that can generate working Python code often fail to list the exact lines of code that execute, especially for long or advanced programs.

Pith tools