Sunteți pe pagina 1din 13

Lakitu

Run6me  Repair  of  So:ware  Faults  using  Event-­‐Driven  


Monitoring

expressiveintelligencestudio

UC  Santa  Cruz
Chris  Lewis
h*p://www.cflewis.com
Is  Chess  Broken?

Prove  to  me  chess  doesn’t  fail  in  all  states  (informally)
State  space  is  a  hard  problem

expressiveintelligencestudio   UC  Santa  Cruz


Possible  Answers

We  can’t  all  build  supercomputers


We  can’t  test  everything
Hiring  hundreds  of  humans  doesn’t  scale

expressiveintelligencestudio   UC  Santa  Cruz


Embrace  Failure

Assume  failures  are  inevitable


This  makes  our  problem  more  tractable

expressiveintelligencestudio   UC  Santa  Cruz


Preview

Architecture
How  it  works

Run5me  efficiency
Speed  of  evaluaAon

Programmer  efficiency
Easy  to  implement

Design  efficiency
LiberaAng  program  design

expressiveintelligencestudio   UC  Santa  Cruz


Lakitu

expressiveintelligencestudio   UC  Santa  Cruz


Architecture

System events

System Message Rule Engine


Under Test Broker
Repair events

expressiveintelligencestudio   UC  Santa  Cruz


Architecture

System events

Lakitu

Repair events

expressiveintelligencestudio   UC  Santa  Cruz


RunAme  Efficiency

Uses  a  modified  RETE  algorithm,  


making  comparisons  efficient

expressiveintelligencestudio   UC  Santa  Cruz


Programmer  Efficiency

rule  "marioJumpTooLong"
       duration(2s)
       when
               $jump  :  Jump($mario  :  mario)
               not(Landing(this  after[0s,2s]  $jump))
       then
               logger.info("Mario  jumped  too  long");
               
               try  {
                       send(new  MarioMovement(false,  null,  null)));
               }  catch  (Exception  e)  {
                       ...
               }
end

expressiveintelligencestudio   UC  Santa  Cruz


Design  Efficiency

Encourage  crea5vity,  not  paranoia

expressiveintelligencestudio   UC  Santa  Cruz


Review

Architecture
How  it  works

Run5me  efficiency
Speed  of  evaluaAon

Programmer  efficiency
Easy  to  implement

Design  efficiency
LiberaAng  program  design

expressiveintelligencestudio   UC  Santa  Cruz


Conclusion

Failures  are  inevitable,  


but  detec5ng  and  repairing
them  is  possible

Chris  Lewis
h*p://www.cflewis.com

expressiveintelligencestudio   UC  Santa  Cruz

S-ar putea să vă placă și