26
CENTRE FOR FORMAL DESIGN AND VERIFICATION OF SOFTWARE INDIAN INSTITUTE OF TECHNOLOGY, BOMBAY

CENTRE FOR FORMAL DESIGN AND VERIFICATION OF SOFTWARE INDIAN INSTITUTE OF TECHNOLOGY, BOMBAY

Embed Size (px)

Citation preview

Page 1: CENTRE FOR FORMAL DESIGN AND VERIFICATION OF SOFTWARE INDIAN INSTITUTE OF TECHNOLOGY, BOMBAY

CENTRE FOR FORMAL DESIGN AND

VERIFICATION OF SOFTWARE

INDIAN INSTITUTE OF TECHNOLOGY, BOMBAY

Page 2: CENTRE FOR FORMAL DESIGN AND VERIFICATION OF SOFTWARE INDIAN INSTITUTE OF TECHNOLOGY, BOMBAY

Verification & Validation (V&V)

Computer Hardware and Software key component in modern automotives

Safety-critical Systems Rigorous Verification and Validation

Essential ISO/IEC Standards Guidelines MISRA Standards

Page 3: CENTRE FOR FORMAL DESIGN AND VERIFICATION OF SOFTWARE INDIAN INSTITUTE OF TECHNOLOGY, BOMBAY

Bugs are costly Pentium bug

Intel Pentium chip, released in 1994 produced error in floating point division

Cost : $475 million

ARIANE Failure In December 1996, the Ariane 5 rocket exploded 40

seconds after take off . A software components threw an exception

Cost : $400 million payload.

Therac-25 Accident : A software failure caused wrong dosages of x-rays. Cost: Human Loss.

Rigorous V&V Essential

Page 4: CENTRE FOR FORMAL DESIGN AND VERIFICATION OF SOFTWARE INDIAN INSTITUTE OF TECHNOLOGY, BOMBAY

Traditional V & V

Industrial Practices far from satisfactory Testing, Simulation, Reviews & Walkthroughs Inadequate for safety-critical systems Late Detection of bugs Detects presence of bugs not absence When to stop testing

Coverage criteria ~70% of time spent on V&V

Page 5: CENTRE FOR FORMAL DESIGN AND VERIFICATION OF SOFTWARE INDIAN INSTITUTE OF TECHNOLOGY, BOMBAY

Mission of CFDVS

Resources

R & D

V & V Ed.&Tr.

Page 6: CENTRE FOR FORMAL DESIGN AND VERIFICATION OF SOFTWARE INDIAN INSTITUTE OF TECHNOLOGY, BOMBAY

The Mission To Enable, through R&D of new tools and Techniques, to Support through external projects,

to Educate to develop skill base through courses & workshops

to Develop Resource Base of tools,

technologies,standards

RIGOROUS DESIGN, V & V PRACTICES

Page 7: CENTRE FOR FORMAL DESIGN AND VERIFICATION OF SOFTWARE INDIAN INSTITUTE OF TECHNOLOGY, BOMBAY

CFDVS Focus Area V & V based on Formal Methods Safety-critical Systems Hardware & Software Industrial Solutions

Page 8: CENTRE FOR FORMAL DESIGN AND VERIFICATION OF SOFTWARE INDIAN INSTITUTE OF TECHNOLOGY, BOMBAY

Formal Verification More rigorous approach Founded on Mathematical methods Proves correctness of Systems Increased confidence Early Detection of bugs

Design Verification Complementary to traditional

techniques

Page 9: CENTRE FOR FORMAL DESIGN AND VERIFICATION OF SOFTWARE INDIAN INSTITUTE OF TECHNOLOGY, BOMBAY

CFDVS – An R&D Centre Research Projects Case-studies New Tools Efficient Techniques and Novel Design

Methodologies

Page 10: CENTRE FOR FORMAL DESIGN AND VERIFICATION OF SOFTWARE INDIAN INSTITUTE OF TECHNOLOGY, BOMBAY

CFDVS R&D Overview Case-studies Tools

ACE TSCheck ConSDE VE-DAC EX-PERT

Research Papers and Reports

Page 11: CENTRE FOR FORMAL DESIGN AND VERIFICATION OF SOFTWARE INDIAN INSTITUTE OF TECHNOLOGY, BOMBAY

ACE – Assertion checker Assertion-checking tool for formal

verification of MISRA-C Programs Translates C functions plus assertions

to SPL and specifications Verification of SPL programs STeP – Verification Engine Tool extensively used in ADA project

Page 12: CENTRE FOR FORMAL DESIGN AND VERIFICATION OF SOFTWARE INDIAN INSTITUTE OF TECHNOLOGY, BOMBAY

Formal Verification of Flight Software:Sponsor : ADA , Bangalore Validation of software in LCA display unit Verification focused on a collection of C-

functions In house tool ACE extensively used (jointly

developed with BARC) Verification engine : STeP Verification uncovered a few bugs leading to

code revision Designers convinced of utility of FV

Page 13: CENTRE FOR FORMAL DESIGN AND VERIFICATION OF SOFTWARE INDIAN INSTITUTE OF TECHNOLOGY, BOMBAY

Verification of LV Software LV – Launch Vehicle Sponsored by VSSC, Trivandrum Signal integrity checking Complex sequence of branches Code in Ada In-house tool ACE used

Page 14: CENTRE FOR FORMAL DESIGN AND VERIFICATION OF SOFTWARE INDIAN INSTITUTE OF TECHNOLOGY, BOMBAY

CFDVS – A Resource Centre Specification & Verification Tools Academic & Commercial Tools Books, Papers & Reports Hardware & Software support V&V Expert consultancy National Centre

Page 15: CENTRE FOR FORMAL DESIGN AND VERIFICATION OF SOFTWARE INDIAN INSTITUTE OF TECHNOLOGY, BOMBAY

Resources

Hardware : Dec Alpha server Sun server Sun-Fire 280R Many access stations

Software: Formal Check: Hardware Verification Tool(Cadence

Inc.) LDRA : Static analysis tool Rose RT and Rhapsody : UML based tools Esterel Studio and SCADE Specman: Hardware Verification tool Code Surfer: Slicing tool

Page 16: CENTRE FOR FORMAL DESIGN AND VERIFICATION OF SOFTWARE INDIAN INSTITUTE OF TECHNOLOGY, BOMBAY

Resources (contd.)

Books : More than hundred books/proceedings CAV, FMCAD, CHARME

Page 17: CENTRE FOR FORMAL DESIGN AND VERIFICATION OF SOFTWARE INDIAN INSTITUTE OF TECHNOLOGY, BOMBAY

CFDVS – An Educational Centre

Education & Training Courses & Seminars Workshops & Conferences Student Projects & Case studies

Page 18: CENTRE FOR FORMAL DESIGN AND VERIFICATION OF SOFTWARE INDIAN INSTITUTE OF TECHNOLOGY, BOMBAY

Education and Training Attracted many students across different

departments (CSE,IT,EE,Rel. Engg.) Around 30 students (B.Tech and M.Tech)

completed More than 10 students currently working Two BARC staff on deputation Two workshops

Well-attended People from DAE and other organization

Tutorials in international conferences

Page 19: CENTRE FOR FORMAL DESIGN AND VERIFICATION OF SOFTWARE INDIAN INSTITUTE OF TECHNOLOGY, BOMBAY

Industry Sponsored Projects IV & V services Two projects completed Two more projects in Progress Looking forward to more Means of Resource Generation

Page 20: CENTRE FOR FORMAL DESIGN AND VERIFICATION OF SOFTWARE INDIAN INSTITUTE OF TECHNOLOGY, BOMBAY

Verification of Cache controllers

Sponsor : Texas Instruments, Bangalore

Verification using Model Checking of medium sized industrial design.

Cache controller developed at TI, FormalCheck of Cadence Inc. - verifier

Page 21: CENTRE FOR FORMAL DESIGN AND VERIFICATION OF SOFTWARE INDIAN INSTITUTE OF TECHNOLOGY, BOMBAY

Verification of In-house ASICs

Sponsor : BARC Various ASICs designed at BARC Verification of one of these Project in the initial stages

Page 22: CENTRE FOR FORMAL DESIGN AND VERIFICATION OF SOFTWARE INDIAN INSTITUTE OF TECHNOLOGY, BOMBAY

Case-Studies FV of Two Systems from BARC FV of a PCI implementation

Page 23: CENTRE FOR FORMAL DESIGN AND VERIFICATION OF SOFTWARE INDIAN INSTITUTE OF TECHNOLOGY, BOMBAY

FV of PCI implementation Understand issues involved in large hardware

design Evaluate the performance of state-of-the art

tools PCI implementation (10,000 lines of VHDL

code) The tool Formal Check used Models for environment designed Properties formalized in FQL

Page 24: CENTRE FOR FORMAL DESIGN AND VERIFICATION OF SOFTWARE INDIAN INSTITUTE OF TECHNOLOGY, BOMBAY

Design Environment for Process Control Software

ConSDE: A tool for designing process control software from high level block diagrams

A graphical editor A block definition language Code generation from blocks Simulation capabilities Verification capabilities planned

Page 25: CENTRE FOR FORMAL DESIGN AND VERIFICATION OF SOFTWARE INDIAN INSTITUTE OF TECHNOLOGY, BOMBAY

Verification Environment for distributed Control Applications

VE-DAC and EX-PERT: Tool for verification of distributed reactive applications.

State machine based language Capabilities to design concurrent and

hierarchical design Asynchronous communication Editor, simulator and verifier Efficient verification using slicing techniques

Page 26: CENTRE FOR FORMAL DESIGN AND VERIFICATION OF SOFTWARE INDIAN INSTITUTE OF TECHNOLOGY, BOMBAY

. . . And many more Projects Efficient Verification of Synchronous

Programs Model-based Verification of Object-

Oriented Software Slicing of Synchronous Programs and

HDLs