Tabling is an implementation technique that improves the declarativeness and expressiveness of Prolog by reusing answers to subgoals. The declarative nature of tabled logic program...
We investigate reference counting in the context of a multithreaded architecture by exploiting two observations: (1) reference-counting can be performed by a transformed program s...
Abstract. In this article, we address the problem of statically determining an approximation of the communication topology of concurrent programs. These programs may contain dynami...
This paper presents complexity results for model checking concurrent programs against temporal-epistemic formulae. We apply these results to evaluate the complexity of verifying p...
Concurrent programming errors arise when threads share data incorrectly. Programmers often avoid these errors by using synchronization to enforce a simple ownership policy: data i...
Jean-Phillipe Martin, Michael Hicks, Manuel Costa,...