Efficiently solving of challenging Boolean formulas is critical to NASA, as this will increase both the speed and scalability of the following applications: 1) formal verification and testing methods for complex mission software and hardware, including those of the Multi-Purpose Crew Vehicle (MPCV), the next generations of Mars Rovers, and other spacecraft; 2) formal methods to prove the correctness of radiation-hardening transformations for software and hardware; 3) logic synthesis of circuits; 4) Boolean methods for scheduling, planning, and solving of other Constraint Satisfaction Problems (CSPs); 5) formal methods for network coding that will increase both the bandwidth and reliability of space communications by using the existing communication equipment that is already deployed in space after updating the firmware; 6) reliability analysis of hardware, software, and mechanical systems; 7) power and timing analysis of circuits; 8) design of experiments; 9) design of error-correction codes; 10) technology mapping and routing for FPGAs and other reconfigurable circuits; 11) formal methods for cryptanalysis; and 12) cyber security---detecting security vulnerabilities and malicious intent in software.
The potential non-NASA commercial applications include: 1) Formal verification and testing of software and hardware, where the potential customers will be all major semiconductor and software companies. 2) Scheduling, planning, and solving of Constraint Satisfaction Problems (CSPs), where the potential customers will be all companies that use scheduling and planning tools. 3) Solving of Electronic Design Automation (EDA) problems, such as FPGA technology mapping and routing, power and timing analysis of circuits, and formal methods to check the robustness of radiation-hardened circuits, where the potential customers will be all EDA and semiconductor companies. 4) Formal methods for cryptanalysis, where the potential customers will be the Department of Defense, the NSA, and all companies that use cryptanalysis. 5) Formal methods for cyber security, such as for detection of security vulnerabilities and malicious intent in software, where the potential customers will be all companies that develop robust virus scanners based on formal methods, and companies that develop formal methods for detecting security vulnerabilities in software. Because of the potential for a very wide range of software obfuscations that can be used to hide malicious intent, future virus scanners will have to employ efficient formal methods to detect malware, and thus the importance of speed and scalability that will be possible with an efficient hybrid BDD-SAT tool.
More »