Completing software maintenance and evolution tasks for today’s large, complex software systems can be difficult, often requiring considerable time to understand the system well...
Function precedence protocols define ordering relations among function calls in a program. In some instances, precedence protocols are well-understood (e.g., a call to pthread mut...
When describing the resource usage of a program, it is usual to talk in asymptotic terms, such as the well-known “big O” notation, whereby we focus on the behaviour of the prog...
Elvira Albert, Diego Alonso, Puri Arenas, Samir Ge...
Although there has been considerable research into ways to design visual programming environments to improve the processes of creating new programs and of understanding existing o...
Margaret M. Burnett, Andrei Sheretov, Gregg Rother...
Program analysis and verification tools crucially depend on the ability to symbolically describe and reason about sets of program behaviors. Separation logic provides a promising...