1. Constructing Semantic Models of Programs with the Software Analysis Workbench
- Author
-
Dylan McNamee, Brian Huffman, Adam Foltzer, Aaron Tomb, Robert Dockins, and Joe Hendrix
- Subjects
Structure (mathematical logic) ,Programming language ,Computer science ,Formal equivalence checking ,020207 software engineering ,02 engineering and technology ,computer.software_genre ,Symbolic execution ,Semantic computing ,0202 electrical engineering, electronic engineering, information engineering ,Semantic technology ,Workbench ,020201 artificial intelligence & image processing ,Software analysis pattern ,computer ,Implementation - Abstract
The Software Analysis Workbench (SAW) is a system for translating programs into logical expressions, transforming these expressions, and using external reasoning tools (such as SAT and SMT solvers) to prove properties about them. In the implementation of this translation, SAW combines efficient symbolic execution techniques in a novel way. It has been used most extensively to prove that implementations of cryptographic algorithms are functionally equivalent to referencespecifications, but can also be used to identify inputs to programs that will lead to outputs with particular properties, and prove other properties about programs. In this paper, we describe the structure of the SAW system and present experimental results demonstrating the benefits of its implementation techniques.
- Published
- 2016
- Full Text
- View/download PDF