DocumentCode
1605993
Title
Detecting Inconsistencies in JavaScript MVC Applications
Author
Ocariza, Frolin S. ; Pattabiraman, Karthik ; Mesbah, Ali
Author_Institution
Univ. of British Columbia, Vancouver, BC, Canada
Volume
1
fYear
2015
Firstpage
325
Lastpage
335
Abstract
Higher demands for more reliable and maintainable JavaScript-based web applications have led to the recent development of MVC (Model-View-Controller) frameworks. One of the main advantages of using these frameworks is that they abstract out DOM API method calls, which are one of the leading causes of web application faults, due to their often complicated interaction patterns. However, MVC frameworks are susceptible to inconsistencies between the identifiers and types of variables and functions used throughout the application. In response to this problem, we introduce a formal consistency model for web applications made using MVC frameworks. We propose an approach -- called Aurebesh -- that automatically detects inconsistencies in such applications. We evaluate Aurebesh by conducting a fault injection experiment and by running it on real applications. Our results show that Aurebesh is accurate, with an overall recall of 96.1% and a precision of 100%. It is also useful in detecting bugs, allowing us to find 15 real-world bugs in applications built on Angular JS, a popular MVC framework.
Keywords
Internet; Java; program debugging; software fault tolerance; AUREBESH; AngularJS; JavaScript-based Web applications; MVC applications; bugs detection; fault injection; formal consistency model; inconsistencies detection; model-view-controller frameworks; Analytical models; Computer bugs; Data models; Detectors; HTML; Motion pictures; Reliability;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Engineering (ICSE), 2015 IEEE/ACM 37th IEEE International Conference on
Conference_Location
Florence
Type
conf
DOI
10.1109/ICSE.2015.52
Filename
7194585
Link To Document