skip to main content
10.1145/1810295.1810314acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

From scripts to specifications: the evolution of a flight software testing effort

Published:01 May 2010Publication History

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.

References

  1. http://mars.jpl.nasa.gov/msl.Google ScholarGoogle Scholar
  2. J. H. Andrews and Y. Zhang. General test result checking with log file analysis. IEEE Transactions on Software Engineering, 29(7):634--648, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. H. Barringer, A. Groce, K. Havelund, and M. Smith. Formal analysis of log files. AIAA Journal of Aerospace Computing, Information and Communications, 2010. To appear.Google ScholarGoogle Scholar
  4. H. Barringer, K. Havelund, D. Rydeheard, and A. Groce. Rule systems for runtime verification: A short tutorial. In S. Bensalem and D. Peled, editors, Proc. of the 9th International Workshop on Runtime Verification (RV'09), volume 5779 of LNCS, pages 1--24. Springer, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. H. Barringer, D. Rydeheard, and K. Havelund. Rule Systems for Run-Time Monitoring: from Eagle to RuleR. In Proc. of the 7th International Workshop on Runtime Verification (RV'07), volume 4839 of LNCS, pages 111--125, Vancouver, Canada, 2007. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. H. Barringer, D. Rydeheard, and K. Havelund. Rule systems for run-time monitoring: from Eagle to RuleR. Journal of Logic and Computation, doi: 10.1093/logcom/exn076, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. M. Bennett, R. Borgen, K. Havelund, M. Ingham, and D. Wagner. Development of a prototype domain-specific language for monitor and control systems. In IEEE Aerospace Conference, Big Sky, Montana, March 2008.Google ScholarGoogle ScholarCross RefCross Ref
  8. A. Coen-Porisini, G. Denaro, C. Ghezzi, and M. Pezze. Using symbolic execution for verifying safety-critical systems. In European Software Engineering Conference/Foundations of Software Engineering, pages 142--151, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. L. Dillon, G. Kutty, L. Moser, P. M. Melliar-Smith, and Y. S. RamaKrishna. A graphical interval logic for specifying concurrent systems. 3(2):131--165, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. GraphViz. http://www.graphviz.org.Google ScholarGoogle Scholar
  11. R. Mateescu and D. Thivolle. A model checking language for concurrent value-passing systems. In The 15th international symposium on Formal Methods (FM 2008), volume 5014 of LNCS. Springer, May 2008. Turku, Finland. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. S. Squyres. Roving Mars: Spirit, Opportunity, and the Exploration of the Red Planet. Hyperion, 2005.Google ScholarGoogle Scholar
  13. M. Vardi. From Church and Prior to PSL. In 25 Years of Model Checking: History, Achievements, Perspectives, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. From scripts to specifications: the evolution of a flight software testing effort

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Conferences
        ICSE '10: Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2
        May 2010
        554 pages
        ISBN:9781605587196
        DOI:10.1145/1810295

        Copyright © 2010 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 1 May 2010

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        Overall Acceptance Rate276of1,856submissions,15%

        Upcoming Conference

        ICSE 2025

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader