1 / 8

Tools for Producing Reliable Software: Synthesis and Analysis

Tools for Producing Reliable Software: Synthesis and Analysis. Douglas R. Smith. Kestrel Institute Palo Alto, California. Industry Directions. OMG – Meta-Object Facility (MOF), Model-Driven Architecture (MDA), Abstract Syntax Tree Models (ASTM), …

Télécharger la présentation

Tools for Producing Reliable Software: Synthesis and Analysis

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. Tools for Producing Reliable Software:Synthesis 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. Requirements Inspection andTesting actual needs versus stated requirements Verification consistency of specs Analyze Libraries of Specifications Compose Validate Specification Evolve Libraries of Design theories, Refinements, Refinement Generators Compose Refine Code Verification consistency of refinements 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. 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 Potential Contributions

  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)

More Related