Artificial Intelligence for Coding Assistance
Coding Assistance (CA) refers to automated tools that help with developer tasks like code completion, bug detection, etc., like the ones we get access to using our favorite IDEs like IntelliJ or VS Code. Recently, there has been a surge of research into utilizing artificial intelligence (AI), especially deep neural networks and transformers, to assist with code completion. The most famous manifestation of this is GitHub Copilot. However, these approaches also have similar challenges, primarily because they rely on code in the wild to learn, which has its own issues, like bugs, vulnerabilities, and privacy concerns. In this context, it is of paramount importance to understand the state of the art in the field of AI for coding assistance and work on future research.
In this seminar, we will explore current scientific work in the area of applying AI for CA. Under the guidance of one of our supervisors, you will work on different topics in small groups. Details on the available topics will be announced at the first event. We provide you with an introduction to your topic and some starting resources. You will then explore your topic, find further resources, and summarize and discuss your findings in a short paper. We encourage you to develop and outline new ideas in your paper that could advance the current state of the art. At the end of the seminar, you will present your findings to the other participants.
Learning Outcomes
The students develop a deeper understanding of artificial intelligence for coding assistance. The students learn to work with scientific content and to develop new research ideas, expanding on previous work. This involves literature research and scientific writing practice. The students develop the ability to collaborate on scientific writing.
What to Expect
When considering participating in this seminar, take the following things into consideration:
- There will be an application process. Due to the high demand, we cannot guarantee that everyone will be accepted.
- This seminar is not just about summarizing a given paper. You will be provided with a starting paper, and it is your task to research related works. In your seminar report, we expect you to connect, compare, and criticize the papers you selected, as well as to discuss the bigger picture and propose your own ideas to advance the state of the art in the area your papers fall into.
- We will let you work quite independently and give you a lot of freedom when it comes to the contents and structure of your report. If you prefer strict guidelines, this seminar may not be for you. As a rule of thumb, if something is underspecified, either option is OK; if your supervisor doesn’t complain about something, they are fine with it.
- You won’t have regular meetings with your supervisor. Instead, it is your responsibility to contact them proactively whenever you have questions or want to talk to them.
Moodle
Please also enroll in our Moodle course. It will be used for submissions and provides a forum for discussing questions.
Supervisors
This seminar is provided to you by the Software Technology Group of the Technical University of Darmstadt.
When sending us emails, please start the subject with “[AI4CA]”.