The DOI matches its Crossref record; 16 of the 16 references it cites were found in a registry or an index; none of the 6 sources its claims cite is checked for support yet.
Asleep at the Keyboard? Assessing the Security of GitHub Copilot’s Code Contributions
Open accessAbstract
There is burgeoning interest in designing AI-based systems to assist humans in designing computing systems, including tools that automatically generate computer code. The most notable of these comes in the form of the first self-described “AI pair programmer,” GitHub Copilot, which is a language model trained over open-source GitHub code. However, code often contains bugs—and so, given the vast quantity of unvetted code that Copilot has processed, it is certain that the language model will have learned from exploitable, buggy code. This raises concerns on the security of Copilot’s code contributions. In this work, we systematically investigate the prevalence and conditions that can cause GitHub Copilot to recommend insecure code. To perform this analysis we prompt Copilot to generate code in scenarios relevant to high-risk cybersecurity weaknesses, for example, those from MITRE’s “Top 25” Common Weakness Enumeration (CWE) list. We explore Copilot’s performance on three distinct code generation axes—examining how it performs given diversity of weaknesses, diversity of prompts, and diversity of domains. In total, we produce 89 different scenarios for Copilot to complete, producing 1,689 programs. Of these, we found approximately 40% to be vulnerable.
Overview
Integrity signals
Registry
Cites
Statistics
Verification
Claims the paper makes
30 Own result · 18 Own method · 11 No basis given · 7 Own interpretation · 4 Not checked yet · 1 Sources not found
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“258 (50.29 %) were vulnerable.”
§ research-highlight > 5.2.1 Overview
plain- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: passes — The paper’s conclusions depend on it.
- Based: passes — The paper gives a reason why it holds.
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“219 (38.35%) were vulnerable.”
§ research-highlight > 5.2.1 Overview
plain- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: passes — The paper’s conclusions depend on it.
- Based: passes — The paper gives a reason why it holds.
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“While Copilot did generate vulnerable code around 44 % of the time”
§ research-highlight > 5.2.3 Observations
plain- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: passes — The paper’s conclusions depend on it.
- Based: passes — The paper gives a reason why it holds.
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“Here, Copilot correctly generates the appropriate security check for the top-scoring option.”
§ research-highlight > 5.4.1 Overview
plainSingle case- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: unclear — It is unclear whether the paper’s conclusions depend on it.
- Based: passes — The paper gives a reason why it holds.
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“Of these, 477 (44.00 %) were determined to contain a CWE.”
§ research-highlight > 5.2.1 Overview
plain- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: passes — The paper’s conclusions depend on it.
- Based: passes — The paper gives a reason why it holds.
The paper states this without a source or data behind it here, so there is nothing to check it against. The quote shows it is in the paper.
In the paper
“can impact the safety of the generated code with regard to the top-suggested program option, even when they have no semantic meaning (they are only changes to comments).”
§ research-highlight > COMMUNICATIONS OF THE ACM
plaindirect- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: passes — The paper’s conclusions depend on it.
- Based: passes — The paper gives a reason why it holds.
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“Of the scenarios, 24 (44.44 %) had a vulnerable top-scoring suggestion.”
§ research-highlight > 5.2.1 Overview
plain- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: passes — The paper’s conclusions depend on it.
- Based: passes — The paper gives a reason why it holds.
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“Of the scenarios, 11 (37.93 %) had a vulnerable top-scoring program.”
§ research-highlight > 5.2.1 Overview
plain- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: passes — The paper’s conclusions depend on it.
- Based: passes — The paper gives a reason why it holds.
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“From these, Copilot was able to generate options that produced 1084 valid programs.”
§ research-highlight > 5.2.1 Overview
plain- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: passes — The paper’s conclusions depend on it.
- Based: passes — The paper gives a reason why it holds.
The paper states this without a source or data behind it here, so there is nothing to check it against. The quote shows it is in the paper.
In the paper
“An example of this is in the DOW CWE-522 scenarios concerning password hashing.Some time ago, MD5 was considered secure.Now, best practice either involves many rounds of a simple hashing function, or use of a library that will age gracefully like 'bcrypt'.Yet, legacy code uses insecure hashes, and so Copilot continues suggesting them.”
§ research-highlight > 6. Discussion
plaindirect- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: unclear — It is unclear whether the paper’s conclusions depend on it.
- Based: passes — The paper gives a reason why it holds.
- Rests on an assumption: Legacy code uses insecure hashes.
- It may state two separate claims as one. 36
- Probably not a substantial claim. 32
- The quote only partly states this claim. 1
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“If we instead consider the scenarios with the highest mean vulnerable scores, the scenarios are 22-0 (0.83), 125-1 (0.76), and 787-0 (0.74)-with no crossover in the top 3.”
§ research-highlight > 5.2.3 Observations
plain- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: unclear — It is unclear whether the paper’s conclusions depend on it.
- Based: passes — The paper gives a reason why it holds.
It may state two separate claims as one.
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“Most scenarios featured similar scoring top answers, although a few stand out: 476-1 (at 0.96), 200-0 (0.93), and 416-2 (0.92) all had an extremely high-confidence but vulnerable top-scoring option.”
§ research-highlight > 5.2.3 Observations
plain- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: unclear — It is unclear whether the paper’s conclusions depend on it.
- Based: passes — The paper gives a reason why it holds.
It may state two separate claims as one.
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“Both scenarios evaluated programs for both C and Python, yet CWE-79 had zero vulnerable top-scoring programs, and only 19 % vulnerable options overall, while CWE-22 had only vulnerable top-scoring programs, with 60 % vulnerable options overall.”
§ research-highlight > 5.2.3 Observations
plain- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: unclear — It is unclear whether the paper’s conclusions depend on it.
- Based: passes — The paper gives a reason why it holds.
It may state two separate claims as one.
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“C-3, meanwhile, made that new function vulnerable.This also increased the confidence markedly, but the answers are now skewed towards vulnerable-only one non-vulnerable answer was generated.The top-scoring option is vulnerable.”
§ research-highlight > 5.3.2 Observations
plaindirectSingle case- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: passes — The paper’s conclusions depend on it.
- Based: passes — The paper gives a reason why it holds.
It may state two separate claims as one.
The paper states this without a source or data behind it here, so there is nothing to check it against. The quote shows it is in the paper.
In the paper
“This is because sprintf may generate strings up to 317 characters from %f (317 for doubles, 47 for floats).This means that these character buffers must be at least 48 characters (these are floats, and the code also needs to include space for the null termination character).Yet, each buffer is only 32 characters long, meaning that sprintf may write past end of the buffer.”
§ research-highlight > 5.2.2 Example CWE results
hedgedconditionalSingle case- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: unclear — It is unclear whether the paper’s conclusions depend on it.
- Based: passes — The paper gives a reason why it holds.
It may state two separate claims as one.
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“In total, we designed 54 scenarios across 18 different CWEs.”
§ research-highlight > 5.2.1 Overview
plain- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: passes — The paper’s conclusions depend on it.
- Based: passes — The paper gives a reason why it holds.
Probably not a substantial claim.
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“Breaking down by language, 25 scenarios were in C, generating 513 programs.”
§ research-highlight > 5.2.1 Overview
plain- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: fails — The paper’s conclusions may not depend on it.
- Based: passes — The paper gives a reason why it holds.
Probably not a substantial claim. The paper’s conclusions may not depend on it. It may state two separate claims as one.
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“Copilot did not diverge far from the overall confidences and performance of CON, with two notable exceptions in C-2 and C-3.”
§ research-highlight > 5.3.2 Observations
plain- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: passes — The paper’s conclusions depend on it.
- Based: passes — The paper gives a reason why it holds.
It may state two separate claims as one.
The paper states this without a source or data behind it here, so there is nothing to check it against. The quote shows it is in the paper.
In the paper
“Compared with Python and C, Copilot struggled to generate meaningful Verilog (for example, 1254-2 had no syntactically compliant results).”
§ research-highlight > 5.4.2 Observations
plainSingle case- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: unclear — It is unclear whether the paper’s conclusions depend on it.
- Based: passes — The paper gives a reason why it holds.
It may state two separate claims as one.
The paper states this without a source or data behind it here, so there is nothing to check it against. The quote shows it is in the paper.
In the paper
“As this code is not definitively vulnerable (the username may be escaped inside render_template(), it is marked as non-vulnerable.”
§ research-highlight > 5.2.2 Example CWE results
hedgedconditionalSingle case- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: fails — The paper’s conclusions may not depend on it.
- Based: passes — The paper gives a reason why it holds.
Probably not a substantial claim. The paper’s conclusions may not depend on it.
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“The top option for this from Copilot, with a rounded score of 0.841, is presented in Figure 4(b).Here, Copilot's generated code is marked as vulnerable by CodeQL.”
§ research-highlight > 5.2.2 Example CWE results
plainSingle case- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: unclear — It is unclear whether the paper’s conclusions depend on it.
- Based: passes — The paper gives a reason why it holds.
It may state two separate claims as one.
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“It had 6 vulnerable suggestions, 19 non-vulnerable, and the top suggested option non-vulnerable.”
§ research-highlight > 5.3.1 Overview
plainSingle case- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: unclear — It is unclear whether the paper’s conclusions depend on it.
- Based: passes — The paper gives a reason why it holds.
It may state two separate claims as one.
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“29 scenarios were in Python, generating 571 programs total.”
§ research-highlight > 5.2.1 Overview
plain- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: fails — The paper’s conclusions may not depend on it.
- Based: passes — The paper gives a reason why it holds.
Probably not a substantial claim. The paper’s conclusions may not depend on it. It may state two separate claims as one.
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“The third-scoring option, presented in Figure 5(c), is definitively vulnerable, and the fourth-highest, Figure 5(d), is not vulnerable.”
§ research-highlight > 5.2.2 Example CWE results
boostedSingle case- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: fails — The paper’s conclusions may not depend on it.
- Based: passes — The paper gives a reason why it holds.
Probably not a substantial claim. The paper’s conclusions may not depend on it. It may state two separate claims as one.
The paper states this without a source or data behind it here, so there is nothing to check it against. The quote shows it is in the paper.
In the paper
“Verilog has syntax similar to other C-type languages.Many of the non-compiling options used keywords and syntax from these other languages, particularly SystemVerilog.”
§ research-highlight > 5.4.2 Observations
plaincorrelational- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: passes — The paper’s conclusions depend on it.
- Based: passes — The paper gives a reason why it holds.
Probably not a substantial claim. It may state two separate claims as one.
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“Of the non-vulnerable options, the top-scoring were for 732-2 (0.91), 306-2 (0.91), and 125-1 (0.90), and the scenarios with the highest mean non-vulnerable scores were 306-2 (0.82), 416-2 (0.78), and 79-1 (0.76).”
§ research-highlight > 5.2.3 Observations
plain- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: unclear — It is unclear whether the paper’s conclusions depend on it.
- Based: passes — The paper gives a reason why it holds.
It may state two separate claims as one.
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“Meanwhile, CWE-200, which is a higher-level context-required CWE concerning information leakage, had a wide Figure 5. Scenario 79-0 range of confidences.”
§ research-highlight > 5.2.3 Observations
plain- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: fails — The paper’s conclusions may not depend on it.
- Based: passes — The paper gives a reason why it holds.
Probably not a substantial claim. The paper’s conclusions may not depend on it. It may state two separate claims as one.
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“Copilot was able to generate options to make 198 programs.Of these, 56 (28.28 %) were vulnerable.Of the 18 scenarios, 7 (38.89%) had vulnerable top-scoring options.”
§ research-highlight > 5.4.1 Overview
plain- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: passes — The paper’s conclusions depend on it.
- Based: passes — The paper gives a reason why it holds.
It may state two separate claims as one.
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“Here, C-2 adds a separate non-vulnerable database function to the program.This function is non-vulnerable.This significantly improved the output of Copilot, with an increase in the confidence score, and seemed to completely prevent any other vulnerable suggestions.”
§ research-highlight > 5.3.2 Observations
hedgeddirectSingle case- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: passes — The paper’s conclusions depend on it.
- Based: passes — The paper gives a reason why it holds.
It may state two separate claims as one.
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“In total, we produce 89 different scenarios for Copilot to complete, producing 1,689 programs.”
§ research-highlight > Abstract
plain- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: passes — The paper’s conclusions depend on it.
- Based: passes — The paper gives a reason why it holds.
It may state two separate claims as one.
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“Of the scenarios, 13 (52.00%) had a top-scoring program vulnerable.”
§ research-highlight > 5.2.1 Overview
plain- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: passes — The paper’s conclusions depend on it.
- Based: passes — The paper gives a reason why it holds.
The quote only partly states this claim.
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“For the six CWEs we were not looking for correct code, but rather for insecure code.In this regard, Copilot performed relatively well.”
§ research-highlight > 5.4.2 Observations
plain- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: unclear — It is unclear whether the paper’s conclusions depend on it.
- Based: passes — The paper gives a reason why it holds.
It may state two separate claims as one.
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“across all axes and languages, 39.33 % of the top and 40.73 % of the total options were vulnerable”
§ research-highlight > 6. Discussion
plain- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: passes — The paper’s conclusions depend on it.
- Based: passes — The paper gives a reason why it holds.
It may state two separate claims as one.
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“Overall, we collected results for 17 different scenarios, with Copilot options generating 407 valid programs.Of these, 152 (37.35 %) were vulnerable.Across the 17 scenarios, 4 (25.53 %) had top-scoring vulnerable programs.”
§ research-highlight > 5.3.1 Overview
plain- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: passes — The paper’s conclusions depend on it.
- Based: passes — The paper gives a reason why it holds.
It may state two separate claims as one.
The paper states this without a source or data behind it here, so there is nothing to check it against. The quote shows it is in the paper.
In the paper
“Subtle variations in the prompts (Section 5.3) affect Copilot's code generation; wider contexts with better quality code can yield more secure code suggestions.”
§ research-highlight > 6.1.4 On scenario creation
plaindirect- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: fails — The paper’s conclusions may not depend on it.
- Based: passes — The paper gives a reason why it holds.
Probably not a substantial claim. The paper’s conclusions may not depend on it. It may state two separate claims as one.
The paper states this without a source or data behind it here, so there is nothing to check it against. The quote shows it is in the paper.
In the paper
“At MITRE's second-highest rank, CWE-79 is a weakness that covers those scenarios where web applications do not neutralize user-provided values before including them in their web application outputs.”
§ research-highlight > 5.2.2 Example CWE results
plain- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: fails — The paper’s conclusions may not depend on it.
- Based: fails — The paper may give no reason why it holds.
Probably not a substantial claim. The paper’s conclusions may not depend on it. The paper may give no reason why it holds. It may state two separate claims as one.
What the paper did — it cites no source for this, so there is none to check. The quote shows it is in the paper.
In the paper
“In addition, we do not evaluate for correctness, only for vulnerabilities.”
- Also stated in: § 5.1.1 Vulnerability Classification · plain
“Finally, we did not evaluate for functionally correct code generation, only vulnerable outputs.”
§ research-highlight > 4.3 Generalized Evaluation Process
plain- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: passes — The paper’s conclusions depend on it.
- Based: passes — The paper gives a reason why it holds.
Probably not a substantial claim.
- Also stated in: § 5.1.1 Vulnerability Classification · plain
In the paper
“Hardware CWEs have some key differences from software CWEs, primarily surrounding external context (assets) beyond what is provided with the hardware definition directly, 6 including implementation and timing details.”
§ research-highlight > 5.4.1 Overview
What the sources say
- Not checked yetcites [6] 6. Chen, M. et al. Evaluating large language models trained on code. arXiv:2107.03374 [cs], July 2021, arXiv: 5. 2107.03374.
plaincorrelational- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: fails — The paper’s conclusions may not depend on it.
- Based: passes — The paper gives a reason why it holds.
Probably not a substantial claim. The paper’s conclusions may not depend on it.
A conclusion the paper draws from its own results — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“The security of the top options are particularly important-novice users may be more likely to accept the 'best' suggestion.”
§ research-highlight > 6. Discussion
hedgedconditional- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: fails — The paper’s conclusions may not depend on it.
- Based: fails — The paper may give no reason why it holds.
Probably not a substantial claim. The paper’s conclusions may not depend on it. The paper may give no reason why it holds.
- Rests on an assumption: Novice users are more likely to accept Copilot's top suggestion.
In the paper
“Hardware CWEs were added to MITRE's taxonomy in 2020.23”
§ research-highlight > 5.4.1 Overview
What the sources say
- Not checked yetcites [23] 23. Reddy, S., Chen, D., and Manning, C.D. CoQA: A conversational question answering challenge. Transactions of 19. the Association for Computational Linguistics 7, (2019), 249-266.
plain- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: fails — The paper’s conclusions may not depend on it.
- Based: passes — The paper gives a reason why it holds.
Probably not a substantial claim. The paper’s conclusions may not depend on it.
The paper states this without a source or data behind it here, so there is nothing to check it against. The quote shows it is in the paper.
In the paper
“The most severe vulnerability in the corpus was CWE-787, or 'Out-of-bounds Write', which concerns mismanagement of low-level memory (specifically, when software may write data past the end or before the beginning of a buffer).This is ranked as #1 for two reasons: firstly, memory errors are frequently found in low-level code, and secondly, when exploitable, writable memory buffer errors can lead to”
§ research-highlight > 5.2.2 Example CWE results
plaindirect- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: unclear — It is unclear whether the paper’s conclusions depend on it.
- Based: passes — The paper gives a reason why it holds.
It may state two separate claims as one.
The paper states this without a source or data behind it here, so there is nothing to check it against. The quote shows it is in the paper.
In the paper
“These have some similarities between them, with CWE-476 and CWE-416 both deal with low-level pointer mismanagement errors.”
§ research-highlight > 5.2.3 Observations
plain- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: fails — The paper’s conclusions may not depend on it.
- Based: passes — The paper gives a reason why it holds.
Probably not a substantial claim. The paper’s conclusions may not depend on it.
The paper states this without a source or data behind it here, so there is nothing to check it against. The quote shows it is in the paper.
In the paper
“Here, CWE-732 and CWE-306 are more qualitative and are concerned with permissions and authorization.Meanwhile, CWE-125 is for buffer over-and under-reads.”
§ research-highlight > 5.2.3 Observations
plain- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: fails — The paper’s conclusions may not depend on it.
- Based: passes — The paper gives a reason why it holds.
Probably not a substantial claim. The paper’s conclusions may not depend on it. It may state two separate claims as one.
A conclusion the paper draws from its own results — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“We hypothesize that the presence of either vulnerable or non-vulnerable SQL in a codebase is, therefore, the strongest predictor of whether or not there would be other vulnerable SQL in the codebase, and therefore, has the strongest impact upon whether or not Copilot will itself generate SQL code vulnerable to injection.”
§ research-highlight > 5.3.2 Observations
hedgeddirect- Asserted: fails — The authors may not put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: passes — The paper’s conclusions depend on it.
- Based: passes — The paper gives a reason why it holds.
Probably not a substantial claim. The authors may not put it forward as true. It may state two separate claims as one.
A conclusion the paper draws from its own results — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“As Copilot is trained over open-source code available on GitHub, we theorize that the variable security quality stems from the nature of the community-provided code.That is, where bugs are more visible in open-source repositories, those bugs will be more often reproduced by Copilot.”
§ research-highlight > 6. Discussion
hedgedconditional- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: fails — The paper’s conclusions may not depend on it.
- Based: fails — The paper may give no reason why it holds.
Probably not a substantial claim. The paper’s conclusions may not depend on it. The paper may give no reason why it holds.
- Rests on an assumption: Copilot is trained on open-source code available on GitHub.
- Rests on an assumption: Bugs are more visible in open-source repositories.
In the paper
“Prior work used CodeQL to identify vulnerable code commits in the life of a JavaScript project.3”
§ research-highlight > 2.2 Evaluating Code Security
What the sources say
- Not checked yetcites [3] 3. Bandara, V. et al. Fix that fix commit: A real-world remediation analysis of javascript projects. In 2020 IEEE source
plain- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: fails — The paper’s conclusions may not depend on it.
- Based: passes — The paper gives a reason why it holds.
Probably not a substantial claim. The paper’s conclusions may not depend on it.
A conclusion the paper draws from its own results — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“Copilot's response to our scenarios is mixed from a security standpoint, given the large number of generated vulnerabilities”
§ research-highlight > 6. Discussion
plaincorrelational- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: passes — The paper’s conclusions depend on it.
- Based: passes — The paper gives a reason why it holds.
It may state two separate claims as one.
A conclusion the paper draws from its own results — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“We think this is due mostly to the smaller amount of training data available.”
§ research-highlight > 5.4.2 Observations
plaindirect- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: fails — The paper’s conclusions may not depend on it.
- Based: passes — The paper gives a reason why it holds.
Probably not a substantial claim. The paper’s conclusions may not depend on it.
What the paper did — it cites no source for this, so there is none to check. The quote shows it is in the paper.
In the paper
“Note that each scenario does not contain the weakness from the outset; it is Copilot's completion that determines if the final program is vulnerable.”
§ research-highlight > 4.3 Generalized Evaluation Process
plaindirect- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: passes — The paper’s conclusions depend on it.
- Based: passes — The paper gives a reason why it holds.
Probably not a substantial claim. It may state two separate claims as one.
None of the sources cited for this claim have been checked yet.
In the paper
“Copilot builds on the OpenAI Codex family of models 5 that are GPT-3 models 4 fine-tuned on code from GitHub.”
§ research-highlight > 2.1 Code Generation
What the sources say
- Not checked yetcites [5] 5. Brown, T.B. et al. Language models are few-shot learners. arXiv:2005.14165 [cs], July 2020, arXiv: 2005.14165.
- Not checked yetcites [4] 4. 20th Intern. Working Conf. on Source Code Analysis and Manipulation (SCAM), Sept. 2020, 198-202.
plain- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: fails — The paper’s conclusions may not depend on it.
- Based: passes — The paper gives a reason why it holds.
Probably not a substantial claim. The paper’s conclusions may not depend on it. It may state two separate claims as one.
What the paper did — it cites no source for this, so there is none to check. The quote shows it is in the paper.
In the paper
“Importantly, CodeQL is configured in this step to only examine for the specific CWE this scenario is designed for.”
§ research-highlight > 4.3 Generalized Evaluation Process
plain- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: passes — The paper’s conclusions depend on it.
- Based: passes — The paper gives a reason why it holds.
Probably not a substantial claim.
What the paper did — it cites no source for this, so there is none to check. The quote shows it is in the paper.
In the paper
“However, Copilot is non-deterministic, and other outputs are possible.”
- Also stated in: § 6.1.3 Reproducible Code Generation · plain
“As a generative model, Copilot outputs are not directly reproducible.For the same given prompt, Copilot can generate different answers at different times.”
§ research-highlight > 5.2.2 Example CWE results
plaindirect- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: passes — The paper’s conclusions depend on it.
- Based: passes — The paper gives a reason why it holds.
It may state two separate claims as one.
- Also stated in: § 6.1.3 Reproducible Code Generation · plain
In the paper
“Traditional security verification for RTL is a mix of formal verification and manual evaluation by security experts.9”
§ research-highlight > 5.4.1 Overview
What the sources say
- Not matchedcites [9] 9. Drechsler, R., Harris, I.G., and Wille, R. Generating formal system models from natural language descriptions.
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
plain- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: passes — The paper’s conclusions depend on it.
- Based: passes — The paper gives a reason why it holds.
Probably not a substantial claim.
- Not matched
What the paper did — it cites no source for this, so there is none to check. The quote shows it is in the paper.
In the paper
“However, even with the complete codebase, CodeQL sometimes cannot parse important information.The authors found this to be the case when considering memory buffer sizes, as CodeQL's ability to derive memory boundaries (for example, array lengths) is limited in functionality.”
§ research-highlight > 6.1.1 CodeQL Limitations
hedgeddirect- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: unclear — It is unclear whether the paper’s conclusions depend on it.
- Based: passes — The paper gives a reason why it holds.
It may state two separate claims as one.
What the paper did — it cites no source for this, so there is none to check. The quote shows it is in the paper.
In the paper
“As such, to reproduce this research, we archived all options for every provided prompt.”
§ research-highlight > 6.1.3 Reproducible Code Generation
plain- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: fails — The paper’s conclusions may not depend on it.
- Based: passes — The paper gives a reason why it holds.
Probably not a substantial claim. The paper’s conclusions may not depend on it.
What the paper did — it cites no source for this, so there is none to check. The quote shows it is in the paper.
In the paper
“it is possible that across the full corpus of generated programs there may have been edge cases where CodeQL 'failed-safe', that is, marked something as vulnerable that was not.”
§ research-highlight > 6.1.1 CodeQL Limitations
hedged- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: fails — The paper’s conclusions may not depend on it.
- Based: passes — The paper gives a reason why it holds.
Probably not a substantial claim. The paper’s conclusions may not depend on it.
What the paper did — it cites no source for this, so there is none to check. The quote shows it is in the paper.
In the paper
“We are also further hampered in this by the lack of a definition for the 'mean prob' score that is returned by Copilot with each result.”
§ research-highlight > 6.1.2 Statistical Validity
plaindirect- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: passes — The paper’s conclusions depend on it.
- Based: passes — The paper gives a reason why it holds.
Probably not a substantial claim.
What the paper did — it cites no source for this, so there is none to check. The quote shows it is in the paper.
In the paper
“As Copilot is both a black-box and closed-source, residing on a remote server, general users (such as the authors of this paper) cannot directly examine the model used for generating outputs.”
§ research-highlight > 6.1.3 Reproducible Code Generation
plaindirect- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: passes — The paper’s conclusions depend on it.
- Based: passes — The paper gives a reason why it holds.
Probably not a substantial claim.
What the paper did — it cites no source for this, so there is none to check. The quote shows it is in the paper.
In the paper
“For the languages and scenarios that CodeQL did not support (for example, Verilog), the CWEs had to be marked manually.When marking manually, we strove for objective outputs, by considering the definitions of the relevant CWEs and nothing else.However, by introducing the human element, it is possible that individual results may be debatable.”
§ research-highlight > 6.1.1 CodeQL Limitations
hedgedconditional- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: fails — The paper’s conclusions may not depend on it.
- Based: passes — The paper gives a reason why it holds.
Probably not a substantial claim. The paper’s conclusions may not depend on it. It may state two separate claims as one.
What the paper did — it cites no source for this, so there is none to check. The quote shows it is in the paper.
In the paper
“While scenarios provide insights into Copilot, the scenarios are artificial in that they try to target specific potential weaknesses.Real-world code is considerably messier and contains larger amounts of context (for example, other functions, comments, etc.), so our setup does not fully reflect the spectrum of real-world software.”
§ research-highlight > 6.1.4 On scenario creation
plain- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: fails — The paper’s conclusions may not depend on it.
- Based: passes — The paper gives a reason why it holds.
Probably not a substantial claim. The paper’s conclusions may not depend on it. It may state two separate claims as one.
- Rests on an assumption: Real-world code is messier and contains more context than the scenarios.
What the paper did — it cites no source for this, so there is none to check. The quote shows it is in the paper.
In the paper
“The manual effort needed to query Copilot plus rate-limiting of queries, prohibits efficient collection of large datasets.This impacted and informed the methods we use.”
§ research-highlight > 6.1.3 Reproducible Code Generation
plaindirect- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: passes — The paper’s conclusions depend on it.
- Based: passes — The paper gives a reason why it holds.
Probably not a substantial claim. It may state two separate claims as one.
What the paper did — it cites no source for this, so there is none to check. The quote shows it is in the paper.
In the paper
“Since we ask Copilot to generate a few lines of code, our hope was that the corpus of possible answers is included in the requested 25 options.However, this is not guaranteed, considering that Copilot may be re-trained over new code repositories at a later date-probing black-box proprietary systems has the risk that updates may render them different in future.”
§ research-highlight > 6.1.3 Reproducible Code Generation
hedgedconditional- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: fails — The paper’s conclusions may not depend on it.
- Based: passes — The paper gives a reason why it holds.
Probably not a substantial claim. The paper’s conclusions may not depend on it. It may state two separate claims as one.
What the paper did — it cites no source for this, so there is none to check. The quote shows it is in the paper.
In the paper
“It is difficult to make claims on the statistical significance of all our results, but we believe that the empirical findings are nevertheless noteworthy.”
§ research-highlight > 6.1.2 Statistical Validity
plain- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: fails — The paper’s conclusions may not depend on it.
- Based: passes — The paper gives a reason why it holds.
Probably not a substantial claim. The paper’s conclusions may not depend on it. It may state two separate claims as one.
The paper relies on this without support.
No systematic examination of the security of machine-learning-generated code existed prior to this study.
“Although prior research has evaluated the functionality of code generated by language models, 2,5 there is no systematic examination of the security of ML-generated code.”
The paper relies on this without support.
Hardware designs free of hardware weaknesses meet a baseline level of security.
“As with the software CWEs, hardware designers can be sure that their designs meet a certain baseline level of security if their designs are free of hardware weaknesses.”
The paper relies on this without support.
Evaluating the security of code contributions made by Copilot is an open problem.
“Unlike metrics for functional correctness of generated code, evaluating the security of code contributions made by Copilot is an open problem.”
The paper relies on this without support.
Python and C are extremely popular, supported by CodeQL, and together can instantiate the complete list of the top 25 CWEs.
“Python and C are extremely popular, supported by CodeQL, and between them, can realistically instantiate the complete list of the top 25 CWEs.”
The paper relies on this without support.
Determining whether code is vulnerable sometimes requires knowledge external to the code itself.
“As discussed in Section 2, determining if code is vulnerable sometimes requires knowledge (context) external to the code itself.”
The paper relies on this without support.
Determining whether a specific vulnerability is exploitable requires framing within an attacker model.
“Furthermore, determining that a specific vulnerability is exploitable requires framing within a corresponding attacker model.”
The paper relies on this without support.
CWE-89 is well-known and well-formed, with no grey zone, making it suitable for the prompt diversity experiment.
“For this experiment, we choose CWE-89 (SQL Injection), as it is well-known (infamous, with plenty of both vulnerable and non-vulnerable code examples online) and well-formed (code is either vulnerable or it is not, there is no grey zone).”
The paper relies on this without support.
Novice users are more likely to accept Copilot's top suggestion.
“The security of the top options are particularly important-novice users may be more likely to accept the 'best' suggestion.”
The paper relies on this without support.
Copilot is trained on open-source code available on GitHub.
“As Copilot is trained over open-source code available on GitHub”
The paper relies on this without support.
Bugs are more visible in open-source repositories.
“where bugs are more visible in open-source repositories”
The paper relies on this without support.
Best practices can become outdated as the cybersecurity landscape evolves.
“What is 'best practice' at the time of writing may slowly become 'bad practice' as the cybersecurity landscape evolves.”
The paper relies on this without support.
Legacy code uses insecure hashes.
“Yet, legacy code uses insecure hashes”
The paper relies on this without support.
Tooling for examining hardware for CWEs is rudimentary.
“Unfortunately, due to their recent emergence, tooling for examining hardware for CWEs is rudimentary.”
The paper relies on this without support.
Real-world code is messier and contains more context than the scenarios.
“Real-world code is considerably messier and contains larger amounts of context”
Claims other papers make about this one
Each is checked against this paper’s own text: does it say what the citing paper says it does?
The source backs part of the claim, not all of it — or backs it for a different population, condition or comparison.
In the citing paper
“even when code passes unit tests, it can contain subtle bugs such as off-by-one errors or incorrect state updates (Pearce et al., 2025).”
From AlgoVeri: An Aligned Benchmark for Verified Code Generation on Classical Algorithms (2026) · cites this paper as Pearce et al., 2025
Experimental — accuracy not yet measuredThe source backs part of the claim, not all of it — or backs it for a different population, condition or comparison.
In the citing paper
“arguing that security issues introduced by GenAI tools stem from the models' training on publicly available code repositories, which inherently contain security flaws.”
From Self-Admitted GenAI Usage in Open-Source Software (2026) · cites this paper as [53]
Experimental — accuracy not yet measuredThe cited source says what the claim attributes to it.
In the citing paper
“Recent research highlights the extent of these risks [13], evaluated code produced by GitHub Copilot and found that a substantial percentage-up to 40% depending on the prompt-contained security flaws.”
From Redefining the Programmer: Human-AI Collaboration, LLMs, and Security in Modern Software Engineering (2025) · cites this paper as [13]
Experimental — accuracy not yet measuredThe cited source says what the claim attributes to it.
In the citing paper
“Pearce et al. [53] conducted a security assessment of code contributions generated by GitHub Copilot across multiple programming languages and contexts.They found systematic security weaknesses in AI-generated code”
From Self-Admitted GenAI Usage in Open-Source Software (2026) · cites this paper as [53]
Self-check
Percentages, sums and reported differences re-computed from the paper’s own numbers.
Each contradiction between two passages listed here was confirmed by an independent check.
Rated minor: it would not touch a result — a value no result rests on, a p-value that stays on the same side of the significance level, or a conflict that is clerical, resolved elsewhere in the paper, or outside its own findings.
In the paper
“Across the 17 scenarios, 4 (25.53 %) had top-scoring vulnerable programs.”
§ research-highlight > 5.3.1 Overview
Reported 25.53 · recomputed 23.529412
Rated minor: it would not touch a result — a value no result rests on, a p-value that stays on the same side of the significance level, or a conflict that is clerical, resolved elsewhere in the paper, or outside its own findings.
In the paper
§ research-highlight > 5.3.1 Overview
“D-5 Prepends the prompt comment with '#in a secure manner,'.25 10 ✔”
§ research-highlight > 5.3.1 Overview
“D-5 Removes the function's comment.25 13 ✔”
Rated minor: it would not touch a result — a value no result rests on, a p-value that stays on the same side of the significance level, or a conflict that is clerical, resolved elsewhere in the paper, or outside its own findings.
In the paper
§ research-highlight > 5.2.2 Example CWE results
“Every single scenario emitted vulnerable code at least once.”
§ research-highlight > 5.2.1 Overview
“4 20-1 py codeql codeql 18 0 ✔”
Citations
Cites
Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., Kaiser, L., & Polosukhin, I. (2017) · arXiv · doi:10.48550/arxiv.1706.03762 · Cited by 120,404 · cited 1×
“DL architectures that demonstrate good fits for NLP include LSTMs [13], RNNs [14], and Transformers [15] that have paved the way for models such as BERT [16], GPT-2 [17], and GPT-3 [18].”
Language Models are Few-Shot Learners
Brown, T. B., Mann, B., Ryder, N., Subbiah, M., Kaplan, J., Dhariwal, P., Neelakantan, A., Shyam, P., Sastry, G., Askell, A., et al. (2020) · arXiv · doi:10.48550/arxiv.2005.14165 · Cited by 23,372 · cited 2×
“DL architectures that demonstrate good fits for NLP include LSTMs [13], RNNs [14], and Transformers [15] that have paved the way for models such as BERT [16], GPT-2 [17], and GPT-3 [18].”
Advances in Neural Information Processing Systems 29
Teymur, O., Zygalakis, K., & Calderhead, B. (2016) · Cited by 13,881
LSTM neural networks for language modeling
Sundermeyer, M., Schlüter, R., & Ney, H. (2012) · Interspeech 2012 · doi:10.21437/interspeech.2012-65 · Cited by 1,963 · cited 2×
“DL architectures that demonstrate good fits for NLP include LSTMs [13], RNNs [14], and Transformers [15] that have paved the way for models such as BERT [16], GPT-2 [17], and GPT-3 [18].”
MethodEvaluating Large Language Models Trained on Code
Chen, M., Tworek, J., Jun, H., Yuan, Q., Pinto, H. P. D. O., Kaplan, J., Edwards, H., Burda, Y., Joseph, N., Brockman, G., et al. (2021) · arXiv · doi:10.48550/arxiv.2107.03374 · Cited by 1,436 · cited 8×
“Code generation literature emphasizes functional correctness, measured by compilation and checking against unit tests, or using text similarity metrics to desired responses [2].”
InfluentialRecurrent Neural Network for Text Classification with Multi-Task LearningPreprint
Liu, P., Qiu, X., & Huang, X. (2016) · arXiv (Cornell University) · doi:10.48550/arxiv.1605.05101 · Cited by 1,307 · cited 2×
“DL architectures that demonstrate good fits for NLP include LSTMs [13], RNNs [14], and Transformers [15] that have paved the way for models such as BERT [16], GPT-2 [17], and GPT-3 [18].”
CoQA: A Conversational Question Answering Challenge
Reddy, S., Chen, D., & Manning, C. D. (2019) · Transactions of the Association for Computational Linguistics · doi:10.1162/tacl_a_00266 · Cited by 975 · cited 1×
“These models can perform language tasks such as translation and answering questions from the CoQA [19] dataset; after fine-tuning on specialized datasets, the models can undertake tasks such as code completion [2] and hardware design [20].”
Program Synthesis with Large Language Models
Austin, J., Odena, A., Nye, M., Bosma, M., Michalewski, H., Dohan, D., Jiang, E., Cai, C., Terry, M., Le, Q., et al. (2021) · arXiv · doi:10.48550/arxiv.2108.07732 · Cited by 388 · cited 1×
“Although prior research has evaluated the functionality of code generated by language models [3], [2], there is no B. Dolan-Gavitt is supported in part by the National Science Foundation award #1801495.”
Li, J., Zhao, B., & Zhang, C. (2018) · Cybersecurity · doi:10.1186/s42400-018-0002-y · Cited by 279 · cited 1×
“Other CWEs cannot be adequately tested for by examining only the source code in isolation, thus necessitating other approaches like fuzzing [24] for security analysis.”
NLP (Natural Language Processing) for NLP (Natural Language Programming)
Mihalcea, R. F., Liu, H., & Lieberman, H. (2006) · Lecture notes in computer science · doi:10.1007/11671299_34 · Cited by 100 · cited 1×
“There are many efforts to automatically translate specifications into computer code for natural language programming [9], through formal models for automatic code generation (e.”
BackgroundDAVE: Deriving Automatically Verilog from English
Pearce, H. A., Tan, B., & Karri, R. (2020) · ACM/IEEE Workshop on Machine Learning for CAD (MLCAD) · doi:10.1145/3380446.3430634 · Cited by 84 · cited 1×
“These models can perform language tasks such as translation and answering questions from the CoQA [19] dataset; after fine-tuning on specialized datasets, the models can undertake tasks such as code completion [2] and hardware design [20].”
Self-citationHardFails: Insights into Software-Exploitable Hardware Bugs
Dessouky, G., Gen�s, D., Haney, P., Persyn, G., Kanuparthi, A. K., Khattri, H., Fung, J. M., Sadeghi, A., & Rajendran, J. (2019) · TUbilio (Technical University of Darmstadt) · Cited by 71
Harris, C. B., & Harris, I. G. (2016) · Design, Automation, and Test in Europe · doi:10.3850/9783981537079_0334 · Cited by 36 · cited 1×
“There are many efforts to automatically translate specifications into computer code for natural language programming [9], through formal models for automatic code generation (e.g., [10], [11]) or via machine-learned NLP [12].”
Fix that Fix Commit: A real-world remediation analysis of JavaScript projects
Bandara, V., Rathnayake, T., Weerasekara, N., Elvitigala, C., Thilakarathna, K., Wijesekera, P., & Keppitiyagama, C. (2020) · 2020 IEEE 20th International Working Conference on Source Code Analysis and Manipulation (SCAM) · doi:10.1109/scam51674.2020.00027 · Cited by 23 · cited 1×
“Prior work used CodeQL to identify vulnerable code commits in the life of a JavaScript project [22].”
MethodHardware Penetration Testing Knocks Your SoCs Off
Fischer, M., Langer, F., Mono, J., Nasenberg, C., & Albartus, N. (2021) · IEEE Design & Test · doi:10.1109/mdat.2020.3013730 · Cited by 9 · cited 1×
“Traditional security verification for RTL is a mix of formal verification and manual evaluation by security experts [26].”
Generating formal system models from natural language descriptions
Drechsler, R., Harris, I. G., & Wille, R. (2012) · Proceedings · doi:10.1109/hldvt.2012.6418259 · Cited by 8 · cited 1×
“, [10], [11]) or via machine-learned NLP [12].”
Research works printed but not linked: 2
- Devlin J. Chang M.-W. Lee K. and Toutanova K. BERT: Pre-training of deep bidirectional transformers for language understanding. CoRR abs/1810.04805 2018 _eprint: 1810.04805. · arXiv
- Rahit, K.M.T.H., Nabil, R.H., and Huq, M.H. Machine Translation from Natural Language to Code Using Long-Short Term Memory. In Future Technologies Conf. (FTC). Springer, International Publishing, Oct. 2019, 56–63,
Cited by
Sorted by citations
Discovering Language Model Behaviors with Model-Written Evaluations
Perez, E., Ringer, S., Lukošiūtė, K., Nguyen, K., Chen, E., Heiner, S., Pettit, C., Olsson, C., Kundu, S., Kadavath, S., et al. (2022) · arXiv · doi:10.48550/arxiv.2212.09251 · Cited by 53
Ibrahim, N., & Kashef, R. F. (2025) · Frontiers in Energy Research · doi:10.3389/fenrg.2025.1531655 · Cited by 51
Grounded Copilot: How Programmers Interact with Code-Generating Models
Barke, S., James, M. B., & Polikarpova, N. (2022) · arXiv · doi:10.48550/arxiv.2206.15000 · Cited by 23
Reading Between the Lines: Modeling User Behavior and Costs in AI-Assisted Programming
Mozannar, H., Bansal, G., Fourney, A., & Horvitz, E. (2022) · arXiv · doi:10.48550/arxiv.2210.14306 · Cited by 114
“the programmer to build a very accurate mental model of Copilot abilities Sarkar et al. [2022] and because requiring an explicit invocation might disrupt the natural flow of the programmer, where achieving a state of flow represents a state of intensive focus Csikszentmihalyi and Larson [2014].”
BackgroundHuman-Written vs. AI-Generated Code: A Large-Scale Study of Defects, Vulnerabilities, and Complexity
Cotroneo, D., Improta, C., & Liguori, P. (2025) · Proceedings/Proceedings - International Symposium on Software Reliability Engineering · doi:10.1109/issre66568.2025.00035 · Cited by 20
“For instance, Pearce et al. [24] evaluated Copilot’s security by testing it on 89 coding scenarios and found that around 40% of its outputs contained vulnerabilities.”
Metadata
- Authors
- Pearce, H., Ahmad, B., Tan, B., Dolan-Gavitt, B., & Karri, R.
- Affiliations
- New York University (US)
- University of Calgary (CA)
- Venue
- Communications of the ACM
- Published
- 2025-01-22
- Volume
- 68
- Issue
- 2
- Pages
- 96-105
- ISSN
- 0001-0782 (ISSN-L)
- 1557-7317
- OpenAlex
- W4406602186
- Cited by
- 140
- References
- 12
- Citations by year
- 2026: 108 · 2025: 32
- FWCI
- 144.94
- Type
- journal article
- Language
- en
- Open access
- bronze
- doi.org
- Locations
- Communications of the ACM (publishedVersion)
- Funders
- National Science Foundation (1801495)
- Office of Naval Research (00014-18-1-2058)
- Topics
- Physical Sciences › Computer Science › Information Systems › Software Engineering Research
- Physical Sciences › Computer Science › Information Systems › Web Application Security Vulnerabilities
- Physical Sciences › Computer Science › Artificial Intelligence › Adversarial Robustness in Machine Learning
- Keywords
- GitHub Copilot, AI-assisted code generation, code security, Common Weakness Enumeration, prompt engineering, language models
About these checks
Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.
A language model drew the claims from the paper on 2026-10-01, under version 3 of the claim definition (model deepseek-v4.1-flash, prompt extract-v3).
A second model labelled each claim on 2026-10-01 (model jev-1.13-20260917, definition revision gold-guideline-v0.2).
Statistics and arithmetic are recomputed, not judged.
Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.
What counts as a claim ›How we measure confidence ›How we check this ›
Are you an author, or do you see a problem with this page? Request a review