1 / 2

Continuous Incremental Software Checking for Robotic and Satellite Missions

This work presents a framework for continuous incremental software checking tailored for robotic and satellite missions, emphasizing invariant generation and likely invariant code checking. By integrating automatic test generation, execution, and systematic analysis within a development environment, it aims to shorten the software development cycle, reduce costs, and enhance reliability. Unlike traditional methods where testing is a separate phase, this approach merges coding and testing, allowing for rapid feedback and iterative fixes, ultimately improving mission outcomes for ventures such as SPHERES on the ISS.

fleta
Télécharger la présentation

Continuous Incremental Software Checking for Robotic and Satellite Missions

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Continuous Incremental Software Checking for Robotic and Satellite Missions – CorinaPasareanu, CMU/NASA Ames Target Applications Invariant Generation Likely Invariants Code (Android) + JML Specs Systematic Analysis JUnit Tests Test Generation Test Execution User SymExe Tree Fail Pass Quick Fixes • Insert pre-condition • Modify code • Modify test Integrated Development Environment • 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 • Seamless integration in coding environment familiar to developers SPHERESon ISS • Features: • Automatic test generation and execution • Automatic program and test repair • Rapid feedback to user: test failures, code and test fixes, invariants NASA PhoneSat

  2. Symbolic execution tree: x: X, y: Y, d: D Path condition PC: true [1:] Example code: x: X, y: Y, d: D+1 PC: true 1: d=d+1; 2:  if (x > y) 3: return d / (x-y); else 4:return d / (y-x); [2:] [2:] PC: X>Y PC: X<=Y [4:] [4:] [3:] PC: X<=Y& Y-X!=0 return: (D+1)/(Y-X) PC: X<=Y& Y-X=0 Div by zero! PC: X>Y return: (D+1)/(X-Y) Solve path conditions → test inputs

More Related