TY - GEN
T1 - Validating Ajax applications using a delay-based mutation technique
AU - Maezawa, Yuta
AU - Nishiura, Kazuki
AU - Honiden, Shinichi
AU - Washizaki, Hironori
N1 - Publisher Copyright:
© 2014 ACM.
PY - 2014
Y1 - 2014
N2 - 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.
AB - 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.
KW - Ajax
KW - JavaScript
KW - Software validation
KW - Web application testing
UR - http://www.scopus.com/inward/record.url?scp=84908615007&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84908615007&partnerID=8YFLogxK
U2 - 10.1145/2642937.2642996
DO - 10.1145/2642937.2642996
M3 - Conference contribution
AN - SCOPUS:84908615007
T3 - ASE 2014 - Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering
SP - 491
EP - 501
BT - ASE 2014 - Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering
PB - Association for Computing Machinery, Inc
T2 - 29th ACM/IEEE International Conference on Automated Software Engineering, ASE 2014
Y2 - 15 September 2014 through 19 September 2014
ER -