TU Darmstadt / ULB / TUbiblio

EventBreak: Analyzing the Responsiveness of User Interfaces through Performance-Guided Test Generation

Pradel, Michael and Schuh, Parker and Necula, George and Sen, Koushik (2014):
EventBreak: Analyzing the Responsiveness of User Interfaces through Performance-Guided Test Generation.
In: Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & Applications, ACM, Portland, OR, USA, In: OOPSLA '14, 49, ISBN 978-1-4503-2585-1,
DOI: 10.1145/2714064.2660233,
[Conference or Workshop Item]

Abstract

Event-driven user interface applications typically have a single thread of execution that processes event handlers in response to input events triggered by the user, the network, or other applications. Programmers must ensure that event handlers terminate after a short amount of time because otherwise, the application may become unresponsive. This paper presents EventBreak, a performance-guided test generation technique to identify and analyze event handlers whose execution time may gradually increase while using the application. The key idea is to systematically search for pairs of events where triggering one event increases the execution time of the other event. For example, this situation may happen because one event accumulates data that is processed by the other event. We implement the approach for JavaScript-based web applications and apply it to three real-world applications. EventBreak discovers events with an execution time that gradually increases in an unbounded way, which makes the application unresponsive, and events that, if triggered repeatedly, reveal a severe scalability problem, which makes the application unusable. The approach reveals two known bugs and four previously unknown responsiveness problems. Furthermore, we show that EventBreak helps in testing that event handlers avoid such problems by bounding a handler's execution time.

Item Type: Conference or Workshop Item
Erschienen: 2014
Creators: Pradel, Michael and Schuh, Parker and Necula, George and Sen, Koushik
Title: EventBreak: Analyzing the Responsiveness of User Interfaces through Performance-Guided Test Generation
Language: German
Abstract:

Event-driven user interface applications typically have a single thread of execution that processes event handlers in response to input events triggered by the user, the network, or other applications. Programmers must ensure that event handlers terminate after a short amount of time because otherwise, the application may become unresponsive. This paper presents EventBreak, a performance-guided test generation technique to identify and analyze event handlers whose execution time may gradually increase while using the application. The key idea is to systematically search for pairs of events where triggering one event increases the execution time of the other event. For example, this situation may happen because one event accumulates data that is processed by the other event. We implement the approach for JavaScript-based web applications and apply it to three real-world applications. EventBreak discovers events with an execution time that gradually increases in an unbounded way, which makes the application unresponsive, and events that, if triggered repeatedly, reveal a severe scalability problem, which makes the application unusable. The approach reveals two known bugs and four previously unknown responsiveness problems. Furthermore, we show that EventBreak helps in testing that event handlers avoid such problems by bounding a handler's execution time.

Title of Book: Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & Applications
Series Name: OOPSLA '14
Volume: 49
Number: 10
Publisher: ACM
ISBN: 978-1-4503-2585-1
Uncontrolled Keywords: performance, responsiveness, test generation, testing, web applications
Divisions: Profile Areas
Profile Areas > Cybersecurity (CYSEC)
Event Location: Portland, OR, USA
Date Deposited: 24 Aug 2017 14:21
DOI: 10.1145/2714064.2660233
Identification Number: TUD-CS-2014-1106
Export:

Optionen (nur für Redakteure)

View Item View Item