AI-Assisted Code Generation Tools: A New Frontier in Software Development


Md. Fakhruddin Gazzali (FGZ)

Lecturer

fakhruddin.gazzali@bracu.ac.bd

Synopsis

 

The primary objective of this research is to explore the potential of Artificial Intelligence (AI) in assisting and automating the process of code generation. The study aims to understand the current state of AI-assisted code generation tools such as GitHub Copilot, Amazon CodeWhsiperer, Codeium, CodeGeeks, etc, their efficiency, and their impact on software development practices.


Relevance of the Topic

 

As the field of software development continues to evolve, the demand for efficient and automated solutions is ever-increasing. AI-assisted code generation tools have emerged as a promising solution, offering the potential to automate the tedious and time-consuming task of writing code. These tools leverage AI algorithms to generate code based on user inputs, significantly reducing the time and effort required in software development. This research will delve into the intricacies of these tools, their capabilities, and their implications for the future of software development.

 
The research will employ a mixed-methods approach, combining both qualitative and quantitative research methods. The qualitative aspect will involve a comprehensive literature review of existing studies and articles on AI-assisted code-generation tools. The quantitative aspect will involve the use of surveys and interviews with software developers and industry experts to gather first-hand information about their experiences and perceptions of these tools. The research may also involve a comparative analysis of different AI-assisted code-generation tools in terms of their efficiency, accuracy, and ease of use.


Future Research/Scope

 

  • Performance Optimization: Future research could focus on how to optimize the performance of AI-assisted code generation tools, including improving the speed of code generation and the efficiency of the generated code.
  • Customization and Personalization: Research could explore how these tools can be customized or personalized to better meet the needs of individual developers or teams.
  • Integration with Other Tools: Another potential area of research is how AI-assisted code generation tools can be integrated with other software development tools, such as integrated development environments (IDEs) or version control systems.

 


Skills Learned

 

  • Advanced AI Understanding: Developing a deep understanding of AI algorithms used in code generation tools, including machine learning and natural language processing techniques.
  • Code Evaluation: Gaining the ability to critically evaluate the quality and efficiency of code generated by AI, including its readability, maintainability, and performance.
  • Quantitative Research: Enhancing skills in conducting quantitative research, including designing surveys, conducting structured interviews, and performing statistical analysis.
  • Technical Writing: Improving the ability to communicate complex technical concepts in a clear and concise manner, particularly in writing the thesis and any subsequent publications.

Relevant courses to the topic

 

  • Artificial Intelligence: This course provides a fundamental understanding of AI concepts, which is crucial for understanding how AI-assisted code-generation tools work.
  • Software Engineering: This course provides knowledge about software development practices, which will be useful in understanding the context in which these tools are used.
  • Data Structures and Algorithms: Understanding data structures and algorithms is essential for evaluating the efficiency of the code generated by these tools.
  • Machine Learning: As many AI-assisted code generation tools leverage machine learning algorithms, knowledge from this course will be beneficial.
  • Programming Languages: Courses on various programming languages will provide the necessary background to understand and evaluate the code generated by these tools.

 


Reading List

 

  • Nguyen, Nhan, and Sarah Nadi. "An empirical evaluation of GitHub copilot's code suggestions." Proceedings of the 19th International Conference on Mining Software Repositories. 2022.(https://doi.org/10.1145/3524842.3528470)
  • Yetistiren, Burak, Isik Ozsoy, and Eray Tuzun. "Assessing the quality of GitHub copilot’s code generation." Proceedings of the 18th International Conference on Predictive Models and Data Analytics in Software Engineering. 2022.(https://doi.org/10.1145/3558489.3559072)
  • Denny, Paul, Viraj Kumar, and Nasser Giacaman. "Conversing with Copilot: Exploring prompt engineering for solving CS1 problems using natural language." Proceedings of the 54th ACM Technical Symposium on Computer Science Education V. 1. 2023. (https://doi.org/10.1145/3545945.3569823)

 



©2024 BracU CSE Department