Slides

advertisement

Information Extraction for

Real-time Embedded Systems

Sebastian Fischmeister

University of Waterloo esg.uwaterloo.ca

1

Aim of the Talk

• Provide an overview of the research done within or associated with the project ORF-RE 03-045:

“Certification of Safety-critical Software-intensive

Systems”

• Create an opportunity for integrating of research results and collaborating

2

Assumptions / Facts

• Software is where the innovation is happening!

Features sell, apps everywhere

• Software size and complexity is the challenge!

Illustrating one root cause:

Bridge from Tokyo to Vancouver

3

Assumptions / Facts

• Computing systems are now beyond deep human comprehension.

• Evidence:

– Software size is growing exponentially

– Processor complexity is growing exponentially

– 80% of the developer’s time is debugging

– We have software with 100M lines of code!

4

100M LOC?

Nuclear shutdown system: 40k lines of code

F-22 Raptor (‘97): 1.7M lines of code

F-35 Joint Strike Fighter (‘06): 5.7M lines of code

Boeing 787 (‘09): 6.5M lines of code

• Current generation limousine: 100M LOC

Can we comprehend such software?

5

100K?

10M?

6

Trying to Understand the Certification Problem

• Toronto: 2,503,281

• Ontario: 13,210,667

• USA: 300M

7

You need to ensure that each person is doing the right thing at the right time.

PROJECT SAMPLER:

REAL-TIME EMBEDDED SOFTWARE

GROUP @ UNIVERSITY OF WATERLOO

8

Vision: Information Extraction

Time aware instrumentation

Time-triggered runtime verification

Tagging

Basics [TR]

Security [TR]

Coverage criterion [RTAS’09, TII]

Crit. CFG & sampling [FM’11]

ISA extension

[TR]

Mem vs. sampl.

tradeoff [RV’11]

Preemptive

[OPODIS’11] bitvec+

[LCTES’11]

Debugging, tracing & monitoring framework for

RT embedded applications

Super-loop

[LCTES’11]

Markers

[LCTES’10]

Observability in software

Time-triggered execution monitoring

9

Understanding Complex Programs

• Problem: Can we efficiently trace information flow in a software system? => Tagging

10

Network

Tag Tag Tag

Process

Tag

X

• Implemented in QNX at the kernel level

• Applied to tracing, resource scheduling, and security

• Applicable to testing, monitoring non-functional req.

Understanding Complex Programs

• Problem: Can we instrument programs without changing the timing (thus the behaviour)?

=> time-aware instrumentation

11

Instrumented

Deadline

X

Original

X X

Execution time

• Applied to three case studies (OLPC, FS, SNU)

• Software solution, hardware solution, code dup

• Useful for tracing, testing, information extraction

Monitoring Complex Programs

• Problem: Can we engineer run-time monitoring and checking of programs? => TTRV

12

Application

Steering

Program

Eval.

properties

Monitor

Observe

Report

Observer

• Time-triggered monitoring & property evaluation

• Useful for system safety, security, steering, tuning , …

Trying to Understand Complex Programs

13

• Problem: How do people try to understand software systems? => debugging study

RightFunction

RightFile

Browse

Successful debuggers

Test

Browse

Failing debuggers

Edit

SomewhereElse

Test

Edit

ReadDoc NoEdit

1 2 3 4 5 6 7 8 9 10 11 12 13

Consecutive Compilation Tries

Compile

ReadDoc

Compile

• Useful to guide future tools

• Useful to understand developers’ minds

Conclusions

• Software systems are hard to understand

• Software is growing in size and complexity

=> Developers need support to understand what is going on at run time!

• We research methods that help developers understand what the software is doing, especially tailored to (real-time) embedded systems.

• (We also work on benchmarking & real-time networking)

• (We also host the CFI Real-time Embedded Software Lab)

14

Acknowledgements

• This research was supported in part by industrial partners and the Canadian tax payer!

15

• In collaboration with Akramul Azim, Pansy Arafa, Akramul Azim,

Shay Berkovich, Borzoo Bonakdarpour, Sina Gholamian, Hany

Kashif, Patrick Lam, Samaneh Navabpour, Hiren Patel, Yassir

Rizwan, Ahmad Rehman, Johnson Thomas, Mahesh Tripunithara,

Augusto Oliveira, Wallace Wu.

Thanks.

Questions?

(PS: Postdoc positions available, email me at sfischme@uwaterloo.ca

)

Download