You are here

Mathematically Rigorous Methods for Determining Software Quality

Award Information
Agency: Department of Defense
Branch: Navy
Contract: N00014-10-M-0250
Agency Tracking Number: N10A-035-0312
Amount: $69,981.00
Phase: Phase I
Program: STTR
Solicitation Topic Code: N10A-T035
Solicitation Number: 2010.A
Solicitation Year: 2010
Award Year: 2010
Award Start Date (Proposal Award Date): 2010-06-28
Award End Date (Contract End Date): 2011-04-30
Small Business Information
2021 Girard SE Suite 150
Albuquerque, NM 87106
United States
DUNS: 794350025
HUBZone Owned: No
Woman Owned: No
Socially and Economically Disadvantaged: No
Principal Investigator
 DeLesley Hutchins
 Senior Software Engineer
 (505) 245-9970
Business Contact
 Robert Praus
Title: President
Phone: (505) 245-9970
Research Institution
 University of California Santa Cruz
 Cormac Flanagan
1156 High Street
Santa Cruz, CA 95064
United States

 (831) 459-5375
 Nonprofit College or University

Current software development and testing methodologies are inadequate for validating software in mission-critical applications. As Dijstra famously stated: "testing can be used to show the presence of bugs, but never to show their absence." When lives and national security is at stake, there is a need for mathematically rigorous techniques that can verify the absence of bugs. We propose to develop a framework for software verification and validation using the technique of type-based static analysis. Type theory, and static analysis using types, has been extensively studied in the academic literature, but most of that research has not yet been used to build real-world tools for software verification. Type-based static analysis is both powerful and mathematically rigorous, and offers significant advantages in terms of scalability and modularity over competing techniques. Our proposed framework will be capable of analyzing code written in C, C++, Java, C#, and other languages, and will be able to analyze both source code and compiled binaries. The framework will use automatic type inference to derive appropriate safety properties for common programming patterns, but will also allow the user to supply annotations that guide the analysis algorithms when proving more difficult properties.

* Information listed above is at the time of submission. *

US Flag An Official Website of the United States Government