Aarhus Universitets segl

Automated Testing Techniques for Event-Driven and Dynamically Typed Software Applications

Publikation: Bog/antologi/afhandling/rapportPh.d.-afhandling

Standard

Automated Testing Techniques for Event-Driven and Dynamically Typed Software Applications. / Adamsen, Christoffer Quist.
Aarhus Universitet, 2018. 220 s.

Publikation: Bog/antologi/afhandling/rapportPh.d.-afhandling

Harvard

APA

CBE

MLA

Vancouver

Author

Adamsen, Christoffer Quist. / Automated Testing Techniques for Event-Driven and Dynamically Typed Software Applications. Aarhus Universitet, 2018. 220 s.

Bibtex

@phdthesis{19934cdc3a0b4ba08234066feaef6f9c,
title = "Automated Testing Techniques for Event-Driven and Dynamically Typed Software Applications",
abstract = "Software testing is the process of executing a software application on a set of inputs, and determining if the application behaves as intended on these inputs. This thesis focuses on testing techniques for event-driven and dynamically typed applications. This is an important class of software, which includes mobile and web applications, that can be challenging to test thoroughly. When developers test their applications, they face several challenges. In particular, they need to: (i) generate a set of inputs to their application, along with oracles that specify intended behavior, (ii) react to test failures by repairing the application, and (iii) determine when the testing is adequate.The goal of this thesis is to design new techniques that can help developers in addressing these challenges. The thesis identifies opportunities for improving over state-of-the-art techniques, and proposes new techniques to address each of the challenges. We present a new methodology that extends the error detection capabilities of existing, manually written Android test suites. In the context of JavaScript web applications, we present practical race detectors for detecting AJAX and initialization races, and a technique that can prevent event race errors by restricting the nondeterminism. Finally, we present a notion of test completeness for dynamic languages, along with a hybrid static/dynamic analysis framework that approximates test completeness, and demonstrate the usefulness of test completeness facts. To demonstrate the usefulness of the proposed techniques, they have been implemented in publicly available prototypes, which have been evaluated on real-world software applications.",
author = "Adamsen, {Christoffer Quist}",
year = "2018",
month = may,
day = "23",
language = "English",
publisher = "Aarhus Universitet",

}

RIS

TY - BOOK

T1 - Automated Testing Techniques for Event-Driven and Dynamically Typed Software Applications

AU - Adamsen, Christoffer Quist

PY - 2018/5/23

Y1 - 2018/5/23

N2 - Software testing is the process of executing a software application on a set of inputs, and determining if the application behaves as intended on these inputs. This thesis focuses on testing techniques for event-driven and dynamically typed applications. This is an important class of software, which includes mobile and web applications, that can be challenging to test thoroughly. When developers test their applications, they face several challenges. In particular, they need to: (i) generate a set of inputs to their application, along with oracles that specify intended behavior, (ii) react to test failures by repairing the application, and (iii) determine when the testing is adequate.The goal of this thesis is to design new techniques that can help developers in addressing these challenges. The thesis identifies opportunities for improving over state-of-the-art techniques, and proposes new techniques to address each of the challenges. We present a new methodology that extends the error detection capabilities of existing, manually written Android test suites. In the context of JavaScript web applications, we present practical race detectors for detecting AJAX and initialization races, and a technique that can prevent event race errors by restricting the nondeterminism. Finally, we present a notion of test completeness for dynamic languages, along with a hybrid static/dynamic analysis framework that approximates test completeness, and demonstrate the usefulness of test completeness facts. To demonstrate the usefulness of the proposed techniques, they have been implemented in publicly available prototypes, which have been evaluated on real-world software applications.

AB - Software testing is the process of executing a software application on a set of inputs, and determining if the application behaves as intended on these inputs. This thesis focuses on testing techniques for event-driven and dynamically typed applications. This is an important class of software, which includes mobile and web applications, that can be challenging to test thoroughly. When developers test their applications, they face several challenges. In particular, they need to: (i) generate a set of inputs to their application, along with oracles that specify intended behavior, (ii) react to test failures by repairing the application, and (iii) determine when the testing is adequate.The goal of this thesis is to design new techniques that can help developers in addressing these challenges. The thesis identifies opportunities for improving over state-of-the-art techniques, and proposes new techniques to address each of the challenges. We present a new methodology that extends the error detection capabilities of existing, manually written Android test suites. In the context of JavaScript web applications, we present practical race detectors for detecting AJAX and initialization races, and a technique that can prevent event race errors by restricting the nondeterminism. Finally, we present a notion of test completeness for dynamic languages, along with a hybrid static/dynamic analysis framework that approximates test completeness, and demonstrate the usefulness of test completeness facts. To demonstrate the usefulness of the proposed techniques, they have been implemented in publicly available prototypes, which have been evaluated on real-world software applications.

M3 - Ph.D. thesis

BT - Automated Testing Techniques for Event-Driven and Dynamically Typed Software Applications

PB - Aarhus Universitet

ER -