Scalable Software Testing and Verification Through ... · Testing Software Controllers References:...

71
Scalable Software Testing and Verification Through Heuristic Search and Optimization: Experiences and Lessons Learned Lionel Briand Interdisciplinary Centre for ICT Security, Reliability, and Trust (SnT) University of Luxembourg, Luxembourg QRS, Vancouver, August 3, 2015

Transcript of Scalable Software Testing and Verification Through ... · Testing Software Controllers References:...

Page 1: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Scalable Software Testing and Verification

Through Heuristic Search and Optimization:

Experiences and Lessons Learned

Lionel Briand

Interdisciplinary Centre for ICT Security, Reliability, and Trust (SnT)

University of Luxembourg, Luxembourg

QRS, Vancouver, August 3, 2015

Page 2: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Acknowledgements

PhD. Students:

• Vahid Garousi

• Marwa Shousha

• Zohaib Iqbal

• Reza Matinnejad

• Stefano Di Alesio

Scientists:

• Shiva Nejati

• Andrea Arcuri

• Yvan Labiche

• Arnaud Gotlieb

2

Page 3: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Scalable Software Testing and

Verification Through Heuristic

Search and Optimization

3

Page 4: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Verification, Testing

• The term “verification” is used in its wider sense: Defect detection.

• Testing is, in practice, the most common verification technique.

• Testing is about systematically, and preferably automatically, exercise a system such as to maximize chances of uncovering (important) latent faults within time constraints.

• Other forms of verifications are important too (e.g., design time, run-time), but much less present in practice.

• Decades of research have not yet significantly and widely impacted software verification practice.

4

Page 5: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Scalable? Applicable?

• Scalable: Can a technology be applied on large

artifacts (e.g., models, data sets, input spaces) and

still provide useful support within reasonable effort,

CPU and memory resources?

• Applicable: Can a technology be efficiently and

effectively applied by engineers in realistic

conditions?

– realistic ≠ universal

5

Page 6: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Metaheuristics

• “A metaheuristic is a heuristic method for solving a very general class of computational problems by combining user given black-box procedures — usually heuristics themselves — in a hopefully efficient way.” (Wikipedia)

• Hill climbing, Tabu search, Simulated Annealing, Genetic algorithms, Ant colony optimisation ….

• Our research is agnostic to any specific technology but is driven by problems – the use of metaheuristics is however a recurring pattern. Why?

7

Page 7: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Talk Outline

• Selected project examples, with industry

collaborations

• Similarities and patterns

• Lessons learned

8

Page 8: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Testing Software Controllers

References:

9

• R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous Stateflow

Controllers”, ACM ESEC/FSE 2015

• R. Matinnejad et al., “MiL Testing of Highly Configurable Continuous Controllers:

Scalable Search Using Surrogate Models”, IEEE/ACM ASE 2014

• R. Matinnejad et al., “Search-Based Automated Testing of Continuous Controllers:

Framework, Tool Support, and Case Studies”, Information and Software Technology,

Elsevier (2014)

Page 9: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Electronic Control Units (ECUs)

More functions

Comfort and variety

Safety and reliability

Faster time-to-market

Less fuel consumption

Greenhouse gas emission laws

10

Page 10: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Dynamic Continuous Controllers

11

Page 11: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

A Taxonomy of Automotive Functions

Controlling Computation

State-Based Continuous Transforming Calculating

unit convertors calculating positions,

duty cycles, etc

State machine

controllers Closed-loop

controllers (PID)

Different testing strategies are required for

different types of functions

12

Page 12: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Development Process

13

H ardw are-in-the-Loop S tage

M odel-in-the-Loop S tage

Simulink Modeling

Generic

Functional

Model

M iL Testing

S oftw are-in-the-Loop S tage

Code Generation

and Integration

Software Running

on ECU

S iL Testing

Software

Release

H iL Testing

Page 13: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

MATLAB/Simulink model

Fibonacci sequence: 1,1,2,3,5,8,13,21,…

14

Page 14: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Controller Input and Output at MIL

Initial

Desired Value

Final

Desired Value

time time

Desired Value

Actual Value

T/2 T T/2 T

Test Input Test Output

15

Page 15: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Controllers at MIL

16

Inputs: Time-dependent variables

Configuration Parameters

Page 16: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Requirements and Test Objectives

17

Initial Desired

(ID)

Desired ValueI (input)

Actual Value (output)

Final Desired

(FD)

tim eT/2 T

S m oothness

R esponsiveness

S tability

Page 17: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Test Strategy: A Search-Based Approach

18

Initial Desired (ID)

Fin

al D

esir

ed

(F

D)

Worst Case(s)?

• Continuous behavior

• Controller’s behavior can be complex

• Meta-heuristic search in (large) input space: Finding worst case inputs

• Possible because of automated oracle (feedback loop)

• Different worst cases for different requirements

• Worst cases may or may not violate requirements

Page 18: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Smoothness Objective Functions: OSmoothness

Test Case A Test Case B

OSmoothness(Test Case A) > OSmoothness(Test Case B)

We want to find test scenarios which maximize OSmoothness

19

Page 19: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

20

Search Elements

• Search Space:

• Initial and desired values, configuration parameters

• Search Technique:

• (1+1) EA, variants of hill climbing, GAs …

• Search Objective:

• Objective/fitness function for each requirement

• Evaluation of Solutions

• Simulation of Simulink model => fitness computation

• Result:

• Worst case scenarios or values to the input variables that (are

more likely to) break the requirement at MiL level

• Stress test cases based on actual hardware (HiL)

20

Page 20: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Solution Overview (Simplified Version)

21

H eatM ap D iagram

1. E xploration

time

Desired Value

Actual Value

0 1 2

0.0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.0

Initial Desired

Final Desired

Page 21: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Automotive Example

• Supercharger bypass flap controller

Flap position is bounded within [0..1]

Implemented in MATLAB/Simulink

34 sub-components decomposed into 6

abstraction levels

The simulation time T=2 seconds

Flap position = 0

(open)

Flap position = 1 (closed) 22

Page 22: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Finding Seeded Faults Inject Fault

23

Page 23: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Analysis – Fitness increase over iterations

24

Number of Iterations

Fitness

Page 24: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Analysis II – Search over different regions

25

0.315

0.316

0.317

0.319

0.321

0.323

0.324

0.326

0.327

0.329

0.330

0 10 20 30 40 50 60 70 80 90 100

0.328

0.325

0.320

0.318

0 10 20 30 40 50 60 70 80 90 1000 10 20 30 40 50 60 70 80 90 100

Random Search

(1+1) EA

0 10 20 30 40 50 60 70 80 90 100

0.0166

0.0168

0.0170

0.0176

0.0180

0.0178

0.0172

0.0160

0.0162

0.0164 Random Search

(1+1) EA

0 10 20 30 40 50 60 70 80 90 100 0 10 20 30 40 50 60 70 80 90 100

0.0174

Average (1+1) EA Distribution Random Search Distribution

Number of Iterations

Page 25: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

• We found much worse scenarios during MiL testing than our

partner had found so far, and much worse than random

search (baseline)

• These scenarios are also run at the HiL level, where testing is

much more expensive: MiL results -> test selection for HiL

• But further research was needed:

– Simulations are expensive

– Configuration parameters

– Dynamically adjust search algorithms in different

subregions (exploratory <-> exploitative)

Conclusions

i.e.,31s.H ence,the horizontalaxis ofthe diagram s in Figure 8 show s the num ber ofiterations instead ofthe com putation tim e.In addition,w e startboth random search and(1+1)EA from the sam e initialpoint,i.e.,the w orstcase from the exploration step.

O verallin allthe regions,(1+1)EA eventually reaches its plateau ata value higherthan the random search plateau value.Further,(1+1)EA ism ore determ inistic than ran-dom ,i.e.,the distribution of(1+1)EA hasasm allervariance than thatofrandom search,especially w hen reaching the plateau (see Figure 8).In som e regions(e.g.,Figure 8(d)),how ever,random reaches its plateau slightly fasterthan (1+1)EA ,w hile in som e otherregions (e.g.Figure 8(a)),(1+1)EA is faster.W e w illdiscuss the relationship betw eenthe region landscape and the perform ance of(1+1)EA in R Q 3.R Q 3.W e drew the landscape forthe 11 regions in ourexperim ent.Forexam ple,Fig-ure 9 show sthe landscape fortw o selected regionsin Figures7(a)and 7(b).Specifically,Figure 9(a)show s the landscape forthe region in Figure 7(b)w here (1+1)EA is fasterthan random ,and Figure 9(b)show s the landscape forthe region in Figure 7(a)w here(1+1)EA is slow erthan random search.

0.30

0.31

0.32

0.33

0.34

0.35

0.36

0.37

0.38

0.39

0.40

0.70 0.71 0.72 0.73 0.74 0.75 0.76 0.77 0.78 0.79 0.80

0.10

0.11

0.12

0.13

0.14

0.15

0.16

0.17

0.18

0.19

0.20

0.90 0.91 0.92 0.93 0.94 0.95 0.96 0.97 0.98 0.99 1.00

(a) (b)

Fig.9.D iagram s representing the landscape for tw o representative H eatM ap regions:(a) Land-scape forthe region in Figure 7(b).(b)Landscape forthe region in Figure 7(a).

O urobservations show thatthe regions surrounded m ostly by dark shaded regionstypically have a cleargradientbetw een the initialpointofthe search and the w orstcasepoint(see e.g.,Figure 9(a)).H ow ever,dark regions located in a generally lightshadedarea have a noisiershape w ith severallocaloptim um (see e.g.,Figure 9(b)).Itisknow nthatforregionslike Figure 9(a),exploitative search w orksbest,w hile forthose like Fig-ure 9(b),explorative search is m ostsuitable [10].This is confirm ed in ourw ork w hereforFigure 9(a),ourexploitative search,i.e.,(1+1)EA w ith σ = 0.01,isfasterand m oreeffective than random search,w hereasforFigure 9(b),oursearch isslow erthan randomsearch.W e applied a m ore explorative version of(1+1)EA w here w e letσ = 0.03 to theregion in Figure 9(b).The result(Figure 10)show s thatthe m ore explorative (1+1)EAisnow both fasterand m ore effective than random search.W e conjecture that,from theH eatM ap diagram s,w e can predictw hich search algorithm to use for the single-statesearch step.Specifically,fordark regions surrounded by dark shaded areas,w e suggestan exploitative (1+1)EA (e.g.,σ = 0.01),w hile fordark regions located in lightshadedareas,w e recom m end a m ore explorative (1+1)EA (e.g.,σ = 0.03).

6 R elated W orkTesting continuous controlsystem s presents a num berofchallenges,and isnotyetsup-ported by existing toolsand techniques[4,1,3].The m odeling languagesthathave been

13

26

Page 26: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Testing in the Configuration Space

• MIL testing for all feasible configurations

• The search space is much larger

• The search is much slower (Simulations of Simulink models are expensive)

• Results are harder to visualize

• Not all configuration parameters matter for all objective functions

27

Page 27: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Modified Process and Technology

28

Visualization of the

8-dimension space

using regression trees Dimensionality

reduction to identify

the significant variables Surrogate modeling

to predict the objective

function and

speed up the search

Page 28: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

A Taxonomy of Automotive Functions

Controlling Computation

State-Based Continuous Transforming Calculating

unit convertors calculating positions,

duty cycles, etc

State machine

controllers Closed-loop

controllers (PID)

Different testing strategies are required for

different types of functions

38

Page 29: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Differences with Close-Loop Controllers

39

• Mixed discrete-continuous behavior: Simulink stateflows

• Much quicker simulation time

• No feedback loop -> no automated oracle

• The main testing cost is the manual analysis of output signals

• Goal: Minimize test suites

• Challenge: Test selection

• Entirely different approach to testing

Page 30: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Selection Strategies

• Adaptive Random Selection

• White-box Structural Coverage

• State Coverage

• Transition Coverage

• Output Diversity

• Failure-Based Selection Criteria (search)

• Domain specific failure patterns

• Output Stability

• Output Continuity

40

Page 31: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Stability

41

Page 32: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Continuity

42

Page 33: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Minimizing CPU Shortage Risks

During Integration

References:

43

• S. Nejati et al., ‘‘Minimizing CPU Time Shortage Risks in Integrated Embedded

Software’’, in 28th IEEE/ACM International Conference on Automated Software

Engineering (ASE 2013), 2013

• S. Nejati, L. Briand, “Identifying Optimal Trade-Offs between CPU Time Usage and

Temporal Constraints Using Search”, ACM International Symposium on Software

Testing and Analysis (ISSTA 2014), 2014

Page 34: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Automotive: Distributed Development

44

Page 35: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Software Integration

45

Page 36: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

• Develop software optimized for

their specific hardware

• Provide part suppliers with

runnables (exe)

• Integrate car makers software

with their own platform

• Deploy final software on ECUs

and send them to car makers

Car Makers Part Suppliers

Stakeholders

46

Page 37: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

• Objective: Effective execution and

synchronization of runnables

• Some runnables should execute

simultaneously or in a certain order

• Objective: Effective usage of

CPU time

• Max CPU time used by all the

runnables should remain as low

as possible over time

Car Makers Part Suppliers

Different Objectives

47

Page 38: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

An overview of an integration process in the

automotive domain

AUTOSAR Models sw runnables

sw runnables AUTOSAR Models

Glue

48

Page 39: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

49

CPU time shortage

• Static cyclic scheduling: predictable, analyzable

• Challenge – Many OS tasks and their many runnables run within a limited

available CPU time • The execution time of the runnables may exceed their time slot

• Our goal – Reducing the maximum CPU time used per time slot to be

able to • Minimize the hardware cost

• Reduce the probability of overloading the CPU in practice

• Enable addition of new functions incrementally

49

5ms 10ms 15ms 20ms 25ms 30ms 35ms 40ms

5ms 10ms 15ms 20ms 25ms 30ms 35ms 40ms

(a)

(b)

Fig.4. Tw o possible C PU tim e usage sim ulations foran O S task w ith a 5m scycle:(a) U sage w ith bursts,and (b) D esirable usage.

its corresponding glue code starts by a set of declarationsand definitions for com ponents, runnables, ports, etc. It thenincludes the initialization partfollow ed by the execution part.In the execution part, there is one routine for each O S task.These routines are called by the scheduler of the underlyingO S in every cycle of their corresponding task. Inside eachO S task routine, the runnables related to that O S task arecalled based on their period. For exam ple, in Figure 3, w eassum e that the cycle of the task o1 is 5m s, and the periodof the runnables r1,r2,and r3 are 10m s,20m s and 100m s,respectively.The value oftim eristhe globalsystem tim e.Sincethe cycle of o1 is 5,the value of tim er in the Task o1() routineis alw ays a m ultiple of 5. R unnables r1, r2 and r3 are thencalled w henever the value of tim er is zero, or is divisible bythe period of r1,r2 and r3,respectively.

A lthough A U TO SA R provides a standard m eans forO EM sand suppliers to exchange their softw are, and essentiallyenables the process in Figure 1, the autom otive integrationprocess still rem ains com plex and erroneous. A m ajor inte-gration challenge is to m inim ize the risk of C PU shortagew hile running the integrated system in Figure 1.Specifically,consider an O S task w ith a 5m s cycle. Figure 4 show s tw opossible C PU tim e usage sim ulations of this task over eighttim e slots betw een 0 to 40m s.In Figure 4(a),there are burstsofhigh C PU usage attw o tim e slots at0m s and 35m s,w hilethe C PU usage sim ulation in Figure 4(b) is m ore stable anddoes not include any bursts. In both sim ulations, the totalC PU usage is the sam e,butthe distribution of the C PU usageover tim e slots is different. The sim ulation in Figure 4(b) ism ore desirable because: (1) It m inim izes the hardw are costsby low ering the m axim um required C PU tim e.(2)Itfacilitatesthe assignm ent of new runnables to an O S task, and hence,enables the addition ofnew functions as itis typically done inthe increm entaldesign ofcarm anufacturers.(3)Itreduces thepossibility of overloading C PU as the C PU tim e usage is lesslikely to exceed the O S task cycle (i.e.,5m s)in any tim e slot.Ideally, a C PU usage sim ulation is desirable if in each tim eslot,there is a sufficiently large safety m argin of unused C PUtim e. D ue to inaccuracies in estim ating runnables’executiontim es,itis expected thatthe unused m argin shrinks w hen thesystem runs in a realcar.H ence,the larger is this m argin,thelow er is the probability of exceeding the lim it in practice.

In this paper, w e study the problem of m inim izing burstsof C PU tim e usage for a softw are system com posed of alarge num ber of concurrent runnables. A know n strategy toelim inate high C PU usage bursts is to shift the start tim e(offset) of runnables,i.e.,to inserta delay prior to the startofthe execution of runnables [5].O ffsets of the runnables m ustsatisfy three constraints:C 1.The offsetvalues should notlead

to deadline m isses,i.e.,they should notcause the runnables torun passed their periods.C 2.Since the runnables are invokedby O S tasks, the offset values of each runnable should bedivisible by the O S task cycle related to thatrunnable.C 3.Theoffset values should not interfere w ith data dependency andsynchronization relations betw een runnables. For exam ple,suppose runnables r1 and r2 have to execute in the sam e tim eslotbecause they need to synchronize.The offsetvalues ofr1and r2 should be chosen such that they still run in the sam etim e slotafter being shifted by their offsets.There are fourim portantcontextfactors thatare in line w ith

A U TO SA R [13],and have influenced our w ork:

C F1. The runnables are not m em ory-bound, i.e., the C PUtim e is not significantly affected by the low -bound m em oryallocation activities such as transferring data in and out ofthe disk and garbage collection.H ence,our analysis of C PUtim e usage is not affected by constraints related to m em oryresources (see Section III-B ).C F2.The runnables are O ffset-free [4],thatis the offsetof

a runnable can be freely chosen as long as itdoes notviolatethe tim ing constraints C 1-C 3 (see Section III-B ).C F3. The runnables assigned to different O S tasks are

independent in the sense that they do not com m unicate w ithone another and do not share m em ory.H ence,the C PU tim eused by an O S task during each cycle is notaffected by otherO S tasks running concurrently. O ur analysis in this paper,therefore,focuses on individualO S tasks.C F4.The execution tim es of the runnables are rem arkably

sm aller than the runnables’periods and the O S task cycles.TypicalO S task cyclesare around 1m s to 5m s.The runnables’periods are typically betw een 10m s to 1s,w hile the runnables’execution tim es are betw een 10ns = 10− 5m s to 0.2m s.

O ur goal is to com pute offsets for runnables such that theC PU usage is m inim ized, and further,the tim ing constraints,C 1-C 3, discussed earlier above hold. This requires solvinga constraint-based optim ization problem ,and can be done inthree w ays:(1) A ttem pting to predictoptim aloffsets in a de-term inistic w ay,e.g.,algorithm s based on real-tim e schedulingtheory [6].In general, these algorithm s explore a very sm allpart of the search space, i.e., w orst/best case situations only(see Section V for a discussion).(2) Form ulating the problemas a (sym bolic) constraint m odel and applying a system aticconstraint solver [14], [15]. D ue to assum ption C F4 above,the search space in our problem is too large, resulting ina huge constraint m odel that does not fit in m em ory (seeSection V for m ore details). (3) U sing m etaheuristic search-based techniques [9].These techniques are partofthe generalclass of stochastic optim ization algorithm s w hich em ploysom e degree of random ness to find optim al (or as optim alas possible) solutions to hard problem s.These approaches areapplied to a w ide range ofproblem s,and are used in this paper.

III. SE A R C H -B A SE D C PU U SA G E M IN IM IZ A T IO N

In this section,w e describe our search-based technique forC PU usage m inim ization. W e first define a notation for ourproblem in Section III-A .W e form alize the tim ing constraints,

Page 40: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

50

Using runnable offsets (delay times)

5ms 10ms 15ms 20ms 25ms 30ms 35ms 40ms

5ms 10ms 15ms 20ms 25ms 30ms 35ms 40ms ✗

Inserting runnables’ offsets

Offsets have to be chosen such that

the maximum CPU usage per time slot is minimized, and further,

the runnables respect their period

the runnables respect their time slot

the runnables satisfy their synchronization constraints

50

Page 41: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

55

Search algorithms

Case Study: an automotive software system with 430 runnables,

search space = 10^27

Running the system without offsets

Simulation for the runnables in our case study and

corresponding to the lowest max CPU usage found by HC

5.34 ms

Optimized offset assignment

2.13 ms

- The objective function is the max CPU usage of a 2s-simulation of

runnables

- The search modifies one offset at a time, and updates other offsets

only if timing constraints are violated

- Single-state search algorithms for discrete spaces (HC, Tabu)

55

Page 42: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

4ms

3ms

2ms

Car Makers Part Suppliers

1 slot

2 slots

3 slots

Trade-off between Objectives

58

Page 43: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Trade-off curve # of

slots

CPU time usage (ms) 2.04 1.45

12

21

14

1.56

1

2

3

Boundary Trade Offs

Interesting Solutions

59

Page 44: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Multi-objective search

• Multi-objective genetic algorithms (NSGA II)

• Supporting decision making and negotiation between

stakeholders

60 Number of Slots-NSGAII & Number of Slots-Random

10 15 20 25 30 35 40 45

1.5

2.0

2.5

3.0

Total N um ber of Tim e S lots

Max C

PU Tim

e U

sage (ms)

R andom (25,000)N S G A -II(25,000)

A

B

12

1.45

C

Objectives:

• (1) Max CPU time

• (2) Maximum time

slots between

“dependent” tasks

Page 45: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

62

Conclusions

- Search algorithms to compute

offset values that reduce the

max CPU time needed

- Generate reasonably good

results for a large automotive

system and in a small amount

of time

- Used multi-objective search

tool for establishing trade-off

between relaxing

synchronization constraints and

maximum CPU time usage

62

Page 46: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Schedulability Analysis and Stress

Testing

References:

63

• S. Di Alesio et al., “Stress Testing of Task Deadlines: A Constraint Programming

Approach”, IEEE ISSRE 2013, San Jose, USA

• S. Di Alesio et al., “Worst-Case Scheduling of Software Tasks – A Constraint

Optimization Model to Support Performance Testing, Constraint Programming (CP),

2014

• S. Di Alesio er al. “Combining Genetic Algorithms and Constraint Programming to

Support Stress Testing”, ACM TOSEM (forthcoming)

Page 47: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Problem

• Schedulability analysis encompasses techniques that try to predict whether all (critical) tasks are schedulable, i.e., meet their deadlines

• Stress testing runs carefully selected test cases that have a high probability of leading to deadline misses

• Stress testing is complementary to schedulability analysis

• Testing is typically expensive, e.g., hardware in the loop

• Finding stress test cases is difficult

65

Page 48: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Finding Stress Test Cases is Difficult

66

0

1

2

3

4

5

6

7

8

9

j0, j1 , j2 arrive at at0 , at1 , at2 and must

finish before dl0 , dl1 , dl2

J1 can miss its deadline dl1 depending on

when at2 occurs!

0

1

2

3

4

5

6

7

8

9

j0 j1 j2 j0 j1 j2

at0

dl0

dl1

at1 dl2

at2

T

T

at0

dl0 dl1

at1

at2

dl2

Page 49: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Challenges and Solutions

• Ranges for arrival times form a very large input space

• Task interdependencies and properties constrain

what parts of the space are feasible

• We re-expressed the problem as a constraint

optimisation problem

• Constraint programming (e.g., IBM CPLEX)

67

Page 50: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Context

68

Drivers

(Software-Hardware Interface)

Control Modules

Alarm Devices

(Hardware)

Multicore Architecture

Real-Time Operating System

System monitors gas leaks and fire in

oil extraction platforms

Page 51: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Constraint Optimization

69

Constraint Optimization Problem

Static Properties of Tasks

(Constants)

Dynamic Properties of Tasks

(Variables)

Performance Requirement

(Objective Function)

OS Scheduler Behaviour

(Constraints)

Page 52: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Process and Technologies

70

UML Modeling (e.g., MARTE)

Constraint Optimization

Optimization Problem

(Find arrival times that maximize the chance of

deadline misses)

System Platform

Solutions

(Task arrival times likely to lead to

deadline misses)

Deadline Misses Analysis

System Design Design Model (Time and

Concurrency Information)

INPUT

OUTPUT

Stress Test Cases

Constraint

Programming (CP)

Page 53: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Challenges and Solutions

• Scalability problem: Constraint programming (e.g.,

IBM CPLEX) cannot handle such large input spaces

(CPU, memory)

• Solution: Combine metaheuristic search and

constraint programming

– metaheuristic search identifies high risk regions in

the input space

– constraint programming finds provably worst-case

schedules within these (limited) regions

– Achieve (nearly) GA efficiency and CP

effectiveness

71

Page 54: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Combining CP and GA

72

Page 55: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Environment-Based Testing

of Soft Real-Time Systems

References:

74

• Z. Iqbal et al., “Empirical Investigation of Search Algorithms for Environment Model-

Based Testing of Real-Time Embedded Software”, ACM ISSTA, 2012

• Z. Iqbal et al., “Environment Modeling and Simulation for Automated Testing of Soft

Real-Time Embedded Software”, Software and System Modeling (Springer), 2014

Page 56: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Objectives

• Model-based system testing

– Independent test team

– Black-box

– Environment models

75

Environment

Simulator

Test cases

Environment Models

Test oracle

Page 57: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Environment: Domain Model

76

Page 58: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Environment: Behavioral Model

77

Page 59: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Test Case Generation

• Test objectives: Reach “error” states (critical environment

states)

• Test Case: (1) Environment and (2) Simulation Configuration

– (1) Number of instances for each component in domain model,

e.g., number of items on conveying belt

– (2) Setting non-deterministic properties of the environment,

e.g., speed of sorter’s left and right arms

• Oracle: Reaching an “error” state

• Metaheuristics: search for test cases getting to error state

• Fitness function

– Distance from error state

– Distance from satisfying guard conditions

– Time distance

– Time in “risky” states

78

Page 60: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Stress Testing focused on

Concurrency Faults

Reference:

79

M. Shousha et al., ”A UML/MARTE Model Analysis Method for

Uncovering Scenarios Leading to Starvation and Deadlocks in

Concurrent Systems”, IEEE Transactions on Software Engineering

38(2), 2012

Page 61: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Stress Testing of Distributed Systems

Reference:

80

V. Garousi et al., "Traffic-aware Stress Testing of Distributed Real-Time

Systems Based on UML Models using Genetic Algorithms", Journal of

Systems and Software (Elsevier), 81(2), 2008

Page 62: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

81

Objective Function

Search Space

Search Technique

Search to optimize objective function

Metaheuristics, constraint programming

Scalability: A small part of the search space is traversed

Model: Guidance to worst case, high risk scenarios across space

Reasonable modeling effort based on standards or extension

Heuristics: Extensive empirical studies are required

General Pattern: Using Metaheuristics

Page 63: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Scalability

82

Page 64: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Project examples

• Scalability is the most common verification challenge in

practice

• Testing closed-loop controllers

– Large input and configuration space

– Smart heuristics to avoid simulations (machine

learning)

• Schedulability analysis and stress testing

– Large space of possible arrival times

– Constraint programming cannot scale by itself

– CP was carefully combined with genetic algorithms

83

Page 65: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Scalability: Lessons Learned

• Scalability must be part of the problem definition and

solution from the start, not a refinement or an after-

thought

• Meta-heuristic search, by necessity, has been an essential

part of the solutions, along with, in some cases, machine

learning, statistics, etc.

• Scalability often leads to solutions that offer “best

answers” within time constraints, but no guarantees

• Scalability analysis should be a component of every

research project – otherwise it is unlikely to be adopted in

practice

• How many papers research papers do include even a

minimal form of scalability analysis?

84

Page 66: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Applicability

85

Page 67: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Project examples

• Applicability requires to account for the domain and context

• Testing controllers

– Relies on Simulink only

– No additional modeling or complex translation

– Within domains, differences have huge implications in terms of applicability (open versus closed loop controllers)

• Minimizing risks of CPU shortage

– Trade-off between between effective synchronisation and CPU usage

– Trade-off achieved through multiple objective GA search and appropriate decision tool

• Schedulability analysis and stress testing

– Near deadline misses must be identified

86

Page 68: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Applicability: Lessons Learned

• In software engineering, and verification in particular,

just understanding the real problems in real contexts

is difficult

• What are the inputs required by the proposed

technique?

• How does it fit in development practices?

• Is the output what engineers require to make

decisions?

• There is no unique solution to a problem as they tend

to be context dependent, but a context is rarely

unique and often representative of a domain

87

Page 69: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Discussion

• Metaheuristic search

– Tends to be versatile, easy to tailor to a new problem

– Entails acceptable modeling requirements

– Can provide “best” answers at any time

– Scalable

But

– Not a proof, no certainty

– Though in practice (complex) models are not fully correct,

there is no certainty anyway

– Effectiveness of search guidance is key and must be

experimented and evaluated

– Models are key to provide adequate guidance

88

Page 70: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Talk Summary

• Focus: Meta-heuristic Search to enable scalable verification and testing.

• Scalability is the main challenge in practice.

• Drew lessons learned from example projects in collaboration with industry, on real systems and in real verification contexts.

• Results show that meta-heuristic search contributes to mitigate the scalability problem.

• It has shown to lead to applicable solutions in practice.

• Solutions are very context dependent.

• It is usually combined with a variety of other complementary techniques: system modeling, constraint solving, machine learning, statistics.

90

Page 71: Scalable Software Testing and Verification Through ... · Testing Software Controllers References: 9 • R. Matinnejad et al., “Effective Test Suites for Mixed Discrete-Continuous

Scalable Software Testing and Verification

Through Heuristic Search and Optimization

Lionel Briand

Interdisciplinary Centre for ICT Security, Reliability, and Trust (SnT)

University of Luxembourg, Luxembourg

QRS, Vancouver, August 3, 2015

SVV lab: svv.lu

SnT: www.securityandtrust.lu