Command and Control Software Development Memory ManagementThis internship was initially meant to cover the implementation of unit test automation for a NASA ground control project. As is often the case with large development projects, the scope and breadth of the internship changed. Instead, the internship focused on finding and correcting memory leaks and errors as reported by a COTS software product meant to track such issues. Memory leaks come in many different flavors and some of them are more benign than others. On the extreme end a program might be dynamically allocating memory and not correctly deallocating it when it is no longer in use. This is called a direct memory leak and in the worst case can use all the available memory and crash the program. If the leaks are small they may simply slow the program down which, in a safety critical system (a system for which a failure or design error can cause a risk to human life), is still unacceptable. The ground control system is managed in smaller sub-teams, referred to as CSCIs. The CSCI that this internship focused on is responsible for monitoring the health and status of the system. This team's software had several methods/modules that were leaking significant amounts of memory. Since most of the code in this system is safety-critical, correcting memory leaks is a necessity.
Document ID
20170012348
Acquisition Source
Kennedy Space Center
Document Type
Other
Authors
Joseph, Austin Pope (Portland State Univ. OR, United States)
Date Acquired
December 19, 2017
Publication Date
November 14, 2017
Subject Category
Computer Programming And Software
Report/Patent Number
KSC-E-DAA-TN47806Report Number: KSC-E-DAA-TN47806
Funding Number(s)
CONTRACT_GRANT: NNX13AJ45A
Distribution Limits
Public
Copyright
Public Use Permitted.
Keywords
Programmin Report C++ Unit Test Software Engineering ProjectNIFS Memory Leak