Integrating Automatic Backward Error Recovery in Asynchronous Rich Clients

被引:0
|
作者
Quintela-Pumares, Manuel [1 ]
Cabral, Bruno [2 ]
Fernandez-Lanvin, Daniel [1 ]
Fernandez-Alvarez, Alberto-Manuel [1 ]
机构
[1] Univ Oviedo, Comp Sci Dept, Calvo Sotelo S-N, Oviedo, Spain
[2] Univ Coimbra, Dept Informat Engn, CISUC, Polo 2 Pinhal Marrocos, Coimbra, Portugal
来源
2016 IEEE/ACM 38TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING COMPANION (ICSE-C) | 2016年
关键词
Rich Web Clients; Automatic Error Recovery; Asynchronous events; Chart libraries;
D O I
10.1145/2889160.2889241
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Rich Web Clients allow developers to manage data locally and update it from the server by means of asynchronous requests, thus providing more interactive interfaces and an improved user experience. On the other hand, they face concerning challenges regarding error management. When there is a need to update the local data through multiple asynchronous requests and it is required that all them succeed, an error on a single call can lead to having incorrect information shown to the user. Consequently, developers need to explicitly implement proper recovery mechanisms, a task that most of times is complex and highly error prone, leading to tangled code and harder maintenance, especially in an asynchronous environment. These problems could be lessened through automatic error recovery techniques, but the existing state of the art for Rich Web Client development does not support recovery from asynchronous scenarios. To cope with this problem we extended the existing error recovery technique of Reconstructors, adding to it the capability of recovering the state in the presence of several asynchronous requests. We applied this technology in a widely used open source project for rendering interactive charts, ChartJs, thus allowing the developer to effortlessly guarantee that the data shown to the user, even when it results from multiple asynchronous requests, is never inconsistent. We compare our proposal to other solutions using state of the art approaches and verify that by using Reconstructors the overall implementation requires 39.16% less lines of code, and 5.66 times less lines of code are dedicated specifically to error management, while avoiding code tangling completely. Execution time showed by reconstructors is between 5.2% and 9.3% slower than other solutions, a cost we believe is worth its benefits, and feasible for using these techniques in real world client applications.
引用
收藏
页码:192 / 201
页数:10
相关论文
共 3 条
  • [1] Automatic Error Recovery for Pronunciation Dictionaries
    Schlippe, Tim
    Ochs, Sebastian
    Ngoc Thang Vu
    Schultz, Tanja
    13TH ANNUAL CONFERENCE OF THE INTERNATIONAL SPEECH COMMUNICATION ASSOCIATION 2012 (INTERSPEECH 2012), VOLS 1-3, 2012, : 2295 - 2298
  • [2] A Novel Strategy for Automatic Error Classification and Error Recovery for Robotic Assembly in Flexible Production
    Ewa Kristiansen
    Emil Krabbe Nielsen
    Lasse Hansen
    David Bourne
    Journal of Intelligent & Robotic Systems, 2020, 100 : 863 - 877
  • [3] A Novel Strategy for Automatic Error Classification and Error Recovery for Robotic Assembly in Flexible Production
    Kristiansen, Ewa
    Nielsen, Emil Krabbe
    Hansen, Lasse
    Bourne, David
    JOURNAL OF INTELLIGENT & ROBOTIC SYSTEMS, 2020, 100 (3-4) : 863 - 877