The principle of separation of concerns has long been used by software engineers to manage the complexity of software system development. Programming languages help software engin...
Robert J. Walker, Elisa L. A. Baniassad, Gail C. M...
In practice, it is quite difficult to write correct multithreaded programs due to the potential for unintended and nondeterministic interference between parallel threads. A funda...
In this paper, we propose a new algorithm for proving the validity or invalidity of a pre/postcondition pair for a program. The algorithm is motivated by the success of the algori...
Program analysis has been increasingly used in software engineering tasks such as auditing programs for security vulnerabilities and finding errors in general. Such tools often re...
Monica S. Lam, John Whaley, V. Benjamin Livshits, ...
Single-threaded programming is already considered a complicated task. The move to multi-threaded programming only increases the complexity and cost involved in software developmen...
Matthew J. Bridges, Neil Vachharajani, Yun Zhang, ...