We propose a novel approach based on coinductive logic to specify type systems of programming languages. The approach consists in encoding programs in Horn formulas which are inter...
The search for proof and the search for counterexamples (bugs) are complementary activities that need to be pursued concurrently in order to maximize the practical success rate of...
Ashutosh Gupta, Thomas A. Henzinger, Rupak Majumda...
αProlog is a logic programming language which is well-suited for rapid prototyping of type systems and operational semantics of typed λ-calculi and many other languages involving...
Using automated reasoning techniques, we tackle the niche activity of proving that a program is free from run-time exceptions. Such a property is particularly valuable in high inte...
Andrew Ireland, Bill J. Ellis, Andrew Cook, Roderi...
This paper explores an approach to improving the practical usability of static verification tools for debugging synchronization idioms. Synchronization idioms such as mutual excl...
Tayfun Elmas, Ali Sezgin, Serdar Tasiran, Shaz Qad...