1 / 2

Goals: Shorten development cycle for flight SW; Reduce cost; Increase reliability

Continuous Incremental Software Checking for Robotic and Satellite Missions – Corina Pasareanu , CMU/NASA Ames. Target Applications. Invariant Generation. Likely Invariants. Code (Android) + JML Specs. Systematic Analysis. JUnit Tests. Test Generation. Test Execution. User.

fleta
Download Presentation

Goals: Shorten development cycle for flight SW; Reduce cost; Increase reliability

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