1 / 8

Tools for Producing Reliable Software: Synthesis and Analysis by Douglas R. Smith

This comprehensive work by Douglas R. Smith from Kestrel Institute focuses on advanced tools and methodologies to enhance software reliability. Covering topics like Meta-Object Facility (MOF), Model-Driven Architecture (MDA), and Software Factories, the text delves into design patterns, aspect-oriented programming, and specification analysis. It provides insights into verification, refinement, and consistency of requirements, alongside examples like JavaCard and AutoFilter. A must-read for software engineers and researchers aiming at high assurance in software development.

Télécharger la présentation

Tools for Producing Reliable Software: Synthesis and Analysis by Douglas R. Smith

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