an industrial case study of taco
play

An industrial case study of TACO Benjamin Lesage , Stephen Law, Iain - PowerPoint PPT Presentation

An industrial case study of TACO Benjamin Lesage , Stephen Law, Iain Bate Icons courtesy of https://icons8.com/ Context 2 Rolls-Royce VISIUMCORE platform Integrated instruction tracing and timing Instructions execution is


  1. An industrial case study of TACO Benjamin Lesage , Stephen Law, Iain Bate Icons courtesy of https://icons8.com/

  2. Context 2 • Rolls-Royce VISIUMCORE platform Integrated instruction tracing and timing  Instructions’ execution is time-invariant  Limited time-relevant state  • WCET Timing analysis - Builds WCET from low-level block timings - Requires full coverage of executed code • Full Authority Digital Engine Controller - Designed to DO-178C DAL A guidelines - Coverage through low-level tests • Automatic test case generation technique [1] - Provide better coverage and timing data TACO – RTNS 2018 [1] Stephen Law and Iain Bate, Achieving Appropriate Test Coverage for Reliable Measurement-Based Timing Analysis, ECRTS, 2016

  3. Context 3 • Rolls-Royce VISIUMCORE platform On-Target testing is expensive Integrated instruction tracing and timing  Instructions’ execution is time-invariant  Limited time-relevant state  • WCET Timing analysis - Builds WCET from low-level block timings - Requires full coverage of executed code • Full Authority Digital Engine Controller - Designed to DO-178C DAL A guidelines - Formal testing late in life cycle Coverage through low-level tests • Automatic test case generation technique [1] - Provide better coverage and timing data TACO – RTNS 2018 [1] Stephen Law and Iain Bate, Achieving Appropriate Test Coverage for Reliable Measurement-Based Timing Analysis, ECRTS, 2016

  4. Coverage Technique [1] - Example 4 • function F (B: Boolean, C: Byte) A > 0.75 B TACO – RTNS 2018 [1] Stephen Law and Iain Bate, Achieving Appropriate Test Coverage for Reliable Measurement-Based Timing Analysis, ECRTS, 2016

  5. Coverage Technique [1] - Example 5 {A: 0.5, B: True, C: 7} function F (B: Boolean, C: Byte) A > 0.75 Generate a test vector B TACO – RTNS 2018 [1] Stephen Law and Iain Bate, Achieving Appropriate Test Coverage for Reliable Measurement-Based Timing Analysis, ECRTS, 2016

  6. Coverage Technique [1] - Example 6 {A: 0.5, B: True, C: 7} function F (B: Boolean, C: Byte) A > 0.75 B Execute the function TACO – RTNS 2018 [1] Stephen Law and Iain Bate, Achieving Appropriate Test Coverage for Reliable Measurement-Based Timing Analysis, ECRTS, 2016

  7. Coverage Technique [1] - Example 7 {A: 0.5, B: True, C: 7} function F (B: Boolean, C: Byte) A > 0.75 B Collect coverage metrics TACO – RTNS 2018 [1] Stephen Law and Iain Bate, Achieving Appropriate Test Coverage for Reliable Measurement-Based Timing Analysis, ECRTS, 2016

  8. Coverage Technique [1] - Example 8 {A: 0.5, B: True, C: 7} function F (B: Boolean, C: Byte) {A: 0.95 , B: True, C: 7} A > 0.75 Mutate the test vector B TACO – RTNS 2018 [1] Stephen Law and Iain Bate, Achieving Appropriate Test Coverage for Reliable Measurement-Based Timing Analysis, ECRTS, 2016

  9. Coverage Technique [1] - Example 9 {A: 0.5, B: True, C: 7} function F (B: Boolean, C: Byte) {A: 0.95 , B: True, C: 7} A > 0.75 B TACO – RTNS 2018 [1] Stephen Law and Iain Bate, Achieving Appropriate Test Coverage for Reliable Measurement-Based Timing Analysis, ECRTS, 2016

  10. Coverage Technique [1] - Example 10 {A: 0.5, B: True, C: 7} function F (B: Boolean, C: Byte) {A: 0.95 , B: True, C: 7} A > 0.75 {A: 0.95, B: True, C: 6 } B Reject poor solutions TACO – RTNS 2018 [1] Stephen Law and Iain Bate, Achieving Appropriate Test Coverage for Reliable Measurement-Based Timing Analysis, ECRTS, 2016

  11. Coverage Technique [1] - Example 11 {A: 0.5, B: True, C: 7} function F (B: Boolean, C: Byte) {A: 0.95 , B: True, C: 7} A > 0.75 {A: 0.95, B: True, C: 6 } B {A: 0.95, B: True, C: 7 } TACO – RTNS 2018 [1] Stephen Law and Iain Bate, Achieving Appropriate Test Coverage for Reliable Measurement-Based Timing Analysis, ECRTS, 2016

  12. Coverage Technique [1] - Example 12 {A: 0.5, B: True, C: 7} function F (B: Boolean, C: Byte) {A: 0.95 , B: True, C: 7} A > 0.75 {A: 0.95, B: True, C: 6 } B {A: 0.95, B: True, C: 7 } {A: 0.95, B: False , C: 7} TACO – RTNS 2018 [1] Stephen Law and Iain Bate, Achieving Appropriate Test Coverage for Reliable Measurement-Based Timing Analysis, ECRTS, 2016

  13. Coverage Technique [1] - Example 13  Search-based timing analysis tool function F (B: Boolean, C: Byte)  Support measurement-based WCET analysis A > 0.75  Drive the execution of a tested function B  Generate a sequence of test vectors  Solutions evaluated on coverage metrics  Executed blocks of code, loops branches  Different heuristics target different objectives  Requires knowledge about functions’ inputs , types and value ranges TACO – RTNS 2018

  14. TACO - Overview 14 Testport System Model Executable Profit Source code Instrumented code The system model captures all software interfaces and requirements The system model captures all software interfaces and requirements Driver TACO – RTNS 2018

  15. TACO - Overview 15 Testport System Model Executable Profit Source code Instrumented code Driver The source code is generated from the model The source code is generated from the model TACO – RTNS 2018

  16. TACO - Overview 16 Testport System Model Executable Profit Source code Instrumented code Driver Instrumentation inserts primitives to capture timing and coverage Instrumentation inserts primitives to capture timing and coverage TACO – RTNS 2018

  17. TACO - Overview 17 Testport System Model Executable Profit Source code Instrumented code The Driver [1] produces test vectors to be executed The Driver [1] produces test vectors to be executed Driver TACO – RTNS 2018

  18. TACO - Overview 18 A testport is also generated from the system model A testport is also generated from the system model Testport System Model Executable Profit Source code Instrumented code Driver TACO – RTNS 2018

  19. TACO – Testport 19 Testport Driver Source code • The testport is the interface between the test function and driver - Initialises inputs, runs and measures the function - Provides feedback to the driver • A common interface means item and driver can be swapped TACO – RTNS 2018

  20. TACO – Testport 20 Testport Driver Source code • The testport is the interface between the test function and driver - Initialises inputs, runs and measures the function - Provides feedback to the driver • A common interface means item and driver can be swapped TACO – RTNS 2018

  21. TACO - Overview 21 A testport is also generated from the system model A testport is also generated from the system model Testport System Model Executable Profit Source code Instrumented code Driver TACO – RTNS 2018

  22. TACO - Overview 22 Testport System Model Executable Profit Source code Instrumented code Testport, driver and tested function are combined Testport, driver and tested function are combined Driver TACO – RTNS 2018

  23. TACO - Overview 23 Testport Generated traces can be processed for analysis Generated traces can be processed for analysis System Model Executable Profit Source code Instrumented code Driver TACO – RTNS 2018

  24. TACO - Overview 24 Testport System Model Executable Profit Source code Instrumented code Driver TACO – RTNS 2018

  25. Reducing on-target testing 25 Testport System Model Executable Source code Instrumented code Driver TACO – RTNS 2018

  26. Reducing on-target testing 26 Host • The coverage technique [1] relies only on coverage information - Coverage is measured at the source level - Coverage is platform-independent • Host-based testing can reduce the requirements on target - Collect coverage and inputs on host - Replay selection of tests on target TACO – RTNS 2018

  27. Reducing on-target testing 27 Host • The coverage technique [1] relies only on coverage information - Coverage is measured at the source level - Coverage is platform-independent • Host-based testing can reduce the requirements on target - Collect coverage and inputs on host - Replay selection of tests on target TACO – RTNS 2018

  28. Reducing on-target testing 28 VISIUMCORE • The coverage technique [1] relies only on coverage information - Coverage is measured at the source level - Coverage is platform-independent • Host-based testing can reduce the requirements on target - Collect coverage and inputs on host - Replay selection of tests on target TACO – RTNS 2018

  29. Evaluation - Objectives 29 • TACO scalability - Can TACO be automatically applied to a full control system? • Driver portability : - Can [1] be applied on different platforms? • Driver scalability : - Can [1] be applied to a full control system? - What coverage can be achieved? • Reducing on-target testing : - Can TACO reduce requirements on target? TACO – RTNS 2018

  30. Evaluation - Configuration 30 • Unmodified control system - Designed according to DO-178C as DAL-A - 1800 items for analysis, including 250+ scheduled tasks • Two evaluation platforms: - Target: VISIUMCORE - Host: i686 • Two heuristics for driver: - Ran: Random search through input space - BCHLr: Search focused on unexplored branches and loops • 100 runs of TACO per item, heuristic and platform TACO – RTNS 2018

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