reAJAX - FBK | SE - Fondazione Bruno Kessler
reAJAX - FBK | SE - Fondazione Bruno Kessler
reAJAX - FBK | SE - Fondazione Bruno Kessler
- 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.