Executive Summary
At the heart of the United States Air Force Material Command’s software maintenance operations, SciTools’ Understand software emerges as an essential tool, particularly when tasked with the upkeep of legacy systems that employ the Department of Defense’s JOVIAL programming language in conjunction with C and C++. This use case outlines the critical role Understand plays in maintaining such intricate and specialized codebases.
Challenges
The challenges in maintaining and updating legacy systems are multifaceted. Teams face the absence of commercially viable software editors that provide direct support for the JOVIAL language. Engineers often encounter significant hurdles in tracking variable usage across diverse languages, such as JOVIAL and C/C++, which complicates matters when variables are inconsistently named. This inconsistency poses a steep learning curve for new engineers who must familiarize themselves with an arcane JOVIAL codebase, which in turn affects the efficiency and speed of onboarding new talent. Furthermore, the risk looms large of failing to meet their coding schedules and standards in the absence of tools like Understand. Lastly, the organization faces the threat of incurring substantial additional costs in programming efforts if Understand is not part of their toolkit.
Solutions
Understand addresses these challenges with unmatched efficacy. It features an ability to automatically identify and highlight corresponding variables within the JOVIAL and C/C++ code, regardless of minor discrepancies in variable names. Furthermore, Understand enriches the code analysis process with its robust suite of graphing tools. These tools, including call sequence, control flow, and cluster graphs, greatly facilitate the complex task of dissecting and understanding code behavior and structure.
Benefits
The incorporation of Understand translates into a series of tangible benefits. It streamlines the code familiarization process, particularly for engineers who are new to the JOVIAL environment, significantly reducing the time traditionally required for them to contribute effectively. There is an appreciable enhancement in code quality and a firm adherence to development timelines. Understand brings about a notable financial upside—an estimated annual saving of $300,000 in programming efforts. Additionally, the tool can slash development times by a substantial margin—ranging from 30 to 50 percent—thus propelling projects to completion at a swifter pace.
Conclusion
The decision to procure Understand is a strategic move underlined by the software’s irreplaceable utility in the legacy systems at the USAF. Understand is not merely supportive of a niche programming language; it acts as a bridge that seamlessly connects the older and newer elements of complex code systems. The tool stands out as a catalyst for effective change, bolstering the engineering teams with enhanced code comprehension capabilities, and resulting in significant savings of time and fiscal resources.