מיכאל קודיש

אקדמי בכיר

Suspension Analyses for Concurrent Logic Programs

Michael Codish, Moreno Falaschi, Kim Marriott

Concurrent logic languages specify reactive systems which consist of collections of communicating processes. The presence of unintended suspended computations is a common programming error which is difficult to detect using standard debugging and testing techniques. We develop a number of analyses, based on abstract interpretation, which succeed if a program is definitely suspension free. If an analysis fails, the program may, or may not, be suspension free. Examples demonstrate that the analyses are practically useful. They are conceptually simple and easy to justify because they are based directly on the transition system semantics of concurrent logic programs. A naive analysis must consider all scheduling policies. However, it is proven that for our analyses it suffices to consider only one scheduling policy, allowing for efficient implementation.

שפת פרסום אנגלית
דפים 649-686
כתב עת ACM Transactions on Programming Languages and Systems
כרך 16
נושא מספר 3
סטטוס פרסום פורסם - 05.01.1994

Keywords

abstract interpretation
concurrent logic programming
program analysis

ASJC Scopus subject areas

Software
גישה למסמך
10.1145/177492.177656
קבצים וקישורים אחרים
Link to publication in Scopus