What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

The developer verifies the change—not whether its author or reviewer was human. That means checking that the code meets the real requirements, behaves correctly in relevant situations, respects security and dependency constraints, and can be maintained and operated safely. AI suggestions, tests, and scanning tools provide evidence; the developer must decide whether that evidence is relevant and strong enough for the risks of the change.

What does “verify the change” mean?

Verification starts with the claims the change makes. If a feature is supposed to reject unauthorized access, preserve existing records, or accept a particular range of input, the developer needs evidence for those behaviors—not merely confirmation that the code compiles or that an AI reviewer found no obvious issue.

A useful way to organize the work is to connect each important requirement or risk to an observable check:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  1. State the claim. Describe the intended behavior or constraint precisely enough to check. For example: “A user without this permission cannot view the record.”
  2. Choose evidence that exercises it. Use a test, inspection, or analysis appropriate to the claim. A permission-boundary test should exercise access as both an authorized and unauthorized user.
  3. Inspect the evidence’s limits. Ask which code paths, inputs, configurations, and failure conditions the check does not cover.
  4. Record what remains uncertain. If a risk is not resolved, make that visible to the people deciding whether to release the change.

This is a practical synthesis of NIST’s recommended verification techniques, not a prescribed NIST procedure. The depth of verification should reflect the system, the change, and the consequences of failure.

Which checks provide useful evidence?

NISTIR 8397, Guidelines on Minimum Standards for Developer Verification of Software, published October 6, 2021, recommends a range of techniques. It explicitly does not cover the totality of software verification, so treat these as a broad baseline rather than a checklist that guarantees correctness.

Check What it can help reveal What it does not establish by itself
Black-box tests Whether observable behavior matches selected expected cases, including inputs and outputs. That untested cases behave correctly or that the chosen expectations fully capture the requirement.
Structural, code-based tests Whether selected internal paths or conditions are exercised. That exercised paths produce the right outcomes or that important paths were selected.
Historical tests Whether behavior covered by existing tests still works after the change. That the tests cover the new requirement or detect every unintended change.
Fuzzing How the software responds to many unusual or malformed inputs. That all possible inputs were tried or that discovered behavior is necessarily a defect.
Static code scanning Patterns associated with common bugs or other issues that the scanner is configured to detect. That the code is free from bugs, or that every alert is a real problem.
Heuristic secret checks Possible hardcoded credentials or other secrets matching the checks’ patterns. That no secret exists; detection can miss secrets that do not match a heuristic.
Threat modeling Design-level security risks, such as how a change affects trust boundaries or likely attack paths. That implementation details are correct or that every threat has been identified.
Web application scanning Some detectable issues in a running web application, when applicable. That the application is secure across configurations, user roles, and conditions the scanner did not examine.
Built-in checks and protections Whether available platform or development safeguards catch certain errors or unsafe actions. That safeguards are enabled, correctly configured, or sufficient for the system’s risks.
Dependency and included-code review Risks introduced by libraries, packages, services, or other included code. That every dependency is safe, suitable, or correctly used in the particular change.

The table describes what these methods can contribute, not guarantees. Some checks require specialist judgment to configure or interpret; a passing result only speaks to what the check actually examined.

What does an AI review establish—and what does it miss?

An AI reviewer can surface plausible defects and point a developer toward code worth examining. A clean review, however, does not show that requirements are complete, that tests cover relevant cases, or that the implementation is secure. A reviewer can only assess the context and evidence it receives, and its suggestions can themselves be wrong or incomplete.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

GitHub’s Copilot responsible-use guidance says to review and verify Copilot feedback and to supplement it with careful human review. It also cautions that generated code can be syntactically correct without being secure. Product behavior and guidance can change; the guidance cited here was retrieved October 7, 2026.

NIST’s DevSecOps reference model describes direct human supervision, including review and validation of AI-generated outputs. It also says AI-generated corrective actions should not modify software, configurations, or system state without review and approval through established processes. In practice, treat an AI finding as a lead to investigate and an AI “no findings” result as one limited input—not as approval.

How should developers decide how much verification is enough?

There is no single test suite or review pass that proves a change correct in every context. Match the evidence to the change’s likely failure modes and impact. A small change to low-impact presentation behavior may need different scrutiny from a change affecting permissions, sensitive data, or a critical service.

  • For behavior: test expected outcomes as well as meaningful boundary and failure cases.
  • For security: consider design-level threats, access boundaries, secret exposure, and relevant built-in protections.
  • For change risk: check whether existing behavior remains intact, and use structural tests or fuzzing where the input space or code paths warrant them.
  • For the surrounding system: account for included libraries, packages, services, and deployment configuration—not just the newly generated lines.
  • For every tool result: understand what the tool examined, what it could not examine, and whether its output actually supports the requirement being checked.

NISTIR 8397 supplies broadly applicable recommendations, not a complete modern standard for every team. NIST SP 800-218A, published in 2024, augments the Secure Software Development Framework version 1.1 with practices and tasks specific to developing AI models and dual-use foundation models across the software life cycle. It should not be presented as a code-review checklist for every team using a coding assistant.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Who makes the approval decision?

The developer or approving team remains responsible for deciding what the change is meant to do, which checks fit its risks, whether the results support the intended claims, and whether unresolved uncertainty is acceptable before release. AI can help produce code, tests, documentation, and review suggestions; none of those outputs validates itself. No general accuracy percentage for AI-generated code or AI code review is established by the cited NIST verification guidance or GitHub responsible-use page, so a narrow benchmark should not be treated as a general measure of reliability.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.