The bestselling javascript guide, updated with current features and best practices Beginning javascript 5th Edition shows you how to work effectively with javascript frameworks, functions, and modern browsers, and tea...
详细信息
ISBN:
(纸本)9781118903339
The bestselling javascript guide, updated with current features and best practices Beginning javascript 5th Edition shows you how to work effectively with javascript frameworks, functions, and modern browsers, and teaches more effective coding practices using HTML5. This new edition has been extensively updated to reflect the way javascript is most commonly used today, introducing you to the latest tools and techniques available to javascript developers. Coverage includes modern coding practices using HTML5 markup, the JSON data format, DOM APIs, the jQuery framework, and more. Exercises with solutions provide plenty of opportunity to practice, and the companion website offers downloadable code for all examples given in the book. * Learn javascript using the most up to date coding style * Understand JSON, functions, events, and feature detection * Utilize the new HTML5 elements and the related API * Explore new features including geolocation, local storage, and more javascript has shaped the Web from a passive medium into one that is rich, dynamic, and interactive. No matter the technology on the server side, it's javascript that makes it come alive in the browser. To learn javascript the way it's used today, Beginning javascript, 5th Edition is your concise guide.
As an essential part of the website, javascript greatly enriches its functions. At the same time, javascript has become the most common attack payload on malicious websites. Although researchers are constantly proposi...
详细信息
ISBN:
(纸本)9798350347937
As an essential part of the website, javascript greatly enriches its functions. At the same time, javascript has become the most common attack payload on malicious websites. Although researchers are constantly proposing methods to detect malicious javascript, the emergence of obfuscation technology makes it difficult for previous approaches to detect disguised malicious javascript effectively. To solve this problem, we find that there are fixed templates for generating obfuscated code, which makes the original and obfuscated script have a mapping relationship in their structure. The structure information of the code is critical for malicious detection. Therefore, this paper proposes TransAST, a novel static detection method for obfuscated malicious javascript. Our approach's key is restoring the obfuscated javascript structure information by training the machine translation model. The experiment shows it can achieve 91.35% accuracy and 94.57% recall in the public dataset, which is 5.5% and 10.94% higher than the existing optimal method.
As a result of the large scale and diverse composition of modern compiled javascript applications, comprehending overall program structure for debugging is challenging. In this paper we present our solution: MetropolJ...
详细信息
ISBN:
(纸本)9781450357142
As a result of the large scale and diverse composition of modern compiled javascript applications, comprehending overall program structure for debugging is challenging. In this paper we present our solution: MetropolJS. By using a Treemap-based visualization it is possible to get a high level view within limited screen real estate. Previous approaches to Treemaps lacked the fine detail and interactive features to be useful as a debugging tool. This paper introduces an optimized approach for visualizing complex program structure that enables new debugging techniques where the execution of programs can be displayed in real time from a bird's-eye view. The approach facilitates highlighting and visualizing method calls and distinctive code patterns on top of code segments without a high overhead for navigation. Using this approach enables fast analysis of previously difficult-to-comprehend code bases.
The node package manager (npm) serves as the frontend to a large repository of javascript-based software packages, which foster the development of currently huge amounts of server-side Node. js and client-side JavaScr...
详细信息
ISBN:
(纸本)9781450341868
The node package manager (npm) serves as the frontend to a large repository of javascript-based software packages, which foster the development of currently huge amounts of server-side Node. js and client-side javascript applications. In a span of 6 years since its inception, npm has grown to become one of the largest software ecosystems, hosting more than 230, 000 packages, with hundreds of millions of package installations every week. In this paper, we examine the npm ecosystem from two complementary perspectives: 1) we look at package descriptions, the dependencies among them, and download metrics, and 2) we look at the use of npm packages in publicly available applications hosted on GitHub. In both perspectives, we consider historical data, providing us with a unique view on the evolution of the ecosystem. We present analyses that provide insights into the ecosystem's growth and activity, into conflicting measures of package popularity, and into the adoption of package versions over time. These insights help understand the evolution of npm, design better package recommendation engines, and can help developers understand how their packages are being used.
This paper introduces a javascript coding site called "Ancient Brain" (at https://***/), which is designed for education with support for students and teachers. It has an extensive list of features to suppor...
详细信息
ISBN:
(纸本)9798400717574
This paper introduces a javascript coding site called "Ancient Brain" (at https://***/), which is designed for education with support for students and teachers. It has an extensive list of features to support coding almost anything that can be coded in javascript, including HTML-based pages, 2D graphics worlds, 3D graphics worlds, Internet-enabled Websockets apps, and AI apps. All are coded and run on the site in the browser with no install. Support for teaching includes "teacher" and "student" accounts where student code is hidden from other students but not from the teacher, who can run and even edit the code written by all their students. This site has been tested with several years of undergraduate and taught postgraduate students, though not written up in a paper until now. At time of writing there are 9,323 javascript creations on the site. We survey some of the extraordinary range of programs on the site, written by, at last count, 2,150 coders. The next step is to take the site into secondary schools. We will discuss how this could be done, with examples.
javascript is a dynamic programming language that has been widely used nowadays. The dynamism has become a hindrance of type analysis for javascript. Existing works use either static or dynamic type analysis to infer ...
详细信息
ISBN:
(纸本)9781538615898
javascript is a dynamic programming language that has been widely used nowadays. The dynamism has become a hindrance of type analysis for javascript. Existing works use either static or dynamic type analysis to infer variable types for javascript. Static type analysis of javascript is difficult since it is hard to predict the behavior of the language without execution. Dynamic type analysis is usually incomplete as it might not cover all paths of a javascript program. In this work, we propose jsFox, a browser-agnostic approach that provides integrated type analyis, based on both static and dynamic type analysis, which enables us to gain the merits of both types of analysis. We have made use of the integrated type analysis for finding type issues that could potentially lead to erroneous results. jsFox discovers 23 type issues in existing benchmark suites and real-world Web applications.
javascript has become a general-purpose programming environment that enables complex, media-rich web applications. An increasing number of javascript programs are parallelized to run efficiently on today's multico...
详细信息
ISBN:
(纸本)9781450329750
javascript has become a general-purpose programming environment that enables complex, media-rich web applications. An increasing number of javascript programs are parallelized to run efficiently on today's multicore CPUs, which are capable of dynamic core scaling (DCS) and voltage/frequency scaling (DVFS). However, significant power savings are still left on the table since an operating point (in terms of the number of active cores and CPU voltage/frequency) is selected by monitoring CPU utilization or OS events, without considering the user's performance goal. To address this, we propose ***, a QoS-aware power-optimizing runtime system for javascript. Using the *** API, the application developer can specify a QoS goal and provide a fitness function to quantify the current level of QoS. During execution the *** runtime system uses this information to autonomously find an optimal operating point minimizing power consumption while satisfying the QoS goal. Our evaluation with five parallel javascript programs demonstrates an average of 35.2% power savings over the Linux Ondemand governor without degrading user experience.
javascript (JS) has evolved into a versatile and popular programming language for not only the web, but also a wide range of server-side and client-side applications. Effective, efficient, and easy-to-use testing tech...
详细信息
ISBN:
(纸本)9781665452786
javascript (JS) has evolved into a versatile and popular programming language for not only the web, but also a wide range of server-side and client-side applications. Effective, efficient, and easy-to-use testing techniques for JS scripts are in great demand. In this paper, we introduce a holistic approach to applying concolic testing to JS scripts in-situ, i.e., JS scripts are executed in their native environments as part of concolic execution and test cases generated are directly replayed in these environments. We have implemented this approach in the context of ***, a JS runtime built on top of Chrome's V8 JS engine, and evaluated its effectiveness and efficiency through application to 180 *** libraries with heavy use of string operations. For 85% of these libraries, it achieved statement coverage ranging between 75% and 100%, a close match in coverage with the hand-crafted unit test suites accompanying their NPM releases. Our approach detected numerous exceptions in these libraries. We analyzed the exception reports for 12 representative libraries and found 6 bugs in these libraries, 4 of which are previously undetected. The bug reports and patches that we filed for these bugs have been accepted by the library developers on GitHub.
Because of the web. Java Script (JS) is one of the most popular programming languages today. Tools like GMail or Face-book are built heavily on JS. Despite the importance, JS is rarely in the core of programming cours...
详细信息
ISBN:
(纸本)9781605588209
Because of the web. Java Script (JS) is one of the most popular programming languages today. Tools like GMail or Face-book are built heavily on JS. Despite the importance, JS is rarely in the core of programming courses. However, it still has a role in many courses [1, 2, 3]. In this paper, we introduce an open source tool to create small, automatically assessed Java Script programming exercises (see Figure 1). Automatic assessment is based on unit tests, JSLint and various software metrics. Embedding an exercise into an existing web page only requires inserting the following or a similar HTML block: [GRAPHICS] In addition, teacher needs to provide unit tests for each new exercise. The fact that the assessment happens inside the student's own browser is the novelty of our work. Installation and sandboxing of a server are not required. This makes it easy to add exercises into any web page. The downside is that exercises are for self study purposes since grades submitted from a browser could be tampered with. Google Code Playground(1) and W3Schools interactive demonstrations(2) are similar to our system. However, these do not provide automatic assessment and are hard to integrate into other websites. Sources of the tool and a set of exercises are available online(3).
Drive-by download attacks are one of main threats on the Internet. Several detection methods are to build run-time environments that allow javascript code to run and track its behavior while it runs. Dynamic analysis ...
详细信息
ISBN:
(纸本)9781728125565
Drive-by download attacks are one of main threats on the Internet. Several detection methods are to build run-time environments that allow javascript code to run and track its behavior while it runs. Dynamic analysis requires too much time to examine all the web pages a client accesses. Hence, lightweight filtering methods to detect unseen malicious javascript snippets are required. Static analysis often extracts statistical and lexical features from the associated javascript code of each web page in order to build detection models. In general, static analysis imposes no runtime overhead. These methods are, however, vulnerable to code obfuscation techniques. Some researchers attempt to detect obfuscated VBA macros with Natural Language Processing (NLP) techniques. In these methods, neural networks extract the features automatically in contrast with traditional approaches. In addition, since several methods are evaluated with a balanced dataset, the practical performance is still open to discussion. To evaluate the practical performance, these methods have to be evaluated with imbalanced datasets. In this paper, we attempt to detect unseen malicious javascript snippets with Doc2Vec, an unsupervised algorithm to generate vectors for documents with neural networks. To mitigate the class imbalance problem, our method uses a clustering-based undersampling technique. Furthermore, we build a web crawler and generate an imbalanced dataset with over 20,000 samples. The evaluation result shows that our method achieves a F-measure of 0.71.
暂无评论