Validating Ajax applications using a delay-based mutation technique

Yuta Maezawa, Kazuki Nishiura, Shinichi Honiden, Hironori Washizaki

    Research output: Chapter in Book/Report/Conference proceedingConference contribution

    4 Citations (Scopus)

    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.

    Original languageEnglish
    Title of host publicationASE 2014 - Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering
    PublisherAssociation for Computing Machinery, Inc
    Pages491-501
    Number of pages11
    ISBN (Print)9781450330138
    DOIs
    Publication statusPublished - 2014
    Event29th ACM/IEEE International Conference on Automated Software Engineering, ASE 2014 - Vasteras
    Duration: 2014 Sep 152014 Sep 19

    Other

    Other29th ACM/IEEE International Conference on Automated Software Engineering, ASE 2014
    CityVasteras
    Period14/9/1514/9/19

    Fingerprint

    XML
    Testing

    Keywords

    • Ajax
    • JavaScript
    • Software validation
    • Web application testing

    ASJC Scopus subject areas

    • Software

    Cite this

    Maezawa, Y., Nishiura, K., Honiden, S., & Washizaki, H. (2014). Validating Ajax applications using a delay-based mutation technique. In ASE 2014 - Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering (pp. 491-501). Association for Computing Machinery, Inc. https://doi.org/10.1145/2642937.2642996

    Validating Ajax applications using a delay-based mutation technique. / Maezawa, Yuta; Nishiura, Kazuki; Honiden, Shinichi; Washizaki, Hironori.

    ASE 2014 - Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering. Association for Computing Machinery, Inc, 2014. p. 491-501.

    Research output: Chapter in Book/Report/Conference proceedingConference contribution

    Maezawa, Y, Nishiura, K, Honiden, S & Washizaki, H 2014, Validating Ajax applications using a delay-based mutation technique. in ASE 2014 - Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering. Association for Computing Machinery, Inc, pp. 491-501, 29th ACM/IEEE International Conference on Automated Software Engineering, ASE 2014, Vasteras, 14/9/15. https://doi.org/10.1145/2642937.2642996
    Maezawa Y, Nishiura K, Honiden S, Washizaki H. Validating Ajax applications using a delay-based mutation technique. In ASE 2014 - Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering. Association for Computing Machinery, Inc. 2014. p. 491-501 https://doi.org/10.1145/2642937.2642996
    Maezawa, Yuta ; Nishiura, Kazuki ; Honiden, Shinichi ; Washizaki, Hironori. / Validating Ajax applications using a delay-based mutation technique. ASE 2014 - Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering. Association for Computing Machinery, Inc, 2014. pp. 491-501
    @inproceedings{180462883ff14d34b7fe6f1b0683008c,
    title = "Validating Ajax applications using a delay-based mutation technique",
    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.",
    keywords = "Ajax, JavaScript, Software validation, Web application testing",
    author = "Yuta Maezawa and Kazuki Nishiura and Shinichi Honiden and Hironori Washizaki",
    year = "2014",
    doi = "10.1145/2642937.2642996",
    language = "English",
    isbn = "9781450330138",
    pages = "491--501",
    booktitle = "ASE 2014 - Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering",
    publisher = "Association for Computing Machinery, Inc",

    }

    TY - GEN

    T1 - Validating Ajax applications using a delay-based mutation technique

    AU - Maezawa, Yuta

    AU - Nishiura, Kazuki

    AU - Honiden, Shinichi

    AU - Washizaki, Hironori

    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

    SN - 9781450330138

    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

    ER -