Scripting languages' inferior performance stems from compilers lacking enough static information. To address this limitation, they use JIT compilers organized into multiple tiers, with higher tiers using profiling...
详细信息
ISBN:
(纸本)9781728114446
Scripting languages' inferior performance stems from compilers lacking enough static information. To address this limitation, they use JIT compilers organized into multiple tiers, with higher tiers using profiling information to generate high-performance code. Checks are inserted to detect incorrect assumptions and, when a check fails, execution transfers to a lower tier. The points of potential transfer between tiers are called Stack Map Points (SMPs). They require a consistent state in both tiers and, hence, limit code optimization across SMPs in the higher tier. This paper examines the code generated by a state-of-the-art javascript compiler and finds that the code has a high frequency of SMPs. These SMPs rarely cause execution to transfer to lower tiers. However, both the optimization-limiting effect of the SMPs, and the overhead of the SMP-guarding checks contribute to scripting languages' low performance. To tackle this problem, we extend the compiler to generate hardware transactions around SMPs, and perform simple within-transaction optimizations enabled by transactions. We target emerging lightweight HTM systems and call our changes NoMap. We evaluate NoMap on the SunSpider and Kraken suites. We find that NoMap lowers the instruction count by an average of 14.2% and 11.5%, and the execution time by an average of 16.7% and 8.9%, for SunSpider and Kraken, respectively.
Visualizations are a critical part of mathematics practice and education, and computers and open-source web technologies provide accessible ways to create high-quality mathematics visualizations at virtually no cost. ...
详细信息
ISBN:
(纸本)9798400702952
Visualizations are a critical part of mathematics practice and education, and computers and open-source web technologies provide accessible ways to create high-quality mathematics visualizations at virtually no cost. However libraries and languages to create visualizations for mathematics are typically fine-grained, low-level, and targeted to vector graphics domain experts or web developers, not mathematics students or teachers or end-users. We present demos of Sylvester: a functional domain-specific language interface to the JSX-Graph visualization library embedded in F# that emphasizes readability, composability, and the ability of end-users to easily create and manipulate elements of high-quality interactive mathematics visualizations without needing vector graphics or web development domain knowledge.
Quality assurance is of great importance for deep learning (DL) systems, especially when they are applied in safety-critical applications. While quality issues of native DL applications have been extensively analyzed,...
详细信息
ISBN:
(纸本)9781450394758
Quality assurance is of great importance for deep learning (DL) systems, especially when they are applied in safety-critical applications. While quality issues of native DL applications have been extensively analyzed, the issues of javascript-based DL applications have never been systematically studied. Compared with native DL applications, javascript-based DL applications can run on major browsers, making the platform- and device-independent. Specifically, the quality of javascript-based DL applications depends on the 3 parts: the application, the third-party DL library used and the underlying DL framework (e.g., ***), called javascript-based DL system. In this paper, we conduct the first empirical study on the quality issues of javascript-based DL systems. Specifically, we collect and analyze 700 real-world faults from relevant GitHub repositories, including the official *** repository, 13 third-party DL libraries, and 58 javascript-based DL applications. To better understand the characteristics of these faults, we manually analyze and construct taxonomies for the fault symptoms, root causes, and fix patterns, respectively. Moreover, we also study the fault distributions of symptoms and root causes, in terms of the different stages of the development lifecycle, the 3-level architecture in the DL system, and the 4 major components of *** framework. Based on the results, we suggest actionable implications and research avenues that can potentially facilitate the development, testing, and debugging of javascript-based DL systems.
Runtime Verification is a software testing technique based on extracting and analyzing information from a system while it is running. The objective is to use this information to find faults or problems in the system u...
详细信息
ISBN:
(纸本)9798331540982;9798331540975
Runtime Verification is a software testing technique based on extracting and analyzing information from a system while it is running. The objective is to use this information to find faults or problems in the system under test. To achieve this, it is necessary that the insertion of testing logic does not modify the code being tested and that it does not affect the performance of the system. In this article, we present a runtime testing framework for javascript, which utilizes Aspect-Oriented Programming and regular expressions. This framework encapsulates the idea of Message Sequence Specification applied to Runtime Verification. Our work is freely available and open source.
The aim of this work was to explore the possibilities of open technologies for the creation of IoT systems such as Mozilla IoT in javascript. The work dealt with open source Things Gateway platform. The development be...
详细信息
ISBN:
(纸本)9781728143811
The aim of this work was to explore the possibilities of open technologies for the creation of IoT systems such as Mozilla IoT in javascript. The work dealt with open source Things Gateway platform. The development behind Things Gateway is done by Mozilla in collaboration with some volunteers. They strive is to provide frameworks and a new kind of application layer that would facilitate the programming and management of smart devices connected to the IoT system. The paper describes emerging standard such as Web of Things. In the last section of the paper is explained how to create an adapter for a new device using the Things Framework, that runs on the Raspberry Pi computer.
The research and commerce communities have a need to understand and use the Single-Page Application (SPA) framework written in javascript for knowledge discovery and global sharing of information. It is important to d...
详细信息
ISBN:
(纸本)9781509055104
The research and commerce communities have a need to understand and use the Single-Page Application (SPA) framework written in javascript for knowledge discovery and global sharing of information. It is important to develop user-friendly web-based tools which efficiently process, analyze, and visualize scientific data. The efficient use of languages and tools such as HTML5, CSS3, and javascript Libraries is important. The need to asynchronously fetch new data and update the web page, without refreshing the entire page is essential to better visualize the data in real-time. Without any scientific methodology for comparing SPA frameworks written in javascript, it is troublesome to choose which one to use. Our work studies a method to better understand the web client technology with an interactive application. We build upon an existing open source web application javascript framework tool to measure the time distribution of client components. We study interactive web-based activity.
javascript is the de facto dominant programming language for developing web applications. Most popular websites are using javascript, especially to develop client-side features. Being syntactically flexible and highly...
详细信息
ISBN:
(纸本)9781509018550
javascript is the de facto dominant programming language for developing web applications. Most popular websites are using javascript, especially to develop client-side features. Being syntactically flexible and highly dynamic, javascript is easy to use and productive, but its code is known to be less maintainable. The task of maintaining client-side javascript code is further complicated by the pervasive interactions between javascript code and HTML elements, through browsers. In this paper, we present JS-Slicer, a dynamic slicer for javascript, to ease the task of understanding and debugging practical client-side javascript code. JS-Slicer defines three types of dependences, including data dependences, control dependences, and DOM dependences, to capture all relationships between program elements. JS-Slicer extends a novel dynamic analysis framework and combines dynamic and static analysis to precisely capture the dependences at run-time. A lot of language specific issues are properly handled, which enables JS-Slicer to slice practical javascript code. Our evaluation on six real-world web applications and javascript libraries shows that JS-Slicer is both precise and efficient: on average it captures around 40K dependences in 2.5K lines of code, in less than 3.0 seconds.
javascript nowadays is among the most popular programming languages, used for developing web and IoT applications. Currently, the majority of javascript applications is reusing third-party components to acquire variou...
详细信息
ISBN:
(纸本)9781665427050
javascript nowadays is among the most popular programming languages, used for developing web and IoT applications. Currently, the majority of javascript applications is reusing third-party components to acquire various functionalities. In this paper we isolate popular reused components and explore the type of functionality that is mostly being reused. Additionally, we examine whether the client applications adapt to the most recent versions of the reused components, and further study the reuse intensity of pairs of components that coexist in client applications. For this purpose, we performed a case study on 9389 components reused by 430 javascript applications hosted in GitHub. The results show that Compiler and Testing Frameworks are the most common types of functionality being reused, while the majority of client applications tend to adopt the recent versions of the reused components.
Client authentication for Web applications require a lot of script writing, poor maintainability, this paper follows the system engineering principles and methods to study the data set to the page table, the applicati...
详细信息
ISBN:
(纸本)9783642286544;9783642286551
Client authentication for Web applications require a lot of script writing, poor maintainability, this paper follows the system engineering principles and methods to study the data set to the page table, the application automatically generated by the automatic generation of javascript technology. Input validation in the way of the Web based on the comparison, first designs when the automatic production uses "Checker Dictionary" and "Control Settings Page" two table structures;Then carries on the automatic generating routine design, including program design process and the main validation function;Finally carries on the confirmation through the automatic production example. The results show that the automatically generated input validation of javascript, reduces the technical requirements for software developers to improve software development productivity, changed the traditional software development model.
Most attack on web is Drive-by-Download that malware or worm is downloaded on user's device, be activated, and attack user's device or other server. However, new attack appear which can work without downloadin...
详细信息
ISBN:
(纸本)9780956715746
Most attack on web is Drive-by-Download that malware or worm is downloaded on user's device, be activated, and attack user's device or other server. However, new attack appear which can work without downloading. It is HashDoS. HashDoS does not need downloading, it use malicious javascript as attack tool. Although there is several research about malicious javascripts, to my best of knowledge, there is no research of generating attack signature for malicious javascripts. This paper proposes automatic attack signature generation technology for malicious javascripts. And it shows test result that proposed technology is suitable for detecting malicious javascripts.
暂无评论