Automatic tools for finding software errors require knowledge of the rules a program must obey, or “specifications,” before they can identify bugs. We present a method that ...
We show how some classical static analyses for imperative programs, and the optimizing transformations which they enable, may be expressed and proved correct using elementary logi...
"This course will consist of a number of major sections. The first will be a short review of some preliminary material, including asymptotics, summations, and recurrences and ...
We present a technique that enables the use of finite model finding to check the satisfiability of certain formulas whose intended models are infinite. Such formulas arise when us...
Modern database systems provide not only powerful data models but also complex query languages supporting powerful features such as the ability to create new database objects and ...