Matching Items (2)
Description
The Internet is transforming its look, in a short span of time we have come very far from black and white web forms with plain buttons to responsive, colorful and appealing user interface elements. With the sudden rise in demand of web applications, developers are making full use of the power of HTML5, JavaScript and CSS3 to cater to their users on various platforms. There was never a need of classifying the ways in which these languages can be interconnected to each other as the size of the front end code base was relatively small and did not involve critical business logic. This thesis focuses on listing and defining all dependencies between HTML5, JavaScript and CSS3 that will help developers better understand the interconnections within these languages. We also explore the present techniques available to a developer to make his code free of dependency related defects. We build a prototype tool, HJCDepend, based on our model, which aims at helping developers discover and remove defects early in the development cycle.
ContributorsVasugupta (Author) / Gary, Kevin (Thesis advisor) / Lindquist, Timothy (Committee member) / Bansal, Ajay (Committee member) / Arizona State University (Publisher)
Created2014
Description
One of the most common errors developers make is to provide incorrect string
identifiers across the HTML5-JavaScript-CSS3 stack. The existing literature shows that a
significant percentage of defects observed in real-world codebases belong to this
category. Existing work focuses on semantic static analysis, while this thesis attempts to
tackle the challenges that can be solved using syntactic static analysis. This thesis
proposes a tool for quickly identifying defects at the time of injection due to
dependencies between HTML5, JavaScript, and CSS3, specifically in syntactic errors in
string identifiers. The proposed solution reduces the delta (time) between defect injection
and defect discovery with the use of a dedicated just-in-time syntactic string identifier
resolution tool. The solution focuses on modeling the nature of syntactic dependencies
across the stack, and providing a tool that helps developers discover such dependencies.
This thesis reports on an empirical study of the tool usage by developers in a realistic
scenario, with the focus on defect injection and defect discovery times of defects of this
nature (syntactic errors in string identifiers) with and without the use of the proposed
tool. Further, the tool was validated against a set of real-world codebases to analyze the
significance of these defects.
identifiers across the HTML5-JavaScript-CSS3 stack. The existing literature shows that a
significant percentage of defects observed in real-world codebases belong to this
category. Existing work focuses on semantic static analysis, while this thesis attempts to
tackle the challenges that can be solved using syntactic static analysis. This thesis
proposes a tool for quickly identifying defects at the time of injection due to
dependencies between HTML5, JavaScript, and CSS3, specifically in syntactic errors in
string identifiers. The proposed solution reduces the delta (time) between defect injection
and defect discovery with the use of a dedicated just-in-time syntactic string identifier
resolution tool. The solution focuses on modeling the nature of syntactic dependencies
across the stack, and providing a tool that helps developers discover such dependencies.
This thesis reports on an empirical study of the tool usage by developers in a realistic
scenario, with the focus on defect injection and defect discovery times of defects of this
nature (syntactic errors in string identifiers) with and without the use of the proposed
tool. Further, the tool was validated against a set of real-world codebases to analyze the
significance of these defects.
ContributorsKalsi, Manit Singh (Author) / Gary, Kevin A (Thesis advisor) / Lindquist, Timothy E (Committee member) / Doupe, Adam (Committee member) / Arizona State University (Publisher)
Created2016