AI11 min read

AI-Assisted Software Development: Speed or Technical Debt?

Coding assistants speed up writing code, but they don't remove responsibility for security, licensing, testing and maintenance. We break down the difference between working code and production-ready code.
Thin cream and teal strips flowing into one pan of a scale on a stone pedestal, opposite a pile of broken coral blocks.

Need help with this?

Let’s plan your brand, web and software work with one team.

Start a Project

Used well, AI-assisted software development speeds up repetitive work; but code that "works" isn't necessarily secure, tested or maintainable. The speed gain is mostly in the writing phase. If the team skips review, testing and security checks, that gain comes back later as technical debt. In this post, we look at the real benefits of coding assistants, the security and licensing risks, and what "production-ready" code requires.

In short

  • Coding assistants save time on drafts, repetitive code and explanations. How much they save depends on the task and the team.
  • Independent studies show that security vulnerabilities are common in AI-generated code.
  • Models can suggest package names that don't exist. This opens the door to supply chain attacks.
  • Licensing and provenance uncertainty is a separate item to check during code review.
  • Testing, review, security scanning and documentation close the gap between "it works" and "production-ready."

What do AI coding assistants do?

The tools software teams use for AI-assisted software development today work in roughly three ways:

  • Inline suggestions (autocomplete): As you type, the tool suggests the next lines or the rest of a function.
  • Chat: You ask questions about code, paste an error message, or ask for an explanation or a rewritten version of a function.
  • Agent mode: Based on the task you give it, the tool can read and modify multiple files, run commands and run tests.

GitHub Copilot, Cursor, Claude Code, OpenAI Codex and Gemini Code Assist are some of the common tools in this space. In this post, we look not at a specific tool but at what these tools have in common.

This approach also has a popular name: "vibe coding." Collins Dictionary chose the term as its word of the year for 2025, defining it as "the use of artificial intelligence prompted by natural language to assist with the writing of computer code." Andrej Karpathy, who popularized the term, described it as building apps while "forgetting that the code even exists." For a quick prototype, this approach can work. But for a system that handles customer data, forgetting the code exists means forgetting the responsibility.

Does AI-assisted software development really speed things up?

The answer: it depends. There are a few independent studies on this that need careful interpretation:

  • METR (July 2025): In a randomized controlled trial with 16 experienced open-source developers, participants took on average 19% longer to complete tasks where AI tools were allowed. More interestingly, even after the work, the developers believed AI had made them about 20% faster. The researchers stress that the sample was small and that the results apply only to those conditions.
  • METR (February 2026 update): In a new measurement with late-2025 tools, the estimates this time pointed toward a speedup, but the confidence intervals are wide. METR states that the data is "very weak evidence" for the size of the speedup and that, because of issues with participant selection, the estimate isn't reliable.
  • DORA 2025 report: According to the survey of nearly 5,000 technology professionals, AI's main role in software development is as an amplifier: it magnifies both the strengths of high-performing teams and the problems of struggling ones.

The practical takeaway from these findings: feeling faster and being measurably faster aren't the same thing. If your team has a solid review and testing process, AI speeds that process up. If it doesn't, AI speeds up the problems too.

Security: how secure is AI-generated code?

Known vulnerability types

In research published by Veracode in July 2025, researchers gave more than 100 language models 80 coding tasks with potential for security vulnerabilities. The result: in 45% of the tasks, the models produced code containing a vulnerability from the OWASP Top 10 categories. On tasks requiring protection against cross-site scripting (XSS), the failure rate was 86%. According to the report, larger models weren't noticeably better at security than smaller ones.

This doesn't mean "half of AI-written code is insecure." Rather, it's a rate the researchers measured on a controlled set of tasks. But it clearly shows this: code may compile and run and still contain a security vulnerability.

Packages that don't exist ("slopsquatting")

A study published at USENIX Security 2025 analyzed 576,000 code samples produced by 16 code-generating models. Some of the suggested packages didn't actually exist: the rate was at least 5.2% on average for commercial models and 21.7% for open-source models. In total, the researchers identified 205,474 unique made-up package names.

Why does this matter? Attackers can register package names that models frequently invent on registries such as npm or PyPI, with malicious code inside. Security researchers call this attack "slopsquatting." If a developer runs the suggested install command without checking it, the malicious code gets into the project. This risk grows especially in agent mode, where the tool can run commands.

Secrets and personal data

Whatever you paste into a coding assistant is also a form of data sharing. API keys, database passwords and sample files containing customer data shouldn't go into these tools. We explained the principles to follow in software that processes personal data in our post on software development compliant with Turkey's Personal Data Protection Law (PDPL, Law No. 6698).

Four checkpoint gates for AI-assisted software development, with a magnifying glass, measuring tools, components and a shield along a line from a coral input tray to a teal output tray.
Suggested code should pass through the same checkpoints before it enters the main branch.

Licensing: whose code is this?

There are two separate questions:

1. Does the suggested code come from another project? Models can suggest snippets that closely resemble the open-source code they were trained on. The license of that code (e.g. "copyleft" licenses such as the GPL) may impose obligations on your project. Some tools offer safeguards for this. For example, GitHub Copilot's "code referencing" feature compares suggestions against public code on GitHub. Depending on the organization's settings, it either blocks a matching suggestion or shows it with source and license information. According to GitHub, such matches occur in less than one percent of suggestions, and private repositories and code outside GitHub aren't included in the comparison. In short, this filter helps but doesn't replace a license check.

2. Who owns the rights to the generated code? In Turkey, the Law on Intellectual and Artistic Works (FSEK, Law No. 5846) classifies computer programs as scientific and literary works and defines the author as "the person who creates the work." The law has no specific provision on AI output. That's why the rights status of code written with AI assistance is debatable. Practical advice: if you're commissioning software, make sure the contract explicitly states ownership of the source code, the third-party components used and their licenses.

Why are testing and code review indispensable?

AI produces code fast. That also means more code that needs reviewing. When review and testing fall behind this pace, the team ends up with a codebase no one fully understands.

A good process usually includes:

  • Tests first or alongside: When you ask AI for code, ask for tests too, but check that the tests actually measure the right thing. A model can also write a test that "passes" its own faulty code.
  • Human review: Someone who understands each change should read it. "AI wrote it" is not a reason to skip review.
  • Automated checks: Static analysis (SAST), dependency scanning, secret scanning and type checking should run before code enters the main branch.
  • Small changes: Small, reviewable pieces instead of changes hundreds of lines long at once.

The difference between "it works" and "production-ready"

Area"It works""Production-ready"
ScenariosCorrect result for the expected inputCorrect behavior for faulty, incomplete and malicious input too
SecurityLooks fine at a glanceInput validation, authorization and security scanning done
DependenciesPackage installed, code compiledPackages checked for existence, freshness and license
TestingTried by hand onceAutomated tests exist and run continuously
Error handlingThe app stops when there's an errorErrors are logged and the user gets a meaningful message
PerformanceFast with little dataMeasured with real data volumes
MaintenanceThe person (or tool) who wrote it understands itSomeone else on the team can read and change it; documentation exists
DataWorks with sample dataPersonal data, backup and retention rules have been considered

AI produces the left column very quickly. The right column still requires engineering discipline. There's a similar distinction with off-the-shelf AI website builders, which we covered in our post on AI website builders.

How does technical debt build up?

Technical debt means the compromises you make to move fast today, which you pay back later with more effort. In projects written with AI, it typically builds up like this:

  • Functions that do the same job, look similar but are written differently multiply.
  • Since no one fully understands the code, people are reluctant to change it.
  • Untested code breaks something else with every change.
  • Unnecessary or outdated dependencies pile up.

The easiest moment to notice this debt is when the project moves to another team. We explained what to look at during a handover in our post on taking over and maintaining software.

Our experience

We build our own products with different technologies: AquaCRM for water treatment service companies with PHP 8.2 and Laravel 12; the Label Job Tracking Assistant for roll label manufacturers with Next.js 15, React 19, TypeScript and PostgreSQL 16; and the education platform Grafik Sanat with React 19, TypeScript and Supabase. These products process real business data. For example, in AquaCRM each subscribing company works in its own isolated data space. In systems like these, the cost of a bug is much higher than a bug in a prototype.

That's why our approach to AI-assisted tools is this: suggested code goes through the same review and testing process as hand-written code. We don't share customer data or secret keys with these tools. When the tool suggests a package or library, we check that it exists, how well it's maintained and its license. We try to get the speed gain without skipping the checks.

Frequently asked questions

Can an app written with AI go live?

Yes, as long as it has gone through testing, security checks and review, regardless of who or which tool wrote the code. The problem isn't using AI; it's skipping these steps.

Can someone who isn't a developer build their own app with AI?

Simple prototypes for personal or internal use are possible. But for an app that handles customer data, payments or personal data, someone who can read and evaluate the code needs to be involved. Otherwise, there's no way to spot security vulnerabilities.

Can AI do code review too?

It can help: it can flag likely bugs, missing tests or risky patterns. But an AI review can be wrong too. It should support human review, not replace it.

Should I ask about AI use when working with a software company?

Yes, it's a reasonable question. You can ask which tools are used, whether your data is shared with these tools and what checks the code goes through. Ownership of the source code and the licenses of the components used should be in the contract.

Conclusion

Coding with AI is neither a magic accelerator nor a risk to avoid from the start. It's a tool that speeds up the writing phase. The real question is whether testing, review, security and license checks keep up with the faster writing. With these steps in place, the gain is real. Without them, the time saved today comes back tomorrow as technical debt.

If you're planning a new software project or want to assess whether an app developed quickly with AI is ready for production, take a look at our software development service or get in touch with us. And for a look at where AI is useful in businesses, see our post on AI for business.

Sources8
  1. METR, "Measuring the Impact of Early-2025 AI on Experienced Open-Source Developer Productivity" (10 July 2025) metr.org
  2. METR, February 2026 update (new measurement with late-2025 tools) metr.org
  3. Google / DORA, "2025 State of AI-assisted Software Development Report" research.google
  4. Veracode, "AI-Generated Code Poses Major Security Risks in Nearly Half of All Development Tasks" (30 July 2025) veracode.com
  5. Spracklen et al., "We Have a Package for You! A Comprehensive Analysis of Package Hallucinations by Code Generating LLMs", USENIX Security 2025 usenix.org
  6. GitHub Docs, "Code referencing" docs.github.com
  7. Law No. 5846 on Intellectual and Artistic Works [5846 sayılı Fikir ve Sanat Eserleri Kanunu] (Art. 1/B, 2, 8) mevzuat.gov.tr
  8. CNN (via KVIA), "'Vibe coding' named Collins Dictionary's Word of the Year" (6 November 2025) kvia.com
LinkedIn
WhatsApp
X
Facebook

Start a Project

Tell us about your project.

Fill in the form and we’ll get back to you within one business day with a roadmap tailored to you. You can also write to us directly at info@artsution.com.tr.