SCIENTIFIC TOOLWORKS INC. — Department of Defense SBIR Phase I: N201-081
SCIENTIFIC TOOLWORKS INC. — SBIR Phase I award from Department of Defense.
- Amount
- $227,050
- Agency
- Department of Defense · Navy
- Program / Phase
- SBIR · Phase I
- Topic
- N201-081
- Solicitation
- 00.1
- NAICS
- —
- Place of performance
- UT
- Period
- 2020-06-08 → 2021-09-20
Description
This Phase I delivers an automated and extensible system for validating C++ source code against Navy Surface Warfare Center Dahlgren Division(NSWCDD) coding standards, built on a proven long term commercial platform deployable on Windows, Apple OSX, Linux, and Solaris. Our plan delivers a custom and extendable code validation suite for the NSWCDD based on the commercial static analysis tool Understand (www.scitools.com). In Phase I, we base our work on the 20-year investment in Understand, by adding support for Solaris, enhancing NSWCDD checks we already detect to include automatic/semi-automatic fixes directly in source code and implementing remaining checks from the NSWCDD Style guide for both detection and source code fixes. The checks are written in Perl and Python, are extensible by naval developers and will include test files for each check verifying the expected results. Understand has been in active development since 1996 and analyzes billions of lines of code (SLOC) every day. A large percentage of these analyses are coding standard validations done as part of each team's automated development process, either at every commit/check-in or as part of the team's nightly or weekly build process. Understand's wide use and our extensive history with static analysis tools give confidence that Phase I will deliver an immediately useful implementation of the full NSWCDD Style Guide, in strong prototype form ready to be extended and finalized in Phase 2. Early in Phase I, the tool will be insertable into NSWCDD automated testing and development environments where it will verify that their coding standards are being followed, while automatically fixing violations.