Computer software programming tools for Windows, Unix, Linux, C, C++, fortran, ada. automatic code generators fortran development tools static source code analysis software test automation test coverage build management systems programming source code analyzers software development lint debuggers MIL-STD-1750A
Software development powerfully simplified

Boeing's Rocketdyne Propels Debug Efforts with Cleanscape FortranLint

Static Source Code Analysis Case Study

"After using the FortranLint product and seeing what kind of bugs it fixes, and being exposed to those bugs prior to using the product, it is clear that FortranLint makes life a lot easier."

Wallace Welder, Engineer/Scientist
Rocketdyne division of Boeing

Introduction

Rocketdyne's Computational Fluid Dynamics (CFD) Group helps launch rockets by the numbers -- it's all in their code. CFD, a subset of the Advanced Analysis Group at Boeing's Rocketdyne division, uses software to model the behavior of gases and fluids in rocket engines, helping to design the next generation of state-of-the-art spacecraft. The Space Shuttle main engine for NASA is just one of the many high-profile projects that CFD has worked on. The same attention to detail that helped land a man on the moon is being used today in Rocketdyne's dedicated CFD Group. The team employs a variety of software tools to ensure that their computations are completed correctly, and they also use FortranLint, Cleanscape's FortranLint pre-compile analysis tool, to ensure that their software is designed correctly.

Rocketdyne Designs Critical FORTRAN Code

Rocketdyne's CFD Group uses a selection of in-house codes to do computational fluid dynamics. Most of their work is code modification, but there is some code development work as well. A majority of the code is written in FORTRAN 77, although much of the new code development is done in FORTRAN 90. "We're always modeling new physics, or coming up with new algorithms, and those advances require us to modify source code or write new source code," explained Wallace Welder, an Engineer/Scientist in Rocketdyne's CFD Group.

These codes are critical to Rocketdyne's business. "We have to be able to modify our products to meet our customers' needs," said Welder. "We have to keep modeling physical behavior of different fluids and gases in unique ways, so there are always new challenges. Through analysis like CFD, we can limit the number of tests and reduce the cost of our products, and even make better products." This broad challenge requires comprehensive solutions to meet the objective, and one of those solutions is FortranLint.

Rocketdyne Embraces FortranLint Advantage

"I had been introduced to FortranLint at another company, and when I rejoined Boeing, I helped bring the tool into Rocketdyne," Welder said. "I proved to our management that FortranLint would be a useful product."

"FortranLint is very effective in catching mistakes that creep in during the coding process, or oversights that could come back to bite you later on and take substantial time to debug," Welder explained. "Sometimes you get a segmentation fault after the first compilation and you have no idea what might have caused it. It could be a typo, or you could forget to list something by accident or misname something -- any number of mistakes can happen. FortranLint is excellent for catching all these errors that normally would be difficult or time-consuming to find."

"Errors that take weeks to find by other debug methods, can take an hour or even minutes with FortranLint."
Wallace Welder, Engineer/Scientist
Rocketdyne division of Boeing

FortranLint Boosts Debug Productivity

The Rocketdyne engineers know that if a code compiles, that does not necessarily mean the code is written correctly. That is where FortranLint comes in. Rocketdyne applies FortranLint to catch that next level of errors -- in the FORTRAN implementation -- that the compilers do not catch.

"FortranLint reduces the time it takes to fully debug code because we catch a lot of the FORTRAN mistakes early in the debug process," Welder confirmed, estimating that FortranLint can save up to a few weeks on the identification of a single bug. The savings become exponential as the development process advances and bugs become even harder to find and more troublesome.

"I remember a case prior to using FortranLint where I was calling a subroutine and passing it parameters, and the parameters listed were a different size than the subroutine that was receiving it," Welder recalled. "I would suddenly get a segmentation fault and I could not tell exactly what was happening. I spent a week or two debugging, trying to find the source of the problem. Later, I automatically caught that same mistake on another project while using FortranLint -- it only took minutes, and I could see just how much time and effort the tool saves."

"FortranLint is very quick, and easy to use," he added. "You can quickly identify the bugs you need to be concerned about."

Welder also appreciates special FortranLint capabilities such as visibility of the code's tree structure. "In a project with hundreds of subroutines, I can use FortranLint to see the code tree structure and subroutine dependencies," Welder said. "I find that feature very useful."

"There are other ways to find bugs," Welder admitted, "but they take much more time and effort. I worked with one engineer who always wrote every subroutine twice to make sure he got the same answer. That was his idea of quality control. Fortunately with FortranLint, we can find many of the mistakes early in the process and we can eliminate a lot of that time associated with debugging."

Rocketdyne Launches New Projects with Cleanscape

Currently the Rocketdyne CFD team is in another significant development project involving the modification of a CFD code to do distributed parallel computing using MPI (message passing interface). The engineers are rewriting portions of the code in FORTRAN 90 and using FortranLint to support the debugging and certification process.

"Using FortranLint saves us time and improves the quality of our software," Welder affirmed. "Whenever we do code development or modification, in FORTRAN 77 or FORTRAN 90, FortranLint is a vital tool. It is a very valuable check because it catches errors that would otherwise be difficult to detect. Once we have gone through FortranLint, we can be confident that we have caught all the problems on the FORTRAN side. There is value there and our engineers continue to use it on current projects."

"For people here that use FortranLint, it is like second nature," Welder added. "You get your code to compile and then you run FortranLint."

About Rocketdyne

Over its 40-year history, Rocketdyne Propulsion and Power, a part of The Boeing Company, has been a leader in applied power, from the world's most sophisticated aerospace propulsion systems to space-borne electrical power. Rocketdyne has supplied equipment for the first American satellite, the first manned suborbital flight, and NASA missions from Mercury to Apollo. Today, Rocketdyne systems are used in the Space Shuttle, International Space Station, and a variety of other spacecraft.

> Get more information about Boeing Rocketdyne

Copyright © 2002-2023 Cleanscape Software International
> Make a comment about our web site