@inproceedings{0ac580002387411da4111dfece338edf,
title = "From scripts to specifications: The evolution of a flight software testing effort",
abstract = "This paper describes the evolution of a software testing effort during a critical period for the flagship Mars Science Laboratory rover project at the Jet Propulsion Laboratory. Formal specification for post-run analysis of log files, using a domain-specific language, LogScope, replaced scripted real-time analysis. Log analysis addresses the key problems of on-the-fly approaches and cleanly separates specification and execution. Mining the test repository suggested the inadequacy of the scripted approach, and encouraged a partly engineer-driven development. LogScope development should hold insights for others facing the tight deadlines and reactionary nature of testing for critical projects. LogScope received a JPL Mariner Award for {"}improving productivity and quality of the MSL Flight Software{"} and has been discussed as an approach for other flight missions. We note LogScope features that most contributed to ease of adoption and effectiveness. LogScope is general and can be applied to any software producing logs.",
keywords = "Python, development practices, logs, runtime verification, space flight software, temporal logic, test infrastructure, testing",
author = "Alex Groce and Klaus Havelund and Margaret Smith",
year = "2010",
doi = "10.1145/1810295.1810314",
language = "English (US)",
isbn = "9781605587196",
series = "Proceedings - International Conference on Software Engineering",
pages = "129--138",
booktitle = "ICSE 2010 - Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering",
note = "32nd ACM/IEEE International Conference on Software Engineering, ICSE 2010 ; Conference date: 01-05-2010 Through 08-05-2010",
}