2020 - 2020
The broader impact/commercial potential of this I-Corps project it to significantly improve software reliability and developer productivity, as a result of a new compiler analysis technology. Detecting, diagnosing, and fixing software bugs are extremely important. Existing solutions are inadequate because they often generate too many false alarms, miss real errors, incur prohibitive runtime issues, or lack diagnostic information - these problems are acute for large, complex software. The new technology enables detecting and fixing complex software bugs in the programming phase by continuously analyzing code changes and providing developers with instant feedback. The technology will lead to more economical, reliable, and secure software. This I-Corps project aims to evaluate the commercialization potential of a new compiler analysis technology and to accelerate the translation of this technology into emerging products and services. The innovation offers an incremental analysis engine that synergistically combines several fundamental static program analyses to reduce the average computational complexity of inter-procedural program analyses proportional to the code changes instead of the entire code base. With the capability to detect complex software bugs with fast speed, the technology could be used in an integrated development environment (IDE) to help developers detect and fix bugs as soon as they are introduced into mobile apps. It may also be integrated into a version control system to detect races in pull requests, providing much faster feedback than human code reviewers; and it also may be embedded into parallelization compilers to help automatically parallelize programs. This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.