15.02.2013 Views

reverse engineering – recent advances and applications - OpenLibra

reverse engineering – recent advances and applications - OpenLibra

reverse engineering – recent advances and applications - OpenLibra

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

GUIsurfer: A Reverse Engineering Framework for User Interface Software<br />

GUIsurfer: A Reverse Engineering Framework for User Interface Software 15<br />

Fig. 7. Agenda’s betweenness values (highest betweenness values represented with thicker<br />

edges)<br />

Considering Figure 5 where edges represent decision logic in the Agenda GUI layer, the GUI’s<br />

overall cyclomatic complexity is 18 <strong>and</strong> each Agenda’s window has a cyclomatic complexity<br />

less or equal than 10. In <strong>applications</strong> there are many good reasons to limit cyclomatic<br />

complexity. Complex structures are more prone to error, are harder to analyse, to test, <strong>and</strong> to<br />

maintain. The same reasons could be applied to user interfaces. McCabe proposed a limit of<br />

10 for functions’s code, but limits as high as 15 have been used successfully as well (Thomas,<br />

1976). McCabe suggest limits greater than 10 for projects that have operational advantages<br />

over typical projects, for example formal design. User interfaces can apply the same limits of<br />

complexity, i.e. each window behaviour complexity could be limited to a particular cyclomatic<br />

complexity. Defining appropriate values is an interesting topic for further research, but one<br />

that is out of the scope of the present Chapter.<br />

45

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

Saved successfully!

Ooh no, something went wrong!