Bachelorseminar: Machine Learning in Software Engineering

Beschreibung

Machine learning techniques have been very successful in the last decade in various fields.
There are multiple research fields concerned with their application to software engineering. Examples include: Smart code completion and coding assistance, automatic translation between programming languages, learning algorithms from input/output examples, and automatic repair of bugs in code.

This seminar offers motivated students the opportunity to learn about a selection of these applications

In this seminar, students will be assigned a topic and will be given a scientific article on that topic. They are expected to read the paper, understand the idea, and research related material on their own. At the end, each student has to write a report and give a presentation explaining what they have learnt.

Organization:

This seminar give 3 ECTS points.
The language of communication is English. Students are expected to communicate with the mentors, give the presentation, and write the report in English.
We will meet every week to discuss the progress and issues faced by students. In this context, students are required to actively participate and present their progress on a weekly basis.
We aim to do the meetings in presence if the situation allows. Otherwise the meetings will be online.

Prerequisite courses:

Basic knowledge in machine learning

Schedule:

  • 28 27 Apr: Introductory meeting to discuss seminar organization
  • 21 Jul: Submission of the final report
  • 21-23 or 28-30 Jul: Block seminar. Final dates will be announced by the end of June.

Requirements to pass the course:

  • Presentation of around 25 minutes
  • Written report of 6-8 pages in a given format, without bibliography.

Each student is responsible on their own to follow the rules of good scientific practice. Please ask mentors in case of a doubt. Plagiarism will lead to failing the seminar.

List of topics

  1. On the Naturalness of Software
    - https://discovery.ucl.ac.uk/id/eprint/1505799/1/Barr_On%20the%20Naturalness%20of%20Software%20-%20E%20Barr.pdf
  2. On the “Naturalness” of Buggy Code
    - https://arxiv.org/pdf/1506.01159.pdf
  3. Learning to Generate Pseudo-Code from Source Code Using Statistical Machine Translation
    - https://ieeexplore.ieee.org/abstract/document/7372045
  4. Neural-machine-translation-based commit message generation: how far are we?
    - https://dl.acm.org/doi/abs/10.1145/3238147.3238190
  5. A Convolutional Attention Network for Extreme Summarization of Source Code
    - http://proceedings.mlr.press/v48/allamanis16.pdf
  6. Learning Natural Coding Conventions
    - https://arxiv.org/pdf/1402.4182.pdf
  7. Mining Idioms from Source Code
    - https://dl.acm.org/doi/abs/10.1145/2635868.2635901
  8. Learning Syntactic Program Transformations from Examples
    - https://arxiv.org/pdf/1608.09000.pdf
  9. Evaluating Large Language Models Trained on Code
    - https://arxiv.org/pdf/2107.03374.pdf
  10. Sequencer: Sequence-to-Sequence Learning for End-to-End Program Repair
    - https://arxiv.org/pdf/1901.01808.pdf
  11. Learning to represent programs with graphs
    - https://arxiv.org/pdf/1711.00740.pdf
  12. Neural Turing Machines
    - https://arxiv.org/abs/1410.5401
Institut
Institut für Informatik
Dozent:in
Assistent:innen
Kursteilnehmer:innen
12 von 12
Zentralanmeldung
Bachelorseminare
Material

Das Kursmaterial ist nur für Mitglieder des Kurses einsehbar, also z.B. für Teilnehmer:innen, Tutor:innen, Korrektor:innen und Verwalter:innen.

Prüfungen
NameAnmeldung abAnmeldung bisTerminPrüfungsanmeldung
Mi 27 Jul 2022 14:00 – Fr 29 Jul 2022 15:00
Nicht zur Prüfung angemeldet
Termine
ArtZeitRegulärer RaumNotiz
Seminar Meeting
  • Mi 27 Apr 2022 16:00–18:00
U139