something you didn t know about rapita ada software
play

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


  1. Something you didn’t know about … Rapita/Ada/Software Ian Broster ianb@rapitasystems.com 1

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

  3. RVS: Software verification tools and hardware Manage tes ests ts from system to unit level ▪ ▪ Apply and run tests on-target and on-host Significantly reduce testing times ▪ Measure code de cover erage age to MC/DC DC level ▪ Lowest on on-targe arget t overheads on the market ▪ Merge coverage from multiple tests and builds ▪ Calculate WC WCET and high water mark times ▪ Identify where to focus optimization mization ▪ Single & multi-core analysis ▪ Visualize system sc sched eduling ling graphically ▪ ▪ Highlight rare timing events e.g. race conditions Identify system capacity issues ▪ Tes est si simu mulat lation ion mo mode dels ls and software code ▪ Provide evidence that code meets requirements ▪ ▪ Test on target ECU Trace 100+ million events per second for days ▪ Minimal inst strumen rumentat tation ion over erheads eads ▪ Target-independent tracing ▪ 3

  4. Talk to us about… ▪ Commercial projects (tools and services) ▪ Custom V&V tools ▪ Academic use ▪ Partnerships ▪ R&D projects ▪ Ada! 4

  5. Supporting Ada & Aerospace – recent things RapiTest • Major product investment (Ada/C/C++) Multi-core timing analysis/WCET • Industrial solution for safety-critical MCP Automatic test generation • For RBT, coverage and formal modelling 5

  6. Functional testing for critical software 6

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

  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 ould 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 …. 8

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

  10. Rapita Verification Suite Unit and System Test Timing and WCET Scheduling/tracing Structural Code Coverage 10

  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 11

  12. RVS on RVS (Statement Coverage from System Tests) 12

  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? 13

  14. Technologies and dataflow inside RVS-Core Software Parsing Verification database Domain XLS Rapita Code Injection specific languages RTS Embedded target libraries RCI Tracing and analysis Reporting 14

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

  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 of RCI language not including target tracing code. 16

  17. RCI code injection at start and end of subprograms 17

  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 18

  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? 19

  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 20

  21. Multi-core Timing Analysis An industrial approach for multi-core airborne software timing verification using DO-178C/CAST -32A Ian Broster, Christos Evripidou (Rapita) Francisco Cazorla, Enrico Mezetti, Suzana Milutinovic (BSC) 21

  22. 22

  23. Tetris A fun demo & competition 23

  24. RapiTetris ▪ Test your software testing skills ▪ Pri rize ze fo for r hi highe hest st st stru ructural ctural co code de cove co verage rage ▪ Try on our stand ▪ Download and play ▪ ww www.ra rapi pita tasy system tems. s.com com/T /TetrisC etrisComp omp 24

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend