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. © 2010 ACM.

Carzaniga, A., Gorla, A., Perino, N., Pezze', M. (2010). Automatic workarounds for Web applications. In Proceedings of the 18th ACM SIGSOFT International Symposium on Foundations of Software Engineering (pp.237-246). ACM [10.1145/1882291.1882327].

Automatic workarounds for Web applications

PEZZE', MAURO
2010

Abstract

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. © 2010 ACM.
paper
Software Engineering; Self-healing; Software Redundancy; Automatic Workaround; Autonomic Systems; elf-adaptive Systemsing
English
Proceedings of the 18th ACM SIGSOFT International Symposium on Foundations of Software Engineering
2010
Proceedings of the 18th ACM SIGSOFT International Symposium on Foundations of Software Engineering
978-1-60558-791-2
2010
237
246
none
Carzaniga, A., Gorla, A., Perino, N., Pezze', M. (2010). Automatic workarounds for Web applications. In Proceedings of the 18th ACM SIGSOFT International Symposium on Foundations of Software Engineering (pp.237-246). ACM [10.1145/1882291.1882327].
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10281/29085
Citazioni
  • Scopus 60
  • ???jsp.display-item.citation.isi??? ND
Social impact