Friday, April 18, 2025

AI and Computer Programming


Computer Science faculty have been dealing with AI tools and coding before the vast popularity of generative AI (Gen AI) in 2023. Since that popularity, there has been much attention to how AI will transform software development and coding.

Pros of AI Assisted Programming

Specifically, proponents of Gen AI identify key benefits that it offers. These include:
 
  • Decrease coding time: Programmers in code up to twice as fast using generative AI (Deniz et al, 2023).
  • Higher Satisfaction: 60-75% of programmers have reported that using AI felt more fulfilled with their job. Likewise, 73% stated that AI assisted their focus and 87% stated that they benefited from the reduced mental effort form repetitive tasks (Kalliamvakou,2024). The increase rate of adopting the suggestions from AI also correlates with the programmers perceived satisfaction (Ziegler et al, 2022).
 
However, it is important to note that perceived satisfaction from surveys may contain biases that is not the same as quantitative research on productivity and programmer focus (Moore, 2024b)


Cons of AI Assisted Programming

However, there are also significant costs that come with using gen AI to code. A few of these costs include:
  • Security: Programmers who use AI for assisting coding are more likely to introduce security vulnerabilities in their code (Perry et al, 2023). Those investing in repeated inquiries and examining the AI generated code could off-set this increase, but at a cost of time saved by using AI.
  • Productivity: There has been no productivity gain and potentially some serious downsides. First, programmers using gen AI had a 41% increase in their bug rate (Moore, 2024a). This creates a greater need to debug the code created.
  • Satisfaction and Burn-out: Controlled for sustained effort, the extended worktime outside of standard times shows that there was no reduction of the rate of burn-out from programmers when using AI. (Moore, 2024c)
These costs suggest that whatever perceived benefits of using Ai to code can be off-set by the increased time debugging and examining the code it generates.

The appealing nature of AI coding tools to create vast amounts of code poses long-term danger: as developers get accustomed to the perceived speed of the AI tools, they may gain false confidence and rely on them to program and review code more. This will perpetrate more bugs and will be amplified by code that is not documented. There will also be a skill loss in organizations.

Tips When Using AI Assisted Programming

If one is going to use Gen AI to assist with programming, it is important to understand its limitations. This entails:

  • Repeatedly examine the code for bugs and errors. Gen AI repeatedly produces code with errors. These errors do not reduce when increasing its prompts. In some cases, AI produced twice as many errors and took longer to patch errors (Jesse, 2023).
  • Do not rely on Gen AI for the most difficult programming issues. AI increasingly creates unsatisfactory code the harder the problem becomes. This is also the case when working with specific organizational content. Since the AI was not trained on the specific content, it regularly creates errors that prefer its training data and not solving the problem in within the organizational context (Moore, 2024b).
Given these needs, programmers need to leverage their skills to monitor code to reduce the error rates. Producing less bugs and security issues in the final product will be the hallmark of desired programmers. This will also leverage programming expertise against the speed of dubious code produced by Gen AI and ensure that skilled programmers will be more preferable than those that rely on Gen AI to produce their final product.

How Does that Affect Education?

If decisions are not made soon, educators will lose the ability to shape future programmers and face future challenges to come (Becker, et al, 2023). Responsible educators must remind their students of critical issues associated with coding with AI. Further they need to produce learners who can assess and reflect on Gen AI as a tool instead of a solution.

References

Becker, B, Denny, James, P, Finnie-Ansley, J, Luxton-Reilly, A., Prather, J, and E. Antonio Santos (2023). Programming Is Hard - Or at Least It Used to Be: Educational Opportunities and Challenges of AI Code Generation. In Proceedings of the 54th ACM Technical Symposium on Computer Science Education V. 1 (SIGCSE 2023). Association for Computing Machinery, New York, NY, USA, 500–506.

Cui, Z, Demirer, M, Jaffe, S, Musolff, L, Peng, S, and T. Salz (2025) The Effects of Generative AI on High-Skilled Work: Evidence from Three Field Experiments with Software Developers Feb 10

Deniz B.K. Gnanasambandam, C, Harrysson, M, Hussin, A and S. Srivastava (2023) Unleashing developer productivity with generative AI. McKinsey Digital. June.

Jesse, K, Ahmed, T, Devanbu, P, & E. Morgan. (2023). Language Models and Simple, Stupid Bugs. Zenodo.  Feb. 25.  

Kalliamvakou, E (2024) Research: quantifying GitHub Copilot’s impact on developer productivity and happiness. GitHub.

Meyer, A, Fritz, T, Murphy, G, and T. Zimmermann. (2014). Software developers' perceptions of productivity. In Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE 2014). Association for Computing Machinery, New York, NY, USA, 19–29.

Perry, N, Srivatava, M, Kumar, D, and D, Boneh (2023) Do Users Write More Insecure Code with AI Assistants?. In Proceedings of the 2023 ACM SIGSAC Conference on Computer and Communications Security (CCS ’23), November 26–30, 2023, Copenhagen, Denmark. ACM, New York, NY, USA.

Ziegler, A, Kalliamvakou, E, Li, A, Rice,A, Rifkin,D, Simister, S, Sittampalam, G, and E.Aftandilian. (2022) Productivity Assessment of Neural Code Completion. In Proceedings of the 6th ACM SIGPLAN International Symposium on Machine Programming (MAPS ’22), June 13, 2022, San Diego, CA, USA. ACM, New York, NY, USA

No comments:

Post a Comment

Micro-Feedback

 Data and Assessing Courses When we teach, either online courses or in the classroom, gathering information for assessment is critical to im...