Deductive program synthesis systems based on automated theorem proving offer the promise of software that is correct by construction. However, the difficulty encountered in constru...
Modern programs make extensive use of reusable software libraries. For example, a study of a number of large Java applications shows that between 17% and 30% of the classes in tho...
Johannes Henkel, Christoph Reichenbach, Amer Diwan
Writing deterministic programs is often difficult for problems whose optimal solutions depend on unpredictable properties of the programs’ inputs. Difficulty is also encounter...
We introduce the first binary search tree algorithm designed for speculative executions. Prior to this work, tree structures were mainly designed for their pessimistic (non-specu...
Reasoning about string variables, in particular program inputs, is an important aspect of many program analyses and testing frameworks. Program inputs invariably arrive as strings...