portable runtime verification with smartphones and optical codes

17
Kim Lavoie, Corentin Leplongeon, Simon Varvaressos, Sébastien Gaboury, Sylvain Hallé Portable Runtime Verication with Smartphones and Optical Codes Fonds de recherche sur la nature et les technologies CRSNG NSERC

Upload: sylvain-halle

Post on 18-Dec-2014

182 views

Category:

Technology


3 download

DESCRIPTION

We describe a prototype architecture for the runtime monitoring of Java programs using a smartphone. An online tool can produce an AspectJ file which, when woven with the program to be monitored and executed, instantiates a GUI window where XML events from the program's execution are output in the form of QR codes. A smartphone application, using the device's embedded camera, captures these codes and converts them back into events that are then fed to an onboard runtime monitor. We illustrate the feasibility of this approach by monitoring runtime properties on the execution of a video game by pointing a handheld Android phone at the game's screen and obtaining realtime feedback.

TRANSCRIPT

Page 1: Portable runtime verification with smartphones and optical codes

Kim Lavoie, Corentin Leplongeon, Simon Varvaressos, Sébastien Gaboury, Sylvain Hallé

Portable Runtime Verification with Smartphones and Optical Codes

Fonds de recherchesur la natureet les technologies

CRSNGNSERC

Page 2: Portable runtime verification with smartphones and optical codes

instruction;instruction;instruction;

instruction;instruction;

Program

Monitor

Page 3: Portable runtime verification with smartphones and optical codes

instruction;instruction;instruction;

instruction;instruction;

Program

Monitor

Page 4: Portable runtime verification with smartphones and optical codes

instruction;instruction;instruction;

instruction;instruction;

Program

Monitor

X

Page 5: Portable runtime verification with smartphones and optical codes

instruction;instruction;instruction;

instruction;instruction;

Program

Monitor

X

Page 6: Portable runtime verification with smartphones and optical codes

instruction;instruction;instruction;

instruction;instruction;

Program

Monitor

X

vs.

Page 7: Portable runtime verification with smartphones and optical codes

instruction;instruction;instruction;

instruction;instruction;

Program Monitor

Page 8: Portable runtime verification with smartphones and optical codes

instruction;instruction;instruction;

instruction;instruction;

Program Monitor

Page 9: Portable runtime verification with smartphones and optical codes

instruction;instruction;instruction;

instruction;instruction;

Program Monitor

?

Page 10: Portable runtime verification with smartphones and optical codes

instruction;instruction;instruction;

instruction;instruction;

Program Monitor

Page 11: Portable runtime verification with smartphones and optical codes

Nintendo's R.O.B.

Page 12: Portable runtime verification with smartphones and optical codes

PROTOTYPESvoid Mario.jump(int height);

<event> <method>jump</method> <x> {this.getX();} </x> <y> {this.getY();} </y> <height> {height} </height></event>

Page 13: Portable runtime verification with smartphones and optical codes

<event> <method> jump </method> <x>3</x> <y>109</y> <height> 221 </height></event>

<event> <method> haveShell </method></event>

<event> <method> crouch </method> <x>201</x> <y>56</y></event>

. . .

. . .

Page 14: Portable runtime verification with smartphones and optical codes
Page 15: Portable runtime verification with smartphones and optical codes
Page 16: Portable runtime verification with smartphones and optical codes

Code size (bytes)

Deco

din

g r

ate

Page 17: Portable runtime verification with smartphones and optical codes

Decoding time

0.1 sec./frameMonitoring time

0.005 sec./event