Something you didnt know about Rapita/Ada/Software Ian Broster - - PowerPoint PPT Presentation

something you didn t know about rapita ada software
SMART_READER_LITE
LIVE PREVIEW

Something you didnt know about Rapita/Ada/Software Ian Broster - - PowerPoint PPT Presentation

Something you didnt know about Rapita/Ada/Software Ian Broster ianb@rapitasystems.com 1 What does Rapita do? Advanced technologies for reducing V&V costs Revolutionize your software verification 2 RVS: Software verification


slide-1
SLIDE 1

1

Something you didn’t know about … Rapita/Ada/Software

Ian Broster

ianb@rapitasystems.com

slide-2
SLIDE 2

2

What does Rapita do? Advanced technologies for reducing V&V costs Revolutionize your software verification

slide-3
SLIDE 3

3

▪ Manage tes ests ts from system to unit level ▪ Apply and run tests on-target and on-host ▪ Significantly reduce testing times ▪ Calculate WC WCET and high water mark times ▪ Identify where to focus optimization mization ▪ Single & multi-core analysis ▪ Tes est si simu mulat lation ion mo mode dels ls and software code ▪ Provide evidence that code meets requirements ▪ Test on target ECU ▪ Measure code de cover erage age to MC/DC DC level ▪ Lowest on

  • n-targe

arget t overheads on the market ▪ Merge coverage from multiple tests and builds ▪ Visualize system sc sched eduling ling graphically ▪ Highlight rare timing events e.g. race conditions ▪ Identify system capacity issues ▪ Trace 100+ million events per second for days ▪ Minimal inst strumen rumentat tation ion over erheads eads ▪ Target-independent tracing

RVS: Software verification tools and hardware

slide-4
SLIDE 4

4

Talk to us about…

▪ Commercial projects (tools and services) ▪ Custom V&V tools ▪ Academic use ▪ Partnerships ▪ R&D projects ▪ Ada!

slide-5
SLIDE 5

5

Supporting Ada & Aerospace – recent things

  • Major product investment (Ada/C/C++)

RapiTest

  • Industrial solution for safety-critical MCP

Multi-core timing analysis/WCET

  • For RBT, coverage and formal modelling

Automatic test generation

slide-6
SLIDE 6

6

Functional testing for critical software

slide-7
SLIDE 7

7

Machines People

RapiTest Philosophy: Efficient People

Design good tests Work out how to implement tests Run tests Analyse Results Unit and system testing tool (Ada, C, C++) Designed for aerospace and Ada. No “User code” – tester should not have to write any code to test Ada In many DO-178C projects, testers cannot even “see” the source

slide-8
SLIDE 8

8

After 3 years of development and test

▪ RapiTest version 1.4a

▪ C, Ad Ada, C++ ▪ DO DO-178C 178C Qu Qualifi ification ation ▪ Lots of really good feedback from first users

▪ Wou

  • uld

ld yo you li u like to e to tr try it? y it?

▪ We e we welcome yo e your ur ide deas and d fee eedb dback.

  • k. Wh

What m t more re it co t coul uld d do do?

▪ Technology maturity:

▪ Successfully completed 3 V&V projects

▪ DO-178C DAL A – software accepted by OEM/DER

▪ In use on several DO-178C DAL A projects in US & UK ▪ Further pilots/eval ….

slide-9
SLIDE 9

9

RVS-Core What’s inside? (What people don’t normally see)

slide-10
SLIDE 10

10

Rapita Verification Suite

Unit and System Test Timing and WCET Scheduling/tracing Structural Code Coverage

slide-11
SLIDE 11

11

RVS-Core is..

▪ A powerful set of language parsing libraries

▪ Ada 83-2012, C, C++

▪ Many Target/embedded integration libraries ▪ Reporting/GUI ▪ Witten in Ada (mostly)

▪ Except the bits in Java, Python, JavaScript, Perl, C and 3 DSLs

▪ Tested with RVS

slide-12
SLIDE 12

12

RVS on RVS (Statement Coverage from System Tests)

slide-13
SLIDE 13

13

RVS Core can…

▪ Do “anything“ to source code

▪ Code injection/modification ▪ Analysis ▪ Tracing ▪ Data/Control coupling verification ▪ Auto test-generation

▪ Q: How else can we use the core?

slide-14
SLIDE 14

14

Technologies and dataflow inside RVS-Core

Software Parsing Rapita Code Injection Verification database Embedded target libraries Tracing and analysis Reporting XLS RTS RCI Domain specific languages

slide-15
SLIDE 15

15

Domain Specific languages in RVS

XLS RTS RCI [Set of] spreadsheet-based languages for writing tests (including legacy combability converters) Rapita Test Script Text-language for writing tests (e.g. unit tests, system tests, etc) Rapita Code Injection Text-based language for source code manipulation XLS XLS XLS

slide-16
SLIDE 16

16

RCI Example: dump function call arguments at run- time

▪ At run-time, create a “trace” of all subprogram calls and their parameters ▪ Simple Implementation is 28 lines

  • f RCI language not including

target tracing code.

slide-17
SLIDE 17

17

RCI code injection at start and end of subprograms

slide-18
SLIDE 18

18

Example: test context switching

▪ Do some robustness testing of context switches by forcing far more to happen than normal?

▪ RCI code injection to force a context switch every line

slide-19
SLIDE 19

19

Example: RapiTest - Unit test using private types

Test Strategy (ideas)

  • 1. Make Speed_data a non-private type?
  • 2. Create hook functions to read/write components of speed_data?
  • 3. Create user-code to do the test?
slide-20
SLIDE 20

20

Example: RapiTest Unit test using private types

That’s it. No hooks, probes, test points, user code RapiTest adds any code necessary to “see” private types

slide-21
SLIDE 21

21

Multi-core Timing Analysis

Ian Broster, Christos Evripidou (Rapita) Francisco Cazorla, Enrico Mezetti, Suzana Milutinovic (BSC)

An industrial approach for multi-core airborne software timing verification using DO-178C/CAST

  • 32A
slide-22
SLIDE 22

22

slide-23
SLIDE 23

23

A fun demo & competition

Tetris

slide-24
SLIDE 24

24

RapiTetris

▪ Test your software testing skills ▪ Pri rize ze fo for r hi highe hest st st stru ructural ctural co code de co cove verage rage ▪ Try on our stand ▪ Download and play

▪ ww www.ra rapi pita tasy system tems. s.com com/T /TetrisC etrisComp

  • mp