Separation logic allows simple proofs of concurrent algorithms which use blocking mechanisms such as semaphores. It can even deal with non-blocking algorithms. With the addition of...
Framing in the presence of data abstraction is a challenging and important problem in the verification of object-oriented programs [LLM07]. The dynamic frames approach is a promisi...
Jan Smans, Bart Jacobs, Frank Piessens, Wolfram Sc...
Code and design smells are recurring design problems in software systems that must be identified to avoid their possible negative consequences on development and maintenance. Conse...
Data refinement is a common approach to reasoning about programs, based on establishing that te program indeed satisfies all the required properties imposed by an intended abstract...
Ivana Filipovic, Peter W. O'Hearn, Noah Torp-Smith...
Inspired by the properties of the refinement development of the Mondex Electronic Purse, we view an isolated atomic action as a family of transitions with a common before-state, an...
We present a novel approach for the automatic generation of model-to-model transformations given a description of the operational semantics of the source language in the form of gr...
For more than a decade, the trend in geometric constraint systems solving has been to use a geometric decomposition/recombination approach. These methods are generally grounded on...