General Reasoning for Imperative Programs
Start date: Mar 12, 2015,
End date: Mar 11, 2017
It is hard to reason about imperative programs, especially when concurrency and pointers are involved. Such programs are inherently complex, but the reasoning problem is exacerbated by conventional formalisms that demand, and thus encourage, tedious and overly detailed proofs. This project aims to get a GRIP on reasoning by adopting a novel formalisation that holds promise to make proofs simpler and more general. In particular, the goals of GRIP are 1) to equip popular reasoning techniques with simpler semantic foundations that render proofs more tractable, and 2) to accommodate realistic programming languages in a general way. The approach to overcome the complexity of these goals is to separate concerns in a new way: use simple mathematical models and algebraic laws at the core, and build reasoning techniques and languages around it to maximise understanding and reuse.
Get Access to the 1st Network for European Cooperation