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. The course can also be attended by diploma students.
| Time | Wednesday, 8:15-9:45. |
|---|---|
| Date | Weekly, from April 11 to July 11 (except for May 23 and May 30) |
| 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) |
| Diploma category | B (DPO 1998) / B3 (DPO 2003) |
| Exam information | MSc / DPO 2003 / DPO 1998 |
| Language | English |
| Lecturer | Dr. Günter Kniesel |
Exams
There will be oral exams on:
| Wednesday, July 18th | 9 | 9:45 | 10:30 | 11:15 | 12 | 12:45 | 14:30 | 15:15 | 16 | 16:45 |
|---|---|---|---|---|---|---|---|---|---|---|
| Thursday, July 19th | 9 | 9:45 | 10:30 | 11:15 | 12 | 12:45 | 14:30 | 15:15 | – | – |
| Friday, July 20th | 9 | 9:45 | 10:30 | 11:15 | 12 | 12:45 | 14:30 | 15:15 | 16 | 16:45 |
You can apply for an exam slot via your tutor, when it is clear that you have fulfilled the prerequisites for being admited to the exam.
Contents
This course adresses students interested in software quality. It aim is to show how software software quality assesment, detection of emerging problems and automating correction of identified problems can be built on the basis of logic programming.
Since this is an advanced course, we will not spend too much time on logic programming foundations – just a few short sessions that should 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 arbitrary software systems and will introduce JTransformer as a tool that automatically generates such a representation for arbitrary Java programs. With JTransformer, we will implement various software quality analyses. These analyses will be the use cases that motivate the different advanced logic programming techniques that will gradually be introduced (for instance, metaprogramming, abstract interpretation and partial evaluation).
Finally we will learn about the approach of classic Prolog systems to program transformation, analyse its risks and embrace the alternative concept of “conditional transformations” implemented in the CTC and 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.
Menu
Recommended books
- Clocksin, W.F. (1997). Clause and Effect: PROLOG Programing for the Working Programmer. Berlin: Springer-Verlag. - available at amazon within a few days
- Bratko, I. (1986). PROLOG: Programming for Artificial Intelligence. Addison-Wesley. - out of print, a new edition is announced for November 2009.
- Shoham, Y. (1994). Artificial Intelligence Techniques in PROLOG. Morgan Kaufmann. - out of print
- Shapiro, E., Sterling, L. (1994). The Art of PROLOG. MIT Pr. - availably at amazon
- Clocksin, W.F., Mellish, C.S. (2003). Programming in Prolog Using the ISO Standard. Berlin: Springer-Verlag - available at amazon
Contact
- alp-staff at lists.iai.uni-bonn.de lets you contact the couse staff (lecturers and teaching assistants).
- alp-course at lists.iai.uni-bonn.de is intended for general course-related announcements and communication among the course participants. Please register yourself at https://lists.iai.uni-bonn.de/mailman/listinfo.cgi/alp-course. Further mailing list infos....
- Mailing-List Archive (only accessible if you are subscribed to the mailinglist)

