Copenhagen Programming Language Seminar


Debugging Concurrent (Logic) Programs with Abstract Interpretation

Andy King,
University of Kent, UK

Thursday, June 1st, 16:00-17:00 (!)
IT University of Copenhagen, Rued Langgaards Vej 7, Auditorium 3


The talk will explain how concurrency arises quite naturally in logic programming. In logic programming, concurrency is often often controlled with delay declarations that specify that a sub-goal is to suspend until some condition on its arguments is satisfied. Reasoning about delay declarations is notoriously tricky and it is not usual for a program and goal to accidentally reduce to a state that contains a sub-goal that suspends indefinitely. The talk will present a tool, based on abstract interpretation, that can infer a class of goals that do not lead to suspension. This approach leads to a lightweight point-and-click form of program verification in which, after directing the analyser at a file, the user merely has to inspect the results inferred by the analysis. If the results are not as expected, then the program is possibly buggy,and therefore warrants close scrutiny. The talk will explain how the tool can be used to locate several bugs in number of existing programs.

Scientific host: John Gallagher. Administrative host: Camilla Jensen. All are welcome.
The Copenhagen Programming Language Seminar (COPLAS) is a collaboration between DIKU, ITU and KVL.
COPLAS is sponsored by FIRST Graduate School.
To receive information about COPLAS talks by email, send a message to prog-lang-request@mail.it-c.dk with the word 'subscribe' as subject or in the body.

For more information about COPLAS, see http://www.coplas.org