← Back to NASA Technology Projects

Add MCDC Analysis to the Open Source Gcov Tool

Completed TRL 8 (started at 1, targeting 8)

Description

To expedite the unit testing process for NASA's flight software by leveraging the existing tool, GCC suite, to perform Modified Condition/Decision Coverage (MC/DC) analysis. The main goal is for the software to work within the GCC suite and be able to produce explicit MC/DC analysis.


Many different NASA projects, including the Orion Multipurpose Crew Vehicle (MPCV), use the gcc compiler and the gcov profiling tool (https://gcc.gnu.org/onlinedocs/gcc/Gcov.html) to provide coverage metrics for Unit Tests. NPR 7150.2 standards now require full MC/DC analysis and 100% coverage. The project focused on C/C++ as the target language.

This project successfully integrated MC/DC analysis into the GCC compiler. This project has made significant improvements in software testing efficiency and code analysis for safety-critical systems.

Benefits

Adding MC/DC capability to gcov will benefit software development on many NASA programs and projects across all mission directorates.On the Orion Flight Software (FSW) program, the requirement to provide 100% MC/DC coverage entails that the contractor spend thousands of hours doing manual analysis of the Unit Tests to ensure they meet this criterion. The process of manual analysis is also prone to error. With MC/DC evaluation done by the gcov tool, we would save those thousands of hours in our current Artemis II development effort. Adding capabilities to an open source project has the added benefit of making those changes a (potentially) permanent part of that tool. Subsequently, any future changes and improvements to gcov would also be available to the NASA community. You can find the gcc git page here: https://gcc.gnu.org/git.html

Details

Technology areaFlight Computing and Avionics > Avionics Tools, Models, and Analyses > Avionics Performance, Reliability, and Fault-Tolerance Analysis and Modeling
ProgramPrizes, Challenges, and Crowdsourcing (PCC)
Lead organizationJohnson Space Center, Houston, TX
Start date2023-07-01
End date2024-04-30

Project contacts

Listed on TechPort itself — the most direct way to ask about this specific project.

How to get involved

This is a mature technology (TRL 8) — the realistic path in is usually NASA's Technology Transfer Program: licensing an existing NASA patent, or a Space Act Agreement to use NASA facilities/expertise directly. NASA also runs a startup licensing program with no upfront fee for companies formed to commercialize a specific NASA technology.

None of these are guaranteed paths for this specific project — TechPort itself doesn't have an "apply" button. Reaching out to the contact(s) above with a specific question is usually the fastest way to find out what's actually open.