Abstract
NASA and its international partners will increasingly depend on software-based systems to implement advanced functions for future space missions, such as Martian rovers that autonomously navigate long distances exploring geographic features formed by surface water early in the planet’s history. The software-based functions for these missions will need to be robust and highly reliable, raising significant challenges in the context of recent Mars mission failures attributed to software faults. After reviewing these challenges, this paper describes tools that have been developed at NASA Ames that could contribute to meeting these challenges: 1) Program synthesis tools based on automated inference that generate documentation for manual review and annotations for automated certification. 2) Model-checking tools for concurrent object-oriented software that achieve scalability through synergy with program abstraction and static analysis tools.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Perrow, C.: Normal Accidents: Living with High Risk Technologies, Princton University Press (1999)
Neumann, P.: Computer Related Risks, Addison-Wesley Press, 1995
Lions, J. “Report of the Inquiry Board for Ariane 5 Flight 501 Failure”, Joint Communication ESA-CNES (1996) Paris, France
Boehm, B. et al: Software Cost Estimation with COCOMO II, Prentice Hall PTR (2000)
Green, C.: Application of theorem proving to problem solving. Proceedings Intl. Joint Conf. on Artificial Intelligence (1969) 219–240
Smith, D., Lowry, M., Algorithm theories and design tactics. Lecture Notes in Computer Science, Vol. 375 (1989) 379–398, Springer-Verlag.
Stickel, M., Waldinger, R., Lowry, M., Pressburger, T., Underwood, I.: Deductive Composition of Astronomical Software from Subroutine Libraries. Lecture Notes in Computer Science, Vol. 814. Springer-Verlag (1994).
Smith, D.: Kids: A semiautomatic program development system. IEEE Trans. Software Engineering 16(9): 1024–1043 (1990).
Brat, G., Lowry, M., Oh, P., Penix, J., Pressburger, T., Robinson, P., Schumann, J., Subramaniam, M., Whittle, J.: Synthesis of Verifiably Correct Programs for Avionics. AIAA Space 2000 Conference & Exposition, (2000), Long Beach, CA
Brat, G., Lowry, M., Oh, P., Penix, J., Pressburger, T., Robinson, P., Schumann, J., Subramaniam, M., Van Baalen, J., Whittle, J.: Amphion/NAV: Deductive Synthesis of State Estimation Software. IEEE Automated Software Engineering Conference (2001), San Diego, CA
Stickel, M. The snark theorem prover, 2001. http://www.ai.sri.com/~stickel/snark.html.
Van Baalen, J., Robinson, P., Lowry, M., Pressburger, T.: Explaining synthesized software. IEEE Automated Software Engineering Conference (1998), Honolulu, Hawaii
Lowry, M., Pressburger, T., Rosu, G.: Certifying Domain-Specific Policies. IEEE Automated Software Engineering Conference (2001), San Diego, CA
Holzmann, G., Peled, D.: The State of SPIN. Lecture Notes in Computer Science, Vol. 1102 (1996), Springer-Verlag.
Corbett, J., Dwyer, M., Hatcliff, J., Pasareanu, C., Robby, Laubach, S., Zheng, H.: Bandera: Extracting Finite-state Models from Java Source Code. Proceedings of the 22nd International Conference on Software Engineering (2000), Limeric, Ireland.
Visser, W., Park, S., Penix, P.: Using Predicate Abstraction to Reduce Object-Oriented Programs for Model Checking. Proceedings of the 3rd ACM SIGSOFT Workshop on Formal Methods in Software Practice (2000).
Dwyer, M., Hatcliff, J., Joehanes, J., Laubach, S., Pasareanu, C., Robby, Visser, W., Zheng, H,: Tool-supported program abstraction for finite-state verification. Proceedings of the 23rd International Conference on Software Engineering (2001).
Visser, W., Havelund, K., Brat, G., Park, S.: Model checking programs. IEEE International Conference on Automated Software Engineering, (2000) Grenoble, France.
Lerda, F., Visser, W.: Addressing dynamic issues of program model checking. Lecture Notes Computer Science, Vol. 2057 (2001), Springer-Verlag.
Owre, S., Rushby, J., Shankar, N.,: PVS: A prototype verification system. Lecture Notes in Computer Science, Vol. 607 (1992), Springer-Verlag.
Barrett, C., Dill, D., Levitt, J.: Validity Checking for Combinations of Theories with Equality. Lecture Notes in Computer Science, Vol. 1166 (1996), Springer-Verlag.
Hatcliff, J., Corbett, J., Dwyer, M., Sokolowski, S., Zheng, H.: A Formal Study of Slicing for Multi-threaded Programs with JVM Concurrency Primitives. Proc. of the 1999 Int. Symposium on Static Analysis (1999).
Pasareanu, C.: DEOS kernel: Environment modeling using LTL assumptions. Technical Report NASA-ARC-IC-2000-196, NASA Ames, (2000).
Havelund, K., Lowry, M., Penix, P.: Formal Analysis of a SpaceCraft Controller using SPIN. Proceedings of the 4th SPIN workshop (1998), Paris, France.
Havelund, K., Lowry, M., Park, S., Pecheur, C., Penix, J., Visser, M., and White, J.: Formal Analysis of the Remote Agent Before and After Flight. Proceedings of the 5th NASA Langley Formal Methods Workshop (2000)
J. Penix, W. Visser, E. Engstrom, A. Larson, and N. Weininger. Verification of Time Partitioning in the DEOS Scheduler Kernel. In Proceedings of the 22nd International Conference on Software Engineering, (2000) Limeric, Ireland.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Lowry, M.R. (2002). Software Construction and Analysis Tools for Future Space Missions. In: Katoen, JP., Stevens, P. (eds) Tools and Algorithms for the Construction and Analysis of Systems. TACAS 2002. Lecture Notes in Computer Science, vol 2280. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-46002-0_1
Download citation
DOI: https://doi.org/10.1007/3-540-46002-0_1
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-43419-1
Online ISBN: 978-3-540-46002-2
eBook Packages: Springer Book Archive