Automatic workarounds for web applications
Automatic workarounds for web applications
复制标题
DOI:
10.1145/1882291.1882327
复制
发表时间:
2010-11
期刊:
影响因子:
--
通讯作者:
A. Carzaniga;Alessandra Gorla;Nicolò Perino;M. Pezzè
中科院分区:
文献类型:
--
作者:
A. Carzaniga;Alessandra Gorla;Nicolò Perino;M. Pezzè
We present a technique that finds and executes workarounds for faulty Web applications automatically and at runtime. Automatic workarounds exploit the inherent redundancy of Web applications, whereby a functionality of the application can be obtained through different sequences of invocations of Web APIs. In general, runtime workarounds are applied in response to a failure, and require that the application remain in a consistent state before and after the execution of a workaround. Therefore, they are ideally suited for interactive Web applications, since those allow the user to act as a failure detector with minimal effort, and also either use read-only state or manage their state through a transactional data store. In this paper we focus on faults found in the access libraries of widely used Web applications such as Google Maps. We start by classifying a number of reported faults of the Google Maps and YouTube APIs that have known workarounds. From those we derive a number of general and API-specific program-rewriting rules, which we then apply to other faults for which no workaround is known. Our experiments show that workarounds can be readily deployed within Web applications, through a simple client-side plug-in, and that program-rewriting rules derived from elementary properties of a common library can be effective in finding valid and previously unknown workarounds.