The proposed project will focus on techniques and tools for high-precision<br/>static and dynamic analyses of software. Current static analyzers often<br/>suffer from a high spurious error ratio, while dynamic analysis tools<br/>generally provide only partial coverage of program executions. It will be<br/>studied how to build on techniques from program abstraction, model<br/>checking, and theorem proving, to improve this status quo. At its core, the<br/>proposal is to investigate the trade-off between the quality of the<br/>analysis results, and the computational effort needed to obtain them.<br/><br/>The broad impact will be to enable the creation of software that is more<br/>robust, with shorter development times. In addition, it is expected that<br/>the research will lead to a better scientific understanding of several core<br/>techniques. A key component of the proposal is to build effective tools<br/>that incorporate these research results. These tools will enable the<br/>application of our research ideas to the NASA testbed, and communicate them<br/>to the programming community at large. The research results are also<br/>expected to be communicated to the research community through conference<br/>and journal publications.