AI Impact on Code

The research from GitClear highlights some concerns regarding the impact of AI, particularly tools like GitHub Copilot, on software development. The key findings include an increase in “code churn,” the rising percentage of “copy/pasted code,” and the potential for AI-induced technical debt.

According to the study, the percentage of lines of code discarded within two weeks of being authored is expected to double in 2024. This increase in code churn poses a higher risk of deploying mistakes into production, emphasizing the potential trade-off between speed and code quality.

The growth of “copy/pasted code” at a faster rate than other code modifications suggests that AI-generated code might resemble work from a short-term developer who doesn’t integrate their contributions thoughtfully into the overall project. This phenomenon contributes to what GitClear founder Bill Harding calls “AI-induced tech debt.”

Harding acknowledges the benefits of AI in adding code quickly, especially in isolated or greenfield projects. However, he emphasizes that hastily added code can be problematic for teams responsible for long-term maintenance. The concern is echoed by Armando Solar-Lezama of MIT, who compares AI to a “brand new credit card” enabling the accumulation of technical debt in new ways.

The study also raises potential implications for engineer compensation. If salary decisions are based on the number of lines of code changed, the combination of traditional metrics and AI tools could create incentives that lead to regrettable code submissions.

The overall impact of AI tools on software development remains uncertain. While there are benefits in obtaining custom-tailored code answers, the study emphasizes the challenge of reading poorly generated code, which can be draining for developers. McKinsey’s study mentioned in the article suggests that the productivity surge from AI coding depends on task complexity and developer experience. Maintaining code quality, according to McKinsey, requires developers to understand the attributes of quality code and prompt AI tools appropriately.

In conclusion, the use of AI in software development presents both opportunities for increased productivity and challenges related to code quality, technical debt, and developer incentives. The long-term impact will likely depend on how developers and organizations navigate these trade-offs.

 
 
 

Leave a Comment