This is a regularly-updated blog documenting myself and my progress through my PhD in developing a modelling language for interactive web applications.
Contact me via e-mail.
Follow me on Twitter: @soundasleep.
Thesis Status
Entry Archive
< 2015 | 2016
  • No entries yet; why not write one?
Important Feeds
3 February 2010
Profiling the Performance of IAML Test Cases
I was interested in improving the performance of my test cases, so I decided to write a few profiling methods so I can analyse what is taking the most time (the first fundamental rule of optimisation: know what to optimise). The preliminary results (executed only on a single large test case of 9 test methods) are interesting:

overall test times

13% of the time is spent inferring model elements;
54% of the time is spent executing code generation;
4% of the time is spent copying previously generated (cached) code generation files;
and 29% of the time is spent actually navigating the generated application.

However, these results are affected by the code generation cache. If I only consider the first test method (i.e. there is no way to reuse previously cached information), I get a more accurate representation of the necessary time for a single test case (which does very little web application navigation):

initial setup time

Here we can see the initial inference time and the initial code generation time - notice they are identical (in seconds) to the overall test time.

If we remove these constant costs, we can get a picture of the average cost per test case:

individual web actions

12% is spent loading from cache;
11% is spent waiting for AJAX calls to return; and
70% is spent navigating around the application otherwise.

More investigation is necessary to actually see which parts of my tests I need to focus optimisation on (by profiling the entire test suite, for example).
Read Thoughts (1) -
30 November 2009
ASE 09 and musical test cases
Two weeks ago I attended the ASE 09 conference, where I was presenting at the Doctoral symposium. It was a really enjoyable conference and I met a lot of great people; hopefully I will be able to attend the next years. I still have a lot of notes that I have to transcribe into my research material though. I also want to upload a copy of my slides online.

Last month, I found a cute little plugin for Eclipse that adds instant aural feedback to your running test cases. Essentially every passed test adds a pleasant note, whereas a failed test plays an instantly noticable incorrect chord.

It is particularly amusing right now, as the album I am listening to right now is mostly written in C Major, so I am enjoying an additional layer of improvisation Mr. Green
Music: Pink Floyd In the Flesh

All page and entry contents are the property of their authors.
All other code, images and intellectual property is copyright © Jevon Wright 2006. All rights reserved.