Main Content

Machine Learning in Software Engineering

To support software development, there is a wide range of tools for each phase of development. Classic tools are usually based on formal principles such as syntax analysis or type analysis. Meanwhile, however, machine learning methods are increasingly available for use in development tools. A well-known example are so-called code recommender, which learn from code examples the use of a certain API and can suggest thereby during the development of new programs applicable code completions. Other examples are automatic debugging, generation of documentation and detection of refactorings or design patterns that have been applied.

This seminar will present machine learning techniques that are suitable for use in software development tools. Also, examples of such tools will be presented and contrasted.

Qualification goals

  • Overview of current research topics on software development tools and machine learning.
  • Understanding and preparation of recent publications in English.
  • Preparation and delivery of a scientific presentation, including discussion.
  • Writing of a seminar paper.

Organizational

Lecturers: Prof. Bockisch, Prof. Taentzer
Meeting dates under module number: LV-12-079-406 (further dates by individual arrangement)
SWS: 2, credit points: 3

Prerequisites: None.

Deliverables: Lecture (weight: 1 credit) with written elaboration of a topic (weight: 2 credits).

Additional notes: Current information and announcements about the lecture are generally published in the corresponding Ilias group.