Validating ajax applications using a delay-based mutation technique

Validating ajax applications using a delay-based mutation technique
复制标题

DOI:
10.1145/2642937.2642996
复制
发表时间:
2014-09
期刊:
Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering
影响因子:
--
通讯作者:
Yuta Maezawa;Kazuki Nishiura;H. Washizaki;S. Honiden
Yuta Maezawa;Kazuki Nishiura;H. Washizaki;S. Honiden
中科院分区:
其他
文献类型:
--
作者:
Yuta Maezawa;Kazuki Nishiura;H. Washizaki;S. Honiden

文献摘要

相似文献

验证异步JavaScript和XML(AJAX)应用程序的挑战在于在用户环境中暴露的实际错误。几项研究提出了有效,有效的测试技术,以识别可执行故障。但是,应用程序可能具有在测试过程中未执行的故障,但可能会在用户环境中导致实际错误。尽管我们已经研究了查找``潜在故障''的静态方法,这些方法似乎会导致实际错误,但开发人员需要确认潜在的故障是否真的可以执行。本文中,我们提出了一种基于突变的测试方法,该方法在称为Jspreventer的工具中实现。即使潜在的故障在给定环境中不容易执行,我们的方法也会突变应用程序,直到使用两个基于延迟的突变操作员可执行,以操纵应用程序处理交互的时间。因此,如果Jspreventer通过测试突变的应用程序揭示了实际错误,则为开发人员提供了不可避免的故障的可执行证据。我们将方法应用于现实世界的应用程序,并发现了开发人员可以调试以提高其可靠性的实际错误。因此,Jspreventer可以帮助开发人员验证可靠的现实世界AJAX应用程序。
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.