Download presentation
Presentation is loading. Please wait.
Published byRolf Barton Modified over 9 years ago
1
Kestrel Tools for Producing Reliable Software: Synthesis and Analysis Kestrel Institute Palo Alto, California Douglas R. Smith
2
Kestrel 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
Kestrel Code Generation by Refinement Requirements Validate Evolve Code Refine Specification Analyze Libraries of Specifications Compose Inspection and Testing actual needs versus stated requirements Verification consistency of specs Libraries of Design theories, Refinements, Refinement Generators Compose Verification consistency of refinements
4
Kestrel High Assurance Generative Programming Specs/Models Code + proofs Generate 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) …
5
Kestrel Refinement: Specs Code Generating correct-by-construction code from specifications Specification Code Refinement Specification/Modeling languages and support Libraries of Domain Theories Consistency checking 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 – …
6
Kestrel 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
Kestrel Extras
8
Kestrel Automation versus Abstraction Automatic (domain-specific) Semi-automatic Manual (ad-hoc refinements) Program Specification Requirement Specification JavaCard Cryptol Planware AutoBayes AutoFilter KIDS Designware Specware B
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.