Speaker
Description
Software engineering processes define their verification and validation processes on requirements and metrics for which existing methods and tools exist. This is also true for the most stringent software engineering and product assurance processes such as the ones defined in ECSS E-ST-40 and Q-ST-80. E.g., logical operations require many tests, while arithmetical operations require little (the reason being, we have many tools and metrics for decision coverage while we have none apart from statement coverage for arithmetical operations). Analogously, instructions within the executable object code receive the complete focus of the verification and validation requirements while nothing is explicitly said about the data present in flight software.
This study assesses the different types of data that have implications for flight-software, from an SRDB to the constants defined within the flight software source code, putting a special focus on the data that modify the behavior of the flight software and thus, shall have the same verification and validation level as software instructions, especially for Category A software. The guidelines produced and the prototype tools developed to gather data-coverage of tests and produce corresponding evidences, shed a light onto this often neglected but fundamental part of the software we fly.