HAKI: runtime verification tool for JavaScript MVC web applications

Download
2016
Bilge, İbrahim
In this thesis, we propose an efficient approach for locating inconsistencies in view-model bindings of JavaScript AngularJS web applications. JavaScript is one of the most common scripting languages used for developing web applications. It can be used to create flexible, efficient code thanks to its highly dynamic nature. In addition, many structural frameworks have been developed for building even more extensible and more dynamic web applications. One of the most popular of these frameworks is AngularJS which uses the MVC (Model-View-Controller) pattern. The dynamism of JavaScript including abstraction and layering of AngularJS can make coding very challenging by making it open for mistakes and vulnerable to inconsistencies that create unreadable, not maintainable, and particularly, unreliable code. In addition, custom web components remain a challenge for verification and consistency of the applications whereas these components are considered the biggest feature of JavaScript frameworks nowadays. Differing from the existing studies in literature, our aim in this study is to propose an effective and compact approach to locate inconsistencies in view-model bindings including type related errors and errors about custom web components. We introduce a tool called HAKI that executes runtime verification process on JavaScript - AngularJS applications and locates errors and warnings by using dynamic analysis. We evaluated our tool using two sets of experiments, one large scale real application and one smaller application with injected faults. Our tool located 55 errors in real application with 8 of them are evaluated as major errors; it also reported 35 warnings that can possibly cause errors. In addition, the runtime verification overhead is minimal.

Suggestions

An Approach to manage variability in object-oriented applications with feature models
Bulut, Ender; Şener, Cevat; Department of Computer Engineering (2014)
In this thesis, an approach to manage variability in object-oriented applications by using a feature modeling language and a simple source code generation technique has been designed and developed. This approach provides developing configurable object oriented applications in a practical way. That is, an application developed with our approach takes just a configuration file including user selections in a pre-defined domain as input and then automatically configure and manage itself with respect to these se...
3-D structure assisted reference view generation for H.264 based multi-view video coding
Gedik, O. Serdar; Oezkalayci, Burak; Alatan, Abdullah Aydın (2007-06-13)
A 3D geometry-based multi-view video coding (MVC) method is proposed. In order to utilize the spatial redundancies between multiple views, the scene geometry is estimated as dense depth maps. The dense depth estimation problem is modeled by using a Markov random field (MRF) and solved via the belief propagation algorithm. Relying on these depth maps of the scene, novel view estimates of the intermediate views of the multi-view set is obtained with a 3D warping algorithm, which also performs hole-filling in ...
Multi-view video coding via dense depth estimation
Oezkalayci, Burak; Gedik, O. Serdar; Alatan, Abdullah Aydın (2007-05-09)
A geometry-based multi-view video coding (MVC) method is proposed. In order to utilize the spatial redundancies between multiple views, the scene geometry is estimated as dense depth maps. The dense depth estimation problem is modeled by using a Markov random field (MRF) and solved via the belief propagation algorithm. Relying on these depth maps of the scene, novel view estimates of the intermediate views of the multi-view set is obtained with a 3D warping algorithm, which also performs hole-filling in the...
A knowledge based product line for semantic modeling of web service families
Orhan, Umut; Doğru, Ali Hikmet; Department of Computer Engineering (2008)
Some mechanisms to enable an effective transition from domain models to web service descriptions are developed. The introduced domain modeling support provides verification and correction on the customization part. An automated mapping mechanism from the domain model to web service ontologies is also developed. The proposed approach is based on Feature-Oriented Domain Analysis (FODA), Semantic Web technologies and ebXML Business Process Specification Schema (ebBP). Major contributions of this work are the c...
Object-based image labeling through learning by example and multi-level segmentation
Xu, Y; Duygulu, P; Saber, E; Tekalp, AM; Yarman Vural, Fatoş Tunay (Elsevier BV, 2003-06-01)
We propose a method for automatic extraction and labeling of semantically meaningful image objects using "learning by example" and threshold-free multi-level image segmentation. The proposed method scans through images, each of which is pre-segmented into a hierarchical uniformity tree, to seek and label objects that are similar to an example object presented by the user. By representing images with stacks of multi-level segmentation maps, objects can be extracted in the segmentation map level with adequate...
Citation Formats
İ. Bilge, “HAKI: runtime verification tool for JavaScript MVC web applications,” M.S. - Master of Science, Middle East Technical University, 2016.