In this paper we present the incompatibility and complexity problems in Web development when using javascript. We also demonstrate the solution given by transcompilers and/or languages that compile to javascript, but ...
详细信息
ISBN:
(纸本)9781479963904
In this paper we present the incompatibility and complexity problems in Web development when using javascript. We also demonstrate the solution given by transcompilers and/or languages that compile to javascript, but we also highlight the respective problems. Thus, we present our proposal, i.e., a meta-transcompiler, that targets to harmonize javascript-oriented web development and tight the feedback loop between web standards' editors and web developers, even during the transition period of work-in-progress specifications, such as the upcoming ECMAScript 6 "Harmony" specification.
The memory isolation mechanism plays an essential role to provide security enforcement in javascript programs. Existing secure interaction libraries such as Google Caja, SES, and VM2 rely on built-in memory isolation ...
详细信息
ISBN:
(纸本)9781450381048
The memory isolation mechanism plays an essential role to provide security enforcement in javascript programs. Existing secure interaction libraries such as Google Caja, SES, and VM2 rely on built-in memory isolation mechanisms provided by *** and browsers, yet most of the other engines such as JerryScript and Duktape, which are implementations for IoT devices, do not support such isolation mechanisms. In this paper, we report about the design and implementation of SecureJS, a portable javascript-to-javascript compiler that enforces memory isolation. As it only uses standard features, the compiled code it generates can be used by any javascript engine. We validated empirically the semantics preservation and memory isolation of SecureJS compiled programs by using 10,490 test programs of ECMAScript Test262 test suite. We also developed a novel experiment to evaluate memory isolation property of compiled code by instrumented javascript engines.
Using javascript as a description language can increase the productivity of application programs on embedded systems. Since javascript is a dynamic language, it is important for a javascript virtual machine (VM) to ef...
详细信息
ISBN:
(纸本)9781450351911
Using javascript as a description language can increase the productivity of application programs on embedded systems. Since javascript is a dynamic language, it is important for a javascript virtual machine (VM) to efficiently identify the types of first-class values and perform type-based dispatches while executing VM instructions. Even though the use of tagged pointers is a well-known technique for these operations, the VM implementer has to decide on suitable bit patterns in a tagged pointer according to the characteristics of the target program. This paper presents a novel framework that can generate a customized javascript VM on the basis of datatype specifications and operand specifications given by the programmer and instruction definitions supplied by the framework. Datatype specifications describe adequate internal representations of necessary datatypes for a target program and operand specifications do possible operand datatypes for all instructions, while instruction definitions describe the behaviors of all instructions. The generated VM is specialized in the sense that it has efficient and minimum type-based dispatching code for all instructions.
Mutation testing is a technique in which faults (mutants) are injected into a program or application to assess its test suite effectiveness. It works by inserting mutants and running the application's test suite t...
详细信息
ISBN:
(纸本)9781450356992
Mutation testing is a technique in which faults (mutants) are injected into a program or application to assess its test suite effectiveness. It works by inserting mutants and running the application's test suite to identify if the mutants are detected ( killed) or not (survived) by the tests. Although computationally expensive, it has proven to be an effective method to assess application test suites. Several mutation testing frameworks and tools have been built for the various programing languages, however, very few tools have been built for the javascript language, more specifically, there is a lack of mutation testing tools for the *** runtime and npm based applications. The npm Registry is a public collection of modules of open-source code for ***, front-end web applications, mobile applications, robots, routers, and countless other needs of the javascript community. The over 700,000 packages hosted in npm are downloaded more than 5 billion times per week. More and more software is published in npm every day, representing a huge opportunity to share code and solutions, but also to share bugs and faulty software. In this paper, we briefly describe prior work for mutation operators in javascript and ***, and propose Mutode, an open source tool which leverages the npm package ecosystem to perform mutation testing for javascript and *** applications. We empirically evaluated Mutode effectiveness by running it on 12 of the top 20 npm modules that have automated test suites.
javascript is a popular attack vector for releasing malicious payloads on unsuspecting Internet users. Authors of this malicious javascript often employ numerous obfuscation techniques in order to prevent the automati...
详细信息
ISBN:
(纸本)9781728192482
javascript is a popular attack vector for releasing malicious payloads on unsuspecting Internet users. Authors of this malicious javascript often employ numerous obfuscation techniques in order to prevent the automatic detection by antivirus and hinder manual analysis by professional malware analysts. Consequently, this paper presents SAFE- DEOBS, a javascript deobfuscation tool that we have built. The aim of SAFE- DEOBS is to automatically deobfuscate javascript malware such that an analyst can more rapidly determine the malicious script's intent. This is achieved through a number of static analyses, inspired by techniques from compiler theory. We demonstrate the utility of SAFE-DEOBS through a case study on real-world javascript malware, and show that it is a useful addition to a malware analyst's toolset.
We present an overview of primary feedback mechanisms used by Ecma International Technical Committee 39 (TC39), the standardizing body of javascript programming language.
ISBN:
(纸本)9798400703843
We present an overview of primary feedback mechanisms used by Ecma International Technical Committee 39 (TC39), the standardizing body of javascript programming language.
javascript is the most popular language on the web and is a crucial component of HTML5 applications and services that run on consumer platforms ranging from desktops to phones. However, despite ample amount of hardwar...
详细信息
ISBN:
(纸本)9781450323741
javascript is the most popular language on the web and is a crucial component of HTML5 applications and services that run on consumer platforms ranging from desktops to phones. However, despite ample amount of hardware parallelism available to web applications on such platforms, javascript web applications remain predominantly sequential. Common parallel programming solutions accepted by other programming languages failed to transfer themselves to javascript due to differences in programming models, the additional requirements of the web and different developer expectations. In this paper we present River Trail - a parallel programming model and API for javascript that provides safe, portable, programmer-friendly, deterministic parallelism to javascript applications. River Trail allows web applications to effectively utilize multiple cores, vector instructions, and GPUs on client platforms while allowing the web developer to remain within the environment of javascript. We describe the implementation of the River Trail compiler and runtime and present experimental results that show the impact of River Trail on performance and scalability for a variety of realistic HTML5 applications. Our experiments show that River Trail has a dramatic positive impact on overall performance and responsiveness of computationally intense javascript based applications achieving up to 33.6 times speedup for kernels and up to 11.8 times speedup for realistic web applications compared to sequential javascript. Moreover, River Trail enables new interactive web usages that are simply not even possible with standard sequential javascript.
A popular alternative non-conventional model for software development is crowdsourcing, which aims at decomposing software project into tasks that assigns them to individual stakeholders, through an open call for part...
详细信息
ISBN:
(纸本)9783031365966;9783031365973
A popular alternative non-conventional model for software development is crowdsourcing, which aims at decomposing software project into tasks that assigns them to individual stakeholders, through an open call for participation. A major challenge is to ensure community participation in developing high-quality solutions by each individual stakeholder. It is of high importance to be aware of the skills that can be acquired by the crowd, especially in cases of constantly evolving development environments, such as the javascript programming language and its applications. In the current paper, we aim at exploring trends in crowdsourcing javascript small tasks as an attempt to unveil a) popularity as the core technological skills and the functionalities that are more frequently crowdsourced, b) success as the relationship between the technological skills and the functionalities crowdsourced, and d) the monetary reward differences between these technological skills and the functionalities relationships. We have analyzed contest data collected from the Bountify crowdsourcing platform, resulting that while javascript small task development focuses on multiple technologies, frameworks, and libraries, that frequently overlap or complement each other, popularity, success, and monetary reward of the latter, in most cases are not associated.
Virtual Reality (VR) and 360-degree video streaming have gained significant attention in recent years. First standards have been published in order to avoid market fragmentation. For instance, 3GPP released its first ...
详细信息
ISBN:
(纸本)9781450362979
Virtual Reality (VR) and 360-degree video streaming have gained significant attention in recent years. First standards have been published in order to avoid market fragmentation. For instance, 3GPP released its first VR specification to enable 360-degree video streaming over 5G networks which relies on several technologies specified in ISO/IEC 23090-2, also known as MPEG-OMAF. While some implementations of OMAF-compatible players have already been demonstrated at several trade shows, so far, no web browser-based implementations have been presented. In this demo paper we describe a browser-based javascript player implementation of the most advanced media profile of OMAF: HEVC-based viewport-dependent OMAF video profile, also known as tile-based streaming, with multi-resolution HEVC tiles. We also describe the applied workarounds for the implementation challenges we encountered with state-of-the-art HTML5 browsers. The presented implementation was tested in the Safari browser with support of HEVC video through the HTML5 Media Source Extensions API. In addition, the WebGL API was used for rendering, using region-wise packing metadata as defined in OMAF.
javascript is the most popular language for client-side web application development. Some open-source tools provide frameworks for building javascript automation test. Developers can create and maintain automate test ...
详细信息
ISBN:
(纸本)9781479958221
javascript is the most popular language for client-side web application development. Some open-source tools provide frameworks for building javascript automation test. Developers can create and maintain automate test scripts with these tools. However, they will waste a lot of time to create and maintain test scripts because these are manual activities. This research presents a tool for generating unit test modules for javascript to meet statement coverage criteria. The tool can generate test cases by analyzing and instrument source code, generate test cases with random data based on type of parameters, execute the test cases, evaluate coverage, regenerate as well as re-execute until it reaches a target level of statement coverage, and then provide coverage report.
暂无评论