Software Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering

User Tools

Site Tools

ALP General Information

This course is regularly offered in the summer semester, as part of the ICM track of the CS Master's program. The course number in the master module handbook is MA-INF 3207. It should be preferably attended in the second semester of your studies.

Time Wednesday, 8:15-9:45.
Date Weekly, from April 8 to July 15 (except for May 20 1) and May 27 2))
Place Room A207, on the second floor of the “Altbau”, Römerstr. 164.
Course number (Module handbook) MA-INF 3207
Course number (BASIS) 612113207 (Course) and 612213207 (Exercises)
Credit points 6 = 2 (Course) + 4 (Exercises)
Exam information MSc
Language English
Lecturer Dr. Günter Kniesel


This course addresses students interested in software quality. It aim is to show how software software quality assessment, detection of emerging problems and automating correction of identified problems can be built on the basis of logic programming.

Although this is an advanced course, we will spend some time on logic programming foundations – to make you familiar with the used development environment, help you refresh prior knowledge and make sure that all course participants have a comparable starting level. If you have no background in logic programming you will need to invest more time in this initial phase.

The course will lay the foundations for a logic programming representation of software systems and will introduce JTransformer as a tool that automatically generates such a representation for Java programs. Based on this representation, we will learn how to easily implement software quality analyses. These analyses will be the use cases that motivate the different advanced logic programming techniques that will gradually be introduced (e.g. metaprogramming).

Finally we will learn about the approach of classic Prolog systems to program transformation, analyze its risks and embrace the alternative concept of “conditional transformations” implemented in JTransformer.

Summarizing, you will learn new things in three different areas:

  • advanced logic programming techniques,
  • advanced logic programming for software analysis,
  • advanced logic-based software and model transformation.


There will be a written exam on

  • Tuesday, July 28, 2015, from 14:00 to 16:00 in HS 1 (Römerstr. 164)
  • Monday, Sept. 28, 2015, from 10:00 to 12:00 in HS 1 (Römerstr. 164)

The second exam is for those who failed (or didn't attend) the first one. Two days after each exam there will be a chance to review your exam together with a tutor. Each exam review will take place from 10:00 to 12:00 in A107. Please wait outside until we call you in.

You must register for the exam in Basis. The deadline for exam registration in Basis will be announced by e-mail. After registration and completion of your exercises you will get a notice about your exam admittance.

Exam Review

After each of the two exam slots, you will have a chance to review your (corrected) exam. The finalized dates for the exam reviews are

  • Friday, July 31, 2015, from 09:00 to 11:00 in A 107
  • Wednesday, Sept. 30, 2015, from 09:00 to 10:00 in A 107
  • Clocksin, W.F., Mellish, C.S. (2003). Programming in Prolog Using the ISO Standard. Springer-Verlag
  • Clocksin, W.F. (1997). Clause and Effect: PROLOG Programing for the Working Programmer. Springer-Verlag.
  • Shapiro, E., Sterling, L. (1994). The Art of PROLOG. MIT Press


  • alp-staff at lets you contact the course staff (lecturers and teaching assistants).
  • alp-course at is intended for general course-related announcements and communication among the course participants. You are automatically registered in the list when you register for the course. → Further mailing list infos....
  • Mailing-List Archive (only accessible if you are subscribed to the mailinglist)
Dies Academicus
Whitsun vacation
teaching/lectures/alp/2015/start.txt · Last modified: 2018/05/09 01:59 (external edit)

SEWiki, © 2024