Empirical Software Engineering

, Volume 18, Issue 2, pp 181-218

First online:

Open Access This content is freely available online to anyone, anywhere at any time.

Understanding Ajax applications by connecting client and server-side execution traces

  • Andy ZaidmanAffiliated withDelft University of Technology Email author 
  • , Nick MatthijssenAffiliated withDelft University of TechnologyUniversity of Victoria
  • , Margaret-Anne StoreyAffiliated withUniversity of Victoria
  • , Arie van DeursenAffiliated withDelft University of Technology


Ajax-enabled Web applications are a new breed of highly interactive, highly dynamic Web applications. Although Ajax allows developers to create rich Web applications, Ajax applications can be difficult to comprehend and thus to maintain. For this reason, we have created FireDetective, a tool that uses dynamic analysis at both the client (browser) and server-side to facilitate the understanding of Ajax applications. We evaluate FireDetective using (1) a pretest-posttest user study and (2) a field user study. Preliminary evidence shows that the FireDetective tool is an effective aid for Web developers striving to understand Ajax applications.


Ajax Web applications Program comprehension Reverse engineering Dynamic analysis execution traces