Abstract: The Naval Surface Warfare Center Dahlgren Division (NSWCDD) uses Understand by SciTools to measure and verify the development of advanced weapons systems against the Navy Strategic Systems Programs (SSP) coding standard. SciTools works with the NSWCDD through the Small Business Innovation Research (SBIR) program. SBIR is a three-phase federal program focused on identifying small businesses conducting research beneficial to federal agencies. SciTools’ partnership with the NSWCDD is currently in the second phase of this program, with Phase III due to commence in 2023. The NSWCDD utilizes Understand‘s capabilities by executing code checks to verify compliance with Navy SSP standards, identifying dependency errors, and exporting results for integration with external tools. Understand’s CodeCheck feature has been a primary point of interest to the NSWCDD and has helped verify the work of their engineers.
Naval Surface Warfare Center Dahlgren Division
With consumers around the globe, Understand by SciTools benefits individuals, small teams, and large organizations by providing them with a tool to better understand and work with their code. We take pride in developing a static code analysis tool that provides our customers with the best experience possible. We’re proud to have the Naval Surface Warfare Center Dahlgren Division (NSWCDD) as one of those customers.
The United States Armed Forces are in the business of providing the nation with security from adversaries. It’s a tall order to fill, but they are the best in the world at what they do. Advanced weapons capabilities are one reason these forces can sleep easily at night; they are always prepared to answer the call to arms–anytime, anywhere.
For the NSWCDD, this means weapons production is functioning at an operational level. The NSWCDD designs, develops, and integrates technologically superior warfare systems in naval weapons production. Additionally, the NSWCDD uses Understand by SciTools to run static code analysis for their projects. These are some of the ways they use the tool:
- To conduct regularly automated code checks using Understand’s CodeCheck feature.
- To run C, C++, and Java code analysis via Understand’s Python API to ensure internal compliance with Navy Strategic Systems Program (SSP) coding standard.
- To export CodeCheck results into the Jenkins Warnings Next Generation plugin to be integrated with results from external tools.
SBIR Program
SciTools benefits from the federally appointed SBIR (Small Business Innovation Research) program. The program consists of three phases: The first phase establishes the merit and feasibility for a small business to conduct meaningful research and development. Phase II provides the business with additional funding to continue research development. Finally, phase III allows the small business to pursue the commercialization of their research and development.
Overall, the program aims to identify small businesses that contribute to research and developmental projects that benefit the federal government. In this way, SciTools has provided US Navy partners with the tools and resources necessary to improve their work and achieve their objectives.
The Need for the Right Tool
Understand is a dynamic tool used for a wide range of purposes. This flexibility piqued the interest of the NSWCDD. They realized the need for a reliable and customizable static code analysis tool, and SciTools answered the call.
Since adopting Understand, the NSWCDD has been able to measure the work of their software engineers by running CodeChecks against the Navy Strategic Systems Programs (SSP) coding standard. Before Understand, they had no way to do so. As a result, while the software engineers were undoubtedly producing excellent work, there remained a significant gap in validating that work.
To fill this gap, NSWCDD introduced a phased approach to identify the right tool as the solution to their problem. They considered multiple options before selecting Understand by SciTools as their preferred code-checking solution. Understand uses a Python API to verify code written in C/C++, Java, and additional coding languages. This capability allows the engineers at NSWCDD to write code in their preferred coding language.
On its website, NSWCDD lists several of its strategic goals to achieve the organization’s vision. The following information is worth noting:
- In the future, software will provide more than 80 percent of combat systems’ capabilities, with greater speed and fewer errors humans are capable of.
- Dahlgren’s current IT infrastructure and service delivery models lack the agility needed to support advanced digital engineering and the dynamic evolution of weapons systems development.
Enter SciTools.
If the United States Armed Forces are to remain the most capable military force in the world, they must recognize how critical it is to measure and verify the effectiveness of their work. Understand aligns with NSWCDD’s objective to incorporate a static code analysis tool to support the dynamic evolution of developmental weapons systems.
How Understand’s CodeCheck Can Help
The US Navy is competing globally for warfare systems superiority. The advanced software required to develop these systems requires an advanced tool to ensure they work. Engineers developing these systems recognize the challenges of such a responsibility, and Understand makes their job easier.
Code checking is a critical component of software development. No matter the industry, there is a standard to which code must adhere. Engineers at SciTools have implemented the Navy SSP coding standards into the Understand software to provide NSWCDD engineers with a way to verify their code meets that standard. This verification happens using the CodeCheck feature. The feature identifies bugs and violations in the code. Once a violation is identified, the engineer can approve automatic corrections or manually correct the error. This feature alone has been a benefit to the engineers at the NSWCDD.
Further, Understand can assist software development by identifying rogue dependencies in code. For example, the advanced software used to create weapons systems at the NSWCDD consists of thousands of lines of code–Understand identifies problematic relationship dependencies that engineers can quickly resolve. Because military operations are time-critical, this process must happen fast. Luckily, it takes little time for Understand to conduct these checks.
Understand provides information quickly with an IDE that readily displays your project’s most vital information. SciTools created this setup with the engineer in mind to eliminate the need to search endlessly for specific informational pieces. Understand’s IDE is customizable, but one thing that remains the same regardless of display preference is quick access to files, code information, and more.
Understand’s Architecture tool is another valuable feature for engineers. It untangles code and displays it in a way that is easy to understand and use. This feature is most beneficial for engineers working with someone else’s code, but it also serves the engineer writing their own code.
Moving Forward
The Naval Surface Warfare Center Dahlgren Division verifies its code against the Navy SSP coding standard using the Python API in Understand. The CodeCheck feature is the primary way their engineers ensure compliance with this standard. With the help of Understand, their organization continues to push innovative advancement of technologically superior strategic weapons systems.
With the SBIR program project’s final phase to commence in 2023, SciTools is happy to provide the Naval Surface Warfare Center Dahlgren Division with a tool to assist the scientists and engineers that create systems with dynamic capabilities. We look forward to working with them for the foreseeable future.