FANTASIA : A TOOL FOR AUTOMATICALLY IDENTIFYING INCONSISTENCY IN ANGULARJS

Abstract AngularJS is a JavaScript based MVC framework popular for developing Single Page Applications (SPA) development. Inconsistency may occur in AngularJS applications since JavaScript is a loosely type programing language. Most of the JavaScript errors are DOM related errors that are potentially caused by inconsistency. Mostly two types of inconsistencies namely identifier and type inconsistency occur among the modules of AngularJS. It creates hidden bugs and leads the application to perform wrong behaviors. Developers have to perform manual inspections to identify these inconsistencies. The existing approach can detect inconsistencies only for the older version of AngularJS applications. Moreover, it also omits the presence of custom directives in those applications. The recommended angular coding style guides and the new features of AngularJS are not supported by the existing tool. It is officially recommended for the developers to follow angular coding style guides and new features of AngularJS . It is also recommended to create custom directives while developing loosely coupled modules and applications. So, while identifying the inconsistencies, in the presence of the custom directives should be considered. In order to overcome the above limitation of the existing approach, an automatic approach in the form of a tool namely FANTASIA is proposed and developed that can identify inconsistencies in AngularJS MVC applications in the presences of custom directives. A fault injection study and comparative study are performed on fifteen AngularJSAngularJS is a JavaScript based MVC framework popular for developing Single Page Applications (SPA) development. Inconsistency may occur in AngularJS applications since JavaScript is a loosely type programing language. Most of the JavaScript errors are DOM related errors that are potentially caused by inconsistency. Mostly two types of inconsistencies namely identifier and type inconsistency occur among the modules of AngularJS. It creates hidden bugs and leads the application to perform wrong behaviors. Developers have to perform manual inspections to identify these inconsistencies. The existing approach can detect inconsistencies only for the older version of AngularJS applications. Moreover, it also omits the presence of custom directives in those applications. The recommended angular coding style guides and the new features of AngularJS are not supported by the existing tool. It is officially recommended for the developers to follow angular coding style guides and new features of AngularJS . It is also recommended to create custom directives while developing loosely coupled modules and applications. So, while identifying the inconsistencies, in the presence of the custom directives should be considered. In order to overcome the above limitation of the existing approach, an automatic approach in the form of a tool namely FANTASIA is proposed and developed that can identify inconsistencies in AngularJS MVC applications in the presences of custom directives. A fault injection study and comparative study are performed on fifteen AngularJS