Goals: - Shorten development cycle for flight SW; Reduce cost; Increase reliability Current SW development cycle: - Coding and testing performed as separate activities - Testing is costly; performed after code development Continuous Incremental Checking: - Testing performed during code development - Excess workstation cycles used to continuously generate and run tests and to suggest repairs and invariants Continuous Incremental Software Checking for Robotic and Satellite Missions – Corina Pasareanu, CMU/NASA Ames User Code (Android ) + JML Specs Systematic Analysis JUnit Tests Pass Fail - Insert pre- condition - Modify code - Modify test Quick Fixes Sym Exe Tree Likely Invaria nts Test Execution Test Generation Invariant Generation Integrated Development Environment NASA PhoneSat SPHERES on ISS Target Applications Features: - Automatic test generation and execution - Automatic program and test repair - Rapid feedback to user: test failures, code and test fixes, invariants