SlideShare a Scribd company logo
FANTASIA: A Tool for Automatically
Identifying Inconsistency in AngularJS MVC
Applications
12th ICSEA , October 8 - 12, 2017 - Athens, Greece
Md Rakib Hossain Misu, Kazi Sakib
Institute of Information Technology
University of Dhaka
Dhaka, Bangladesh
bsse0516@iit.du.ac.bd, sakib@iit.du.ac.bd
Israt Fatema
Institute of Information Technology
University of Dhaka
Dhaka, Bangladesh
Presented By
Presentation Outline
• Introduction
• Background
• Related Work
• Motivation
• Proposed Approach: FANTASIA
• Evaluation
• Result Analysis
• Artifacts
9/30/2018 FANTASIA 2
Introduction
 Concept of MVC patterns
• MVC or PAC
• The Model
• The View
• The Controller
 JavaScript MVC framework
• Separation of Concerns
• AJAX Communications
• DOM Manipulation
• AngularJS, Backbone.js, and Ember.js
9/30/2018 FANTASIA 3
Background
 AngularJS Client-end JavaScript MVC framework.
 Contains different reusable modules.
 Depends on identifier and communicate via data.
 65% JavaScript faults are DOM related faults [1].
 Manual inspection to detect inconsistency
9/30/2018 FANTASIA 4
Related Work
9/30/2018 FANTASIA 5
DOM Related Fault in JavaScript
 AUTOFLOX shows that about 79% of reported
JavaScript errors and faults are DOM related [6]
 65% of JavaScript faults are DOM related faults that
occur because of the wrong interaction of JavaScript
code and DOM element using incorrect identifier [1]
 Non-MVC applications and frameworks are considered
in those study.
 Contain various architectural patterns compared to
AngularJS MVC framework [2]
 These works are not compatible to resolve inconsistency
issues in AngularJS MVC applications
Inconsistency in JavaScript
 Among 460 developers, 39% of those consider
that silent failures caused by identifier or type
inconsistencies [7]
 TypeDevil [3] cannot find inconsistency in
AngularJS MVC applications since to find
type and identifier inconsistencies in MVC
applications, both the controller JavaScript and
view HTML code should be analyzed
 AUREBESH [4] cannot detect inconsistencies
because it does not analyze the presence of
custom directives
Motivation
9/30/2018 FANTASIA 6
Model and Controller View
$scope.tittle is not used in the view
Motivation Cont.
9/30/2018 FANTASIA 7
Custom Directive Usage
Custom Directive Template
Proposed Approach: FANTASIA
9/30/2018 FANTASIA 8
Evaluation
 Experimental Dataset: 25 AngularJS MVC applications from
AngularJS GitHub page [9].
• Class A: 15 applications containing MVC module
• Class B: 10 applications containing both MVC modules along with custom
directives
 Fault Injection Study
• 10 types of mutations are considered [4].
• Mutations were injected into the source code of those applications
• Run on the mutated applications and counted the number of successful and
failed detections
9/30/2018 FANTASIA 9
Result Analysis on Class A
9/30/2018 FANTASIA 10
FANTASIA produces overall 97.63% recall and 100% precision to
correctly detect inconsistency in those 15 applications similar to existing
approach AUREBESH
Result Analysis on Class B
9/30/2018 FANTASIA 11
When custom directives are present, FANTASIA outperforms with a
significant increase of overall 96.66% recall and 100% precision
comparing to 76.97% recall and 100% precision of AUREBESH
Artifacts
9/30/2018 FANTASIA 12
Tool Demonstration
 https://www.youtube.com/watch?v=ksqxrX9-SfI
Source code of FANTASIA
 https://github.com/MisuBeImp/FANTASIA
Node Package Manager (npm)
 https://www.npmjs.com/package/fantasia-inconsistency-detector
References
[1] F. Ocariza, K. Bajaj, K. Pattabiraman, and A. Mesbah, “An empirical study of client-side javascript bugs,” in 2013
ACM/IEEE International Symposium on Empirical Software Engineering and Measurement. IEEE, 2013, pp. 55–64
[2 ] F. S. Ocariza Jr, K. Pattabiraman, and A. Mesbah, “Vejovis: suggesting fixes for javascript faults,” in Proceedings of the
36th International Conference on Software Engineering. ACM, 2014, pp. 837–847
[3] M. Pradel, P. Schuh, and K. Sen, “Typedevil: Dynamic type inconsistency analysis for javascript,” in 2015 IEEE/ACM
37th IEEE International Conference on Software Engineering, vol. 1. IEEE, 2015, pp. 314–324
[4] F. S. Ocariza Jr, K. Pattabiraman, and A. Mesbah, “Detecting inconsistencies in javascript mvc applications,” in
Proceedings of the 37th International Conference on Software Engineering-Volume 1. IEEE Press, 2015, pp. 325–335
[5] F. S. Ocariza Jr, K. Pattabiraman, and B. Zorn, “Javascript errors in the wild: An empirical study,” in Software Reliability
Engineering (ISSRE), 2011 IEEE 22nd International Symposium on. IEEE, 2011, pp. 100– 109
[6] F. S. Ocariza Jr, K. Pattabiraman, and A. Mesbah, “Autoflox: An automatic fault localizer for client-side javascript,” in
2012 IEEE Fifth International Conference on Software Testing, Verification and Validation. IEEE, 2012, pp. 31–40
[7] M. Ramos, M. T. Valente, R. Terra, and G. Santos, “Angularjs in the wild: a survey with 460 developers,” arXiv preprint
arXiv:1608.02012, 2016
[8] AngularJS, “AngularJS.org,” https://angularjs.org/, 2017, [Online], [Accessed 2017-06-15]
[9] GitHub, “GitHub/AngularJS,” https://github.com/angular/angular.js, 2017, [Online], [Accessed 2017-06-15].
9/30/2018 FANTASIA 13
Thank You
9/30/2018 FANTASIA 14

More Related Content

Similar to FANTASIA: A Tool for Automatically Identifying Inconsistency in AngularJS MVC Applications

Getting Started with Spring Framework
Getting Started with Spring FrameworkGetting Started with Spring Framework
Getting Started with Spring Framework
Edureka!
 
Resume (2).docx
Resume (2).docxResume (2).docx
Resume (2).docx
RoshanChaubey
 
An evaluation of distributed datastores using the app scale cloud platform
An evaluation of distributed datastores using the app scale cloud platformAn evaluation of distributed datastores using the app scale cloud platform
An evaluation of distributed datastores using the app scale cloud platform
himanshuvaishnav
 
IRJET- A Study Focused on Web Application Development using MVC Design Pa...
IRJET-  	  A Study Focused on Web Application Development using MVC Design Pa...IRJET-  	  A Study Focused on Web Application Development using MVC Design Pa...
IRJET- A Study Focused on Web Application Development using MVC Design Pa...
IRJET Journal
 
Recovery of Traceability Links and Behavior Models for Software Maintenance,...
Recovery of Traceability Links and Behavior Models for Software Maintenance,...Recovery of Traceability Links and Behavior Models for Software Maintenance,...
Recovery of Traceability Links and Behavior Models for Software Maintenance,...
Hironori Washizaki
 
Spring tutorials
Spring tutorialsSpring tutorials
Spring tutorials
TIB Academy
 
Avinash_Radhakrishnan_Resume_Latest
Avinash_Radhakrishnan_Resume_LatestAvinash_Radhakrishnan_Resume_Latest
Avinash_Radhakrishnan_Resume_Latest
Avinash Radhakrishnan
 
MVC
MVCMVC
Angular Vs React Vs Vue.pptx
Angular Vs React Vs Vue.pptxAngular Vs React Vs Vue.pptx
Angular Vs React Vs Vue.pptx
Albiorix Technology
 
IRJET- MVC Framework: A Modern Web Application Development Approach and Working
IRJET- MVC Framework: A Modern Web Application Development Approach and WorkingIRJET- MVC Framework: A Modern Web Application Development Approach and Working
IRJET- MVC Framework: A Modern Web Application Development Approach and Working
IRJET Journal
 
A Brief Note On Asp.Net And Cloud Computing Essay
A Brief Note On Asp.Net And Cloud Computing EssayA Brief Note On Asp.Net And Cloud Computing Essay
A Brief Note On Asp.Net And Cloud Computing Essay
Lanate Drummond
 
IRJET- A Repository Application Developed using .Net MVC and Angularjs for In...
IRJET- A Repository Application Developed using .Net MVC and Angularjs for In...IRJET- A Repository Application Developed using .Net MVC and Angularjs for In...
IRJET- A Repository Application Developed using .Net MVC and Angularjs for In...
IRJET Journal
 
Resume
ResumeResume
Ajs ppt
Ajs pptAjs ppt
AngularJS : Superheroic JavaScript MVW Framework
AngularJS : Superheroic JavaScript MVW FrameworkAngularJS : Superheroic JavaScript MVW Framework
AngularJS : Superheroic JavaScript MVW Framework
Edureka!
 
Mvc
MvcMvc
Mvc
abhigad
 
Advait Joshi Resume
Advait Joshi ResumeAdvait Joshi Resume
Advait Joshi Resume
AdvaitJoshi10
 
Android DesignArchitectures.pptx
Android DesignArchitectures.pptxAndroid DesignArchitectures.pptx
Android DesignArchitectures.pptx
SafnaSaff1
 
Intelligent Software Engineering: Synergy between AI and Software Engineering...
Intelligent Software Engineering: Synergy between AI and Software Engineering...Intelligent Software Engineering: Synergy between AI and Software Engineering...
Intelligent Software Engineering: Synergy between AI and Software Engineering...
Tao Xie
 
MSR 2022 Foundational Contribution Award Talk: Software Analytics: Reflection...
MSR 2022 Foundational Contribution Award Talk: Software Analytics: Reflection...MSR 2022 Foundational Contribution Award Talk: Software Analytics: Reflection...
MSR 2022 Foundational Contribution Award Talk: Software Analytics: Reflection...
Tao Xie
 

Similar to FANTASIA: A Tool for Automatically Identifying Inconsistency in AngularJS MVC Applications (20)

Getting Started with Spring Framework
Getting Started with Spring FrameworkGetting Started with Spring Framework
Getting Started with Spring Framework
 
Resume (2).docx
Resume (2).docxResume (2).docx
Resume (2).docx
 
An evaluation of distributed datastores using the app scale cloud platform
An evaluation of distributed datastores using the app scale cloud platformAn evaluation of distributed datastores using the app scale cloud platform
An evaluation of distributed datastores using the app scale cloud platform
 
IRJET- A Study Focused on Web Application Development using MVC Design Pa...
IRJET-  	  A Study Focused on Web Application Development using MVC Design Pa...IRJET-  	  A Study Focused on Web Application Development using MVC Design Pa...
IRJET- A Study Focused on Web Application Development using MVC Design Pa...
 
Recovery of Traceability Links and Behavior Models for Software Maintenance,...
Recovery of Traceability Links and Behavior Models for Software Maintenance,...Recovery of Traceability Links and Behavior Models for Software Maintenance,...
Recovery of Traceability Links and Behavior Models for Software Maintenance,...
 
Spring tutorials
Spring tutorialsSpring tutorials
Spring tutorials
 
Avinash_Radhakrishnan_Resume_Latest
Avinash_Radhakrishnan_Resume_LatestAvinash_Radhakrishnan_Resume_Latest
Avinash_Radhakrishnan_Resume_Latest
 
MVC
MVCMVC
MVC
 
Angular Vs React Vs Vue.pptx
Angular Vs React Vs Vue.pptxAngular Vs React Vs Vue.pptx
Angular Vs React Vs Vue.pptx
 
IRJET- MVC Framework: A Modern Web Application Development Approach and Working
IRJET- MVC Framework: A Modern Web Application Development Approach and WorkingIRJET- MVC Framework: A Modern Web Application Development Approach and Working
IRJET- MVC Framework: A Modern Web Application Development Approach and Working
 
A Brief Note On Asp.Net And Cloud Computing Essay
A Brief Note On Asp.Net And Cloud Computing EssayA Brief Note On Asp.Net And Cloud Computing Essay
A Brief Note On Asp.Net And Cloud Computing Essay
 
IRJET- A Repository Application Developed using .Net MVC and Angularjs for In...
IRJET- A Repository Application Developed using .Net MVC and Angularjs for In...IRJET- A Repository Application Developed using .Net MVC and Angularjs for In...
IRJET- A Repository Application Developed using .Net MVC and Angularjs for In...
 
Resume
ResumeResume
Resume
 
Ajs ppt
Ajs pptAjs ppt
Ajs ppt
 
AngularJS : Superheroic JavaScript MVW Framework
AngularJS : Superheroic JavaScript MVW FrameworkAngularJS : Superheroic JavaScript MVW Framework
AngularJS : Superheroic JavaScript MVW Framework
 
Mvc
MvcMvc
Mvc
 
Advait Joshi Resume
Advait Joshi ResumeAdvait Joshi Resume
Advait Joshi Resume
 
Android DesignArchitectures.pptx
Android DesignArchitectures.pptxAndroid DesignArchitectures.pptx
Android DesignArchitectures.pptx
 
Intelligent Software Engineering: Synergy between AI and Software Engineering...
Intelligent Software Engineering: Synergy between AI and Software Engineering...Intelligent Software Engineering: Synergy between AI and Software Engineering...
Intelligent Software Engineering: Synergy between AI and Software Engineering...
 
MSR 2022 Foundational Contribution Award Talk: Software Analytics: Reflection...
MSR 2022 Foundational Contribution Award Talk: Software Analytics: Reflection...MSR 2022 Foundational Contribution Award Talk: Software Analytics: Reflection...
MSR 2022 Foundational Contribution Award Talk: Software Analytics: Reflection...
 

Recently uploaded

A review on techniques and modelling methodologies used for checking electrom...
A review on techniques and modelling methodologies used for checking electrom...A review on techniques and modelling methodologies used for checking electrom...
A review on techniques and modelling methodologies used for checking electrom...
nooriasukmaningtyas
 
Textile Chemical Processing and Dyeing.pdf
Textile Chemical Processing and Dyeing.pdfTextile Chemical Processing and Dyeing.pdf
Textile Chemical Processing and Dyeing.pdf
NazakatAliKhoso2
 
basic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdfbasic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdf
NidhalKahouli2
 
ISPM 15 Heat Treated Wood Stamps and why your shipping must have one
ISPM 15 Heat Treated Wood Stamps and why your shipping must have oneISPM 15 Heat Treated Wood Stamps and why your shipping must have one
ISPM 15 Heat Treated Wood Stamps and why your shipping must have one
Las Vegas Warehouse
 
A SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMS
A SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMSA SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMS
A SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMS
IJNSA Journal
 
Recycled Concrete Aggregate in Construction Part II
Recycled Concrete Aggregate in Construction Part IIRecycled Concrete Aggregate in Construction Part II
Recycled Concrete Aggregate in Construction Part II
Aditya Rajan Patra
 
TIME DIVISION MULTIPLEXING TECHNIQUE FOR COMMUNICATION SYSTEM
TIME DIVISION MULTIPLEXING TECHNIQUE FOR COMMUNICATION SYSTEMTIME DIVISION MULTIPLEXING TECHNIQUE FOR COMMUNICATION SYSTEM
TIME DIVISION MULTIPLEXING TECHNIQUE FOR COMMUNICATION SYSTEM
HODECEDSIET
 
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...
University of Maribor
 
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
171ticu
 
Engineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdfEngineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdf
abbyasa1014
 
Recycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part IIIRecycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part III
Aditya Rajan Patra
 
Understanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine LearningUnderstanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine Learning
SUTEJAS
 
ACEP Magazine edition 4th launched on 05.06.2024
ACEP Magazine edition 4th launched on 05.06.2024ACEP Magazine edition 4th launched on 05.06.2024
ACEP Magazine edition 4th launched on 05.06.2024
Rahul
 
CSM Cloud Service Management Presentarion
CSM Cloud Service Management PresentarionCSM Cloud Service Management Presentarion
CSM Cloud Service Management Presentarion
rpskprasana
 
Engine Lubrication performance System.pdf
Engine Lubrication performance System.pdfEngine Lubrication performance System.pdf
Engine Lubrication performance System.pdf
mamamaam477
 
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
IJECEIAES
 
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsKuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
Victor Morales
 
Literature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptxLiterature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptx
Dr Ramhari Poudyal
 
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
Yasser Mahgoub
 
Casting-Defect-inSlab continuous casting.pdf
Casting-Defect-inSlab continuous casting.pdfCasting-Defect-inSlab continuous casting.pdf
Casting-Defect-inSlab continuous casting.pdf
zubairahmad848137
 

Recently uploaded (20)

A review on techniques and modelling methodologies used for checking electrom...
A review on techniques and modelling methodologies used for checking electrom...A review on techniques and modelling methodologies used for checking electrom...
A review on techniques and modelling methodologies used for checking electrom...
 
Textile Chemical Processing and Dyeing.pdf
Textile Chemical Processing and Dyeing.pdfTextile Chemical Processing and Dyeing.pdf
Textile Chemical Processing and Dyeing.pdf
 
basic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdfbasic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdf
 
ISPM 15 Heat Treated Wood Stamps and why your shipping must have one
ISPM 15 Heat Treated Wood Stamps and why your shipping must have oneISPM 15 Heat Treated Wood Stamps and why your shipping must have one
ISPM 15 Heat Treated Wood Stamps and why your shipping must have one
 
A SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMS
A SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMSA SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMS
A SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMS
 
Recycled Concrete Aggregate in Construction Part II
Recycled Concrete Aggregate in Construction Part IIRecycled Concrete Aggregate in Construction Part II
Recycled Concrete Aggregate in Construction Part II
 
TIME DIVISION MULTIPLEXING TECHNIQUE FOR COMMUNICATION SYSTEM
TIME DIVISION MULTIPLEXING TECHNIQUE FOR COMMUNICATION SYSTEMTIME DIVISION MULTIPLEXING TECHNIQUE FOR COMMUNICATION SYSTEM
TIME DIVISION MULTIPLEXING TECHNIQUE FOR COMMUNICATION SYSTEM
 
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...
 
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
 
Engineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdfEngineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdf
 
Recycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part IIIRecycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part III
 
Understanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine LearningUnderstanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine Learning
 
ACEP Magazine edition 4th launched on 05.06.2024
ACEP Magazine edition 4th launched on 05.06.2024ACEP Magazine edition 4th launched on 05.06.2024
ACEP Magazine edition 4th launched on 05.06.2024
 
CSM Cloud Service Management Presentarion
CSM Cloud Service Management PresentarionCSM Cloud Service Management Presentarion
CSM Cloud Service Management Presentarion
 
Engine Lubrication performance System.pdf
Engine Lubrication performance System.pdfEngine Lubrication performance System.pdf
Engine Lubrication performance System.pdf
 
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
 
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsKuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
 
Literature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptxLiterature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptx
 
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
 
Casting-Defect-inSlab continuous casting.pdf
Casting-Defect-inSlab continuous casting.pdfCasting-Defect-inSlab continuous casting.pdf
Casting-Defect-inSlab continuous casting.pdf
 

FANTASIA: A Tool for Automatically Identifying Inconsistency in AngularJS MVC Applications

  • 1. FANTASIA: A Tool for Automatically Identifying Inconsistency in AngularJS MVC Applications 12th ICSEA , October 8 - 12, 2017 - Athens, Greece Md Rakib Hossain Misu, Kazi Sakib Institute of Information Technology University of Dhaka Dhaka, Bangladesh bsse0516@iit.du.ac.bd, sakib@iit.du.ac.bd Israt Fatema Institute of Information Technology University of Dhaka Dhaka, Bangladesh Presented By
  • 2. Presentation Outline • Introduction • Background • Related Work • Motivation • Proposed Approach: FANTASIA • Evaluation • Result Analysis • Artifacts 9/30/2018 FANTASIA 2
  • 3. Introduction  Concept of MVC patterns • MVC or PAC • The Model • The View • The Controller  JavaScript MVC framework • Separation of Concerns • AJAX Communications • DOM Manipulation • AngularJS, Backbone.js, and Ember.js 9/30/2018 FANTASIA 3
  • 4. Background  AngularJS Client-end JavaScript MVC framework.  Contains different reusable modules.  Depends on identifier and communicate via data.  65% JavaScript faults are DOM related faults [1].  Manual inspection to detect inconsistency 9/30/2018 FANTASIA 4
  • 5. Related Work 9/30/2018 FANTASIA 5 DOM Related Fault in JavaScript  AUTOFLOX shows that about 79% of reported JavaScript errors and faults are DOM related [6]  65% of JavaScript faults are DOM related faults that occur because of the wrong interaction of JavaScript code and DOM element using incorrect identifier [1]  Non-MVC applications and frameworks are considered in those study.  Contain various architectural patterns compared to AngularJS MVC framework [2]  These works are not compatible to resolve inconsistency issues in AngularJS MVC applications Inconsistency in JavaScript  Among 460 developers, 39% of those consider that silent failures caused by identifier or type inconsistencies [7]  TypeDevil [3] cannot find inconsistency in AngularJS MVC applications since to find type and identifier inconsistencies in MVC applications, both the controller JavaScript and view HTML code should be analyzed  AUREBESH [4] cannot detect inconsistencies because it does not analyze the presence of custom directives
  • 6. Motivation 9/30/2018 FANTASIA 6 Model and Controller View $scope.tittle is not used in the view
  • 7. Motivation Cont. 9/30/2018 FANTASIA 7 Custom Directive Usage Custom Directive Template
  • 9. Evaluation  Experimental Dataset: 25 AngularJS MVC applications from AngularJS GitHub page [9]. • Class A: 15 applications containing MVC module • Class B: 10 applications containing both MVC modules along with custom directives  Fault Injection Study • 10 types of mutations are considered [4]. • Mutations were injected into the source code of those applications • Run on the mutated applications and counted the number of successful and failed detections 9/30/2018 FANTASIA 9
  • 10. Result Analysis on Class A 9/30/2018 FANTASIA 10 FANTASIA produces overall 97.63% recall and 100% precision to correctly detect inconsistency in those 15 applications similar to existing approach AUREBESH
  • 11. Result Analysis on Class B 9/30/2018 FANTASIA 11 When custom directives are present, FANTASIA outperforms with a significant increase of overall 96.66% recall and 100% precision comparing to 76.97% recall and 100% precision of AUREBESH
  • 12. Artifacts 9/30/2018 FANTASIA 12 Tool Demonstration  https://www.youtube.com/watch?v=ksqxrX9-SfI Source code of FANTASIA  https://github.com/MisuBeImp/FANTASIA Node Package Manager (npm)  https://www.npmjs.com/package/fantasia-inconsistency-detector
  • 13. References [1] F. Ocariza, K. Bajaj, K. Pattabiraman, and A. Mesbah, “An empirical study of client-side javascript bugs,” in 2013 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement. IEEE, 2013, pp. 55–64 [2 ] F. S. Ocariza Jr, K. Pattabiraman, and A. Mesbah, “Vejovis: suggesting fixes for javascript faults,” in Proceedings of the 36th International Conference on Software Engineering. ACM, 2014, pp. 837–847 [3] M. Pradel, P. Schuh, and K. Sen, “Typedevil: Dynamic type inconsistency analysis for javascript,” in 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, vol. 1. IEEE, 2015, pp. 314–324 [4] F. S. Ocariza Jr, K. Pattabiraman, and A. Mesbah, “Detecting inconsistencies in javascript mvc applications,” in Proceedings of the 37th International Conference on Software Engineering-Volume 1. IEEE Press, 2015, pp. 325–335 [5] F. S. Ocariza Jr, K. Pattabiraman, and B. Zorn, “Javascript errors in the wild: An empirical study,” in Software Reliability Engineering (ISSRE), 2011 IEEE 22nd International Symposium on. IEEE, 2011, pp. 100– 109 [6] F. S. Ocariza Jr, K. Pattabiraman, and A. Mesbah, “Autoflox: An automatic fault localizer for client-side javascript,” in 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation. IEEE, 2012, pp. 31–40 [7] M. Ramos, M. T. Valente, R. Terra, and G. Santos, “Angularjs in the wild: a survey with 460 developers,” arXiv preprint arXiv:1608.02012, 2016 [8] AngularJS, “AngularJS.org,” https://angularjs.org/, 2017, [Online], [Accessed 2017-06-15] [9] GitHub, “GitHub/AngularJS,” https://github.com/angular/angular.js, 2017, [Online], [Accessed 2017-06-15]. 9/30/2018 FANTASIA 13