Our matching logic verification system for the C programming language will lower the time to develop, and reduce the number of bugs in NASA software. Our verification will be one of the most comprehensive available, able to prove very difficult algorithms correct. It will be particularly useful in mission-critical and safety-critical systems, flights systems in particular, where bugs cannot be tolerated. This work is equally useful to any government agency, which produces software, but, in particular, to those with mission or safety critical code. We also believe that the term rewriter developed in this project will have uses as a faster replacement for Maude in some specific cases (e.g., no associative or commutative matching and where builtin data structures are desirable).
We plan to market our completed tool to software companies, such as Microsoft and Google. Additionally, we have written confirmation from Dr. Shin'ichi Shirashi of Toyota-ITC that they would like to apply our tool in the automative industry, should this project be funded. We believe, especially with the movement to multicore architectures, multi-threaded systems being harder to verify, that all software companies, and potentially even students, can benefit from our work. We plan to allow a relatively cheap single user license download of the system, with a free license for open source projects. We believe that such a licensing structure allows for risk-free adaptation of our technology. From video games, to media players, to business applications, to Mars rover control programs, all may benefit from the increased ability to guarantee the operation of software components provided by our system.
More »