Abstract

The success of CubeSat space missions depends on the ability to perform properly in a harsh environment. A key component in space missions is the flight software, which manages all of the processes executed by the satellite on its onboard computer. Literature shows that CubeSat missions suffer high infant mortality, and many spacecraft failures are related to flight software errors, some of them resulting in complete mission loss. Extensive operation testing is the primary technique used by CubeSats developers to ensure flight software quality and avoid such failures. The “New Space” requirements pressure to add “agility” to the software development, which could limit the capacity to test. While advanced and beneficial software testing techniques are found in the software engineering field, CubeSat software solutions mostly rely on unit testing, software in the loop simulation, and hardware in the loop simulation. In this work, fuzz testing techniques were developed, implemented, and evaluated as a manner to expedite operational testing of CubeSats while maintaining their completeness. The impact of the tools was evaluated by using the three new 3U CubeSats under development at the University of Chile. We identified twelve bugs not covered by classic testing strategies in less than three days. These failures were reported, fixed, and characterized by the developers in eight sprint sessions. Our results indicate that fuzz testing improved the completeness of flight software testing through automation and with almost no development interruption. Although our approach has been tested on the SUCHAI flight software, it applies to systems that follow a similar architecture.

Highlights

  • The first conception of a CubeSat nanosatellite prototype came up only 20 years ago, approximately

  • In need of looking for an automatable and agile software testing technique applicable to nanosatellites, we study the usage of fuzz testing in the SUCHAI nanosatellite flight software [10]

  • This article is organized as follows: Section II presents the work related to our effort; Section III gives the context of this article by describing the SUCHAI flight software; Section IV details the methodology we have developed to apply fuzz testing to the SUCHAI flight software; Section V presents the results of our methodology; Section VI lists the threats to validity of our experiment and analyzes its applicability to other flight software; Section VII presents the main conclusions of this work and highlights open issues to address in future works

Read more

Summary

INTRODUCTION

The first conception of a CubeSat nanosatellite prototype came up only 20 years ago, approximately. This article is essentially based on the experience we have gained by developing the flight software of a series of nanosatellites (SUCHAI-I, SUCHAI-II, SUCHAI-III, and PlantSat) and its subsystems/payloads This experience indicates us that preparing the flight software for larger assembly lines may be challenging and requires agility and automation in the testing to achieve the desired robustness. This article is organized as follows: Section II presents the work related to our effort; Section III gives the context of this article by describing the SUCHAI flight software; Section IV details the methodology we have developed to apply fuzz testing to the SUCHAI flight software; Section V presents the results of our methodology; Section VI lists the threats to validity of our experiment and analyzes its applicability to other flight software; Section VII presents the main conclusions of this work and highlights open issues to address in future works

RELATED WORK
FUZZ TESTING
STRATEGIES
RESULTS
Number of c1o0mmands in ea5c0h sequence 100
Results
DISCUSSION
CONCLUSIONS AND FUTURE WORK
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call