Tools for Producing Reliable Software: Synthesis and Analysis - PowerPoint PPT Presentation

About This Presentation
Title:

Tools for Producing Reliable Software: Synthesis and Analysis

Description:

Compose. Inspection and Testing. actual needs versus. stated requirements. Verification ... Compose. Verification. consistency of. refinements. Kestrel. High ... – PowerPoint PPT presentation

Number of Views:40
Avg rating:3.0/5.0
Slides: 9
Provided by: douglas109
Category:

less

Transcript and Presenter's Notes

Title: Tools for Producing Reliable Software: Synthesis and Analysis


1
Tools for Producing Reliable SoftwareSynthesis
and Analysis
Douglas R. Smith
Kestrel Institute Palo Alto, California
2
Industry Directions
  • OMG Meta-Object Facility (MOF), Model-Driven
    Architecture (MDA),
  • Abstract Syntax Tree Models
    (ASTM),
  • Microsoft Software Factories, Visual Studio
  • Design Patterns
  • Frameworks
  • SEI Software Product Lines
  • Aspect-Oriented Programming

3
Code Generation by Refinement
4
High Assurance Generative Programming
  • Examples
  • JavaCard (Kestrel)
  • AutoBayes (NASA Ames)
  • AutoFilter (NASA Ames)
  • Other domain-specific generators
  • that potentially could generate proofs
  • Planware (Kestrel)
  • Ptolemy (UC Berkeley)
  • Cryptol (Galois Connections)

Specs/Models
Generate
Code proofs
5
Refinement Specs ? CodeGenerating
correct-by-construction code from specifications
  • Specification/Modeling languages and support
  • Libraries of Domain Theories
  • Consistency checking

Specification
  • Libraries of Design Theories
  • system architectures design patterns
  • algorithm theories
  • policy classes and enforcement mechanisms
  • datatype refinements
  • program optimization transformations
  • Inference support
  • static analysis
  • checking consistency
  • constraint propagation/solving
  • witness-finding
  • property checking

Refinement
Code
6
Potential Contributions
  • solvers, constructive theorem-provers
  • libraries of design theories and refinement
    generators
  • architectures
  • design patterns
  • policy enforcement mechanisms
  • algorithm theories
  • datatype refinements
  • optimization transforms
  • rational reconstruction of benchmarks
  • participation in standardization activities

7
Extras
8
Automation versus Abstraction
Specware B
KIDS Designware
Planware AutoBayes AutoFilter
Requirement Specification
JavaCard Cryptol
Program Specification
Manual (ad-hoc refinements)
Semi-automatic
Automatic (domain-specific)
Write a Comment
User Comments (0)
About PowerShow.com