23.01.2015 Views

reAJAX - FBK | SE - Fondazione Bruno Kessler

reAJAX - FBK | SE - Fondazione Bruno Kessler

reAJAX - FBK | SE - Fondazione Bruno Kessler

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

When <strong>reAJAX</strong> has been correctly installed, the browser list of “Tools” contains <strong>reAJAX</strong> and it<br />

provides the following set of commands:<br />

1. MutatorsInspectos<br />

2. ABS<br />

3. Tracer<br />

6. BuildFSM<br />

7. Close<br />

While the Tracer has 2 sub-menu commands:<br />

4. Tracer Start<br />

5. Tracer Stop<br />

In the rest of this tutorial we show a scenario of the <strong>reAJAX</strong> use. The scenario is based on the Cart<br />

application implementation (source code are downloadable at the <strong>reAJAX</strong> page) and it is used to<br />

show how to execute all main features of <strong>reAJAX</strong> to analyze a Web application and generate its<br />

Finite State Machine. <strong>reAJAX</strong> can be applied to fully and single-page AJAX Web application, to<br />

Web applications that partially use AJAX (e.g., in part of this GUI); and also in conventional (e.g.,<br />

not AJAX-based) application. However, we recall that its natural use and its main goal are to<br />

analyze full-AJAX application.<br />

The first step of each <strong>reAJAX</strong> execution consists in loading the stating page of the target application<br />

into the Mozilla browser enriched with the <strong>reAJAX</strong> extension. Then the execution scenario can<br />

proceed identifying the following five main steps:<br />

1a. Section of the inspector elements in the DOM of the application page;<br />

1b Selection of the GUI-events that must be monitorized since they can change the<br />

state of the selected mutator elements in the pages;<br />

2 For each inspector, definition of its abstraction function (ABS) that will be used by<br />

<strong>reAJAX</strong> to record the value reached at runtime by each inspector;<br />

3 Application execution tracing by starting and stopping the <strong>reAJAX</strong> tracer;<br />

4 Construction of the Finite State Machine (FSM) by using the collected execution<br />

traces;<br />

5 (extra <strong>reAJAX</strong>) Visualization of the generated FSM in the DOTTY<br />

( http://www.graphviz.org/ ) viewer;<br />

Notice that the steps 1a, 1b, 2, and 3 can be iteratively executed (also in different sequences) and<br />

that it is possible to go through these different steps and go back without any kind of problem<br />

and/or limitation and in which moment.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!