kirancodes.me
To Proof Maintenance & Beyond!

Validating ajax applications using a delay-based mutation technique

Yuta Maezawa, Kazuki Nishiura, Hironori Washizaki, Shinichi Honiden

Abstract

The challenge of validating Asynchronous JavaScript and XML (Ajax) applications lies in actual errors exposed in a user environment. Several studies have proposed effective and efficient testing techniques to identify executable faults. However, the applications might have faults that are not executed during testing, but might cause actual errors in a user environment. Although we have investigated static methods for finding ``potential faults'' that seem to cause actual errors if executed, developers need to confirm whether or not the potential faults are actually executable. Herein, we propose a mutation-based testing method implemented in a tool called JSPreventer. Even if the potential faults are not easily executable in a given environment, our method mutates the applications until they are executable using two delay-based mutation operators to manipulate the timing of the applications handling interactions. Thus, JSPreventer provides executable evidences of the not-easily-executable faults for developers, if it reveals actual errors by testing the mutated applications. We applied our method to real-world applications and found actual errors that developers could debug to improve their reliability. Therefore, JSPreventer can help developers validate reliable real-world Ajax applications.

BibTeX
@inproceedings{Maezawa-al:ASE14,
  author    = {Yuta Maezawa and
               Kazuki Nishiura and
               Hironori Washizaki and
               Shinichi Honiden},
  title     = {Validating ajax applications using a delay-based mutation technique},
  booktitle = {ASE},
  pages     = {491--502},
  publisher = {{ACM}},
  year      = {2014},
}

Related papers