Experts Debate Pros and Cons of AI-Assisted Coding

As AI technology continues to remain an important part of the tech sector development, new tools have emerged that can hopefully provide additional use cases of AI such as in video creation, content writing, and coding. With these new technologies, there are also new debates about using this technology and whether it truly benefits humans.

None of this is more visible than with coding. The debate here has been hotly contested due to the role that coding plays in maintaining a platform’s security and function. Keeping good code requires careful placement and regular maintenance by an IT expert. Whether an AI can provide these qualities remains to be seen.

How Coding Works

At the heart of the online world are lines and lines of code. Depending on how complex the software is, there could be between thousands to millions of lines of code. All of these codes depend on a reusable library along with other components with Application Programming Interface or APIs.

These codes are often created and checked manually by IT experts and such a job can require long hours of work, even for experienced coders. However, some tools have emerged that can streamline the process by providing automated code for the software, reducing the need for coders to type them down.

Among these tools is artificial intelligence, with many AI models now offering coding assistant functions such as GitHub CoPilot or ChatGPT. The idea of automating coding is a popular one as 92% of all US-based software developers admit to using GitHub in some parts of their coding process.

How AI Coding Works

All AI models function the way they do through training using large code datasets. These datasets explain how to complete blocks of code by showing the correct order of code. Theoretically, this allows them to write, review, and debug code.

When the coder is placing blocks of code, the assistant will recommend autocomplete suggestions for what should come next. Unlike autocomplete for typing, these are not random suggestions, but the AI reviewing your work and making suggestions based on that context. This would hopefully increase the AI accuracy.

Aside from predicting what you want, the model should also be able to notice errors and suggest corrections or provide examples of more efficient coding options.

That is the most common method for coding, but some assistants are even more dynamic and can create entire blocks of code. This works by the coder placing a prompt of what they hope the code will do and the AI will create a code that can achieve that.

With these suggestions, the coder should hopefully be able to turn out code faster than before. Some programmers seem to think so as one project manager working in Deloitte claims that he was able to use AI coding to create an app in less than a month.

The Dangers of AI Coding

While the automation process is undoubtedly faster, whether it is reliable is another question. GitClear conducted a study that questions the quality of code generated. While they might reduce the amount of mundane and redundant tasks, the questions of quality and security remain a serious issue.

Despite the benefits, a new study by GitClear has taken a critical stance on coding, analyzing 150 million lines of code and noting that AI-generated code has more issues than human-made ones. This is because while faster, there is also more bad code that should not be added.

One person who remains concerned about this is Karthik Sj, VP of Product Management & Marketing at Aisera.

“In terms of quality, the underlying LLMs are far from perfect, and the results can be unpredictable in some cases. This is why developers should always review the code generated.”

-Karthik Sj, VP of Product Management & Marketing at Aisera.

Speed is far from the only factor necessary for creating quality code. If software creators only focus on making code faster, it can lead to issues such as technical debt, complexity, redundancy, and maintenance problems.

These may slow down the platform functions and make coders’ work difficult as they must sift through lines of code that they have less knowledge of this code.

Nazmul Hasan, founder & CIO at AI Buster, concurs with Gitclear with their concerns about AI-powered code.

“Integrating AI coding assistants into my workflow has had mixed impacts on code maintainability and readability. These assistants streamline coding and help uphold standards, but there’s always a risk that the AI-generated code might not align with my project’s specific guidelines or be easily understood by my teammates. I’ve observed instances where this led to inconsistencies and introduced technical debt. It’s become clear to me that while leveraging AI for efficiency, it’s equally important to ensure the code remains clean, well-documented, and consistent with our architectural principles​​​​​​.”

-Nazmul Hasan, founder & CIO at AI Buster.

The concern of AI coding also comes into play with different organizations becoming dependent on AI coding assistants. Studies by Cornell University have shown that AI-generated code tends to be less secure than purely human-written code. These have fewer security measures and less dynamic capabilities. A reason for this is that many programmers believe that the code is secure without checking it.

The success of AI coding is not just dependent on the AI itself, but also on outside factors like the type of software it creates, its complexity, the domain of the code, and the level of human attention.

All of these have raised some interesting points by David Brauchler, principal security consultant at NCC Group.

“We also need to consider that these systems are not trained to generate good code. They’re trained to generate humanlike code, including its flaws, assumptions, and vulnerabilities. And it’s very possible that as these models consume more data, they’ll infer more about the kinds of mistakes people make when writing code, leading to difficult-to-detect issues.”

– David Brauchler, principal security consultant at NCC Group.

All of this shows the dangers and potential of coding. The geniusOS team has paid close attention to these developments as we integrate new AI tools into our arsenal. While we have seen the potential of AI coding, we acknowledge the danger that comes with using AI tools recklessly and constantly monitor what we create.