Using artificial intelligence (AI) to write source code is soon to be reality. One research areais to use AI to automatically generate a patch that fixes a bug. However, most such tools onlygenerate the patch without any natural language description of it, making it difficult for thereviewer to understand the patch. Therefore in our work, we aim to develop a program thatgenerates descriptions of code patches generated by artificial intelligence. The program takestwo Java files as input and analyses the differences in the abstract syntax tree representationsof the code. First, the program finds what changes have been made and where those changesare located. Then, it generates a description of the change. The program has been tested on 50patches from open-source projects from GitHub. The generated comments were comparedwith comments generated by ChatGPT as well as those written by humans in a survey. Thesurvey also asked the participants to rate how useful the generated comments were in helpingthem understand the patches generated by artificial intelligence. The result shows that thecomments generated with our approach received 34.7 % of the participant votes whereas theexisting human-written descriptions received 20.8 % of the votes, although the generateddescriptions were sometimes thought to be too long when describing simple changes. Theprogram-generated descriptions were also rated a 3.09 out of 5 on average in how helpfulthey were in understanding patches generated by artificial intelligence.
Användandet av artificiell intelligens (AI) för att skriva källkod börjar bli verklighet. Ettforskningsområde är användandet av AI för att automatiskt generera en programkorrigering till en bugg. Många av dessa verktyg genererar dock programkorrigeringar utan någonbeskrivning på naturligt språk, vilket gör det svårt för granskare att förståprogramkorrigeringen. Därför syftar detta projekt till att utveckla ett program som genererarbeskrivningar av programkorrigeringar genererade av artificiell intelligens. Programmet tartvå Java-filer som indata och analyserar skillnaden mellan de abstraktasyntaxträdsrepresentationerna av dessa. Först hittar programmet vilka ändringar som hargjorts och var i programmet dessa finns. Därefter genereras en beskrivning av ändringen.Programmet har testats på 50 programkorrigeringar från projekt med öppen källkod påGitHub. De genererade kommentarerna jämfördes med kommentarer genererade avChatGPT, utöver kommentarer skrivna av människor, i en enkät. Deltagarna i enkäten fickockså bedöma hur hjälpsamma de genererade kommentarerna var för att kunna förståprogramkorrigeringar skapade av artificiell intelligens. Resultatet visar att beskrivningarnagenerarade med vårt tillvägagångssätt fick 34.7 % av deltagarnas röster medan de redanexisterande beskrivningarna skrivna av människor fick 20.8 % av rösterna, men degenererade kommentarerna ansågs ibland vara för långa när små ändringar skulle beskrivas.De genererade beskrivningarna rankades som 3.09 av 5 i hjälpsamhet för att förståprogramkorrigeringar genererade av artificiell intelligens.