From the Book: The javascript language is constantly developing, and continues to increase in popularity. Its evolution into a general-purpose scripting language from what started life purely for scripting web browser...
详细信息
ISBN:
(纸本)9781861004598
From the Book: The javascript language is constantly developing, and continues to increase in popularity. Its evolution into a general-purpose scripting language from what started life purely for scripting web browsers is indicative of its success. You can now find javascript interpreters in many different environments and there are sure to be other new and interesting uses for the language in the future, especially now that embeddable interpreters are available. In this book, we have attempted to snapshot the web browser javascript implementations that exist currently, which need to be supported by web sites, and collate that information together in a form that has broad scope and is deep enough to be useful on a day-to-day basis. As the language is growing all the time, this is likely to be an ongoing task. Who is This Book For The book is aimed at people who already have some knowledge of javascript and need a companion volume to their daily work. It is primarily aimed at the experienced practitioner, and so does not attempt to be a tutorial for the beginner. For a tutorial book, we suggest Paul Wilton's Beginning javascript (Wrox Press, ISBN 1-861004-06-0). Typical uses of the book include times when you: Need to check out the specific details of a particular language construct or object property Know what you want to do, but want to know how javascript helps you achieve that Want information on cross-browser compatibility issues for your script Have encountered a problem in your script and need help to debug it One important motivation I had for writing this book was to reduce the amount of material I have to carry around when I'm working on projects in my clients' offices. My library now contains several shelves devoted purely to javascript, and in researching this book, I ended up with many megabytes of material. There have been many fine books written about javascript but I simply cannot carry them around on the train, even with a large rucksack! So, I set o
Doing research into code variations and their applications to browser security is challenging. One of the most important aspects of this research is to choose a relevant dataset on which machine learning algorithms ca...
详细信息
ISBN:
(纸本)9781450392365
Doing research into code variations and their applications to browser security is challenging. One of the most important aspects of this research is to choose a relevant dataset on which machine learning algorithms can be applied to yield useful results. Although javascript code is widely available on various sources, such as package managers, code hosting platforms, and websites, collecting a large corpus of javascript and curating it is not a simple task. We present a novel open-source tool that helps with this task by allowing the automatic and systematic collection, processing, and transformation of javascript code. These three steps are performed by independent modules, and each one can be extended to incorporate new features, such as additional code sources, or transformation tools, adding to the flexibility of our tool and expanding its usability. Additionally, we use our tool to create a corpus of around 270k javascript files, including regular, minified, and obfuscated code, on which we perform a brief analysis. The conclusions from this analysis show the importance of properly curating a dataset before using it in research tasks, such as machine learning classifiers, reinforcing the relevance of our tool.
Static compilation, a.k.a., ahead-of-time (AOT) compilation, is an alternative approach to JIT compilation that can combine good speed and lightweight memory footprint, and that can accommodate read-only memory constr...
详细信息
ISBN:
(纸本)9781450360302
Static compilation, a.k.a., ahead-of-time (AOT) compilation, is an alternative approach to JIT compilation that can combine good speed and lightweight memory footprint, and that can accommodate read-only memory constraints that are imposed by some devices and some operating systems. Unfortunately the highly dynamic nature of javascript makes it hard to compile statically and all existing AOT compilers have either gave up on good performance or full language support. We have designed and implemented an AOT compiler that aims at satisfying both. It supports full unrestricted ECMAScript 5.1 plus many ECMAScript 2017 features and the majority of benchmarks are within 50% of the performance of one of the fastest JIT compilers.
Client-side javascript is being widely used in popular web applications to improve functionality, increase responsiveness, and decrease load times. However, it is challenging to build reliable applications using JavaS...
详细信息
ISBN:
(纸本)9780769545684
Client-side javascript is being widely used in popular web applications to improve functionality, increase responsiveness, and decrease load times. However, it is challenging to build reliable applications using javascript. This paper presents an empirical characterization of the error messages printed by javascript code in web applications, and attempts to understand their root causes. We find that javascript errors occur in production web applications, and that the errors fall into a small number of categories. We further find that both non-deterministic and deterministic errors occur in the applications, and that the speed of testing plays an important role in exposing errors. Finally, we study the correlations among the static and dynamic properties of the application and the frequency of errors in it in order to understand the root causes of the errors.
This paper presents the concept of javascript Application Framework (JSAF) which is a Platform Independent Model (PIM). This Paper aims at developing an application framework using web developing languages which suppo...
详细信息
ISBN:
(纸本)9783642292187
This paper presents the concept of javascript Application Framework (JSAF) which is a Platform Independent Model (PIM). This Paper aims at developing an application framework using web developing languages which supports the usage on all platforms making it easy for the developers to use the application framework to develop applications. JSAF is used for creating applications for Mobile Devices which supports a Browser which can render advanced web developing languages such as javascript, HTML5 and CSS3. The JSAF provides all the basic User-Interface (UI) widgets required for the Application Development to the Application developer. The JSAF Application is rendered on a Browser which will load JSAF framework prior to the Application. javascript Application Framework has the Multitasking feature and Cross Application Communication feature. javascript Application Framework is developed at Samsung India Software Operations and proprietary.
In javascript programs, asynchrony arises in situations such as web-based user-interfaces, communicating with servers through HTTP requests, and non-blocking I/O. Event-based programming is the most popular approach f...
详细信息
In javascript programs, asynchrony arises in situations such as web-based user-interfaces, communicating with servers through HTTP requests, and non-blocking I/O. Event-based programming is the most popular approach for managing asynchrony, but suffers from problems such as lost events and event races, and results in code that is hard to understand and debug. Recently, ECMAScript 6 has added support for promises, an alternative mechanism for managing asynchrony that enables programmers to chain asynchronous computations while supporting proper error handling. However, promises are complex and error-prone in their own right, so programmers would benefit from techniques that can reason about the correctness of promise-based code. Since the ECMAScript 6 specification is informal and intended for implementers of javascript engines, it does not provide a suitable basis for formal reasoning. This paper presents lambda(p), a core calculus that captures the essence of ECMAScript 6 promises. Based on lambda(p), we introduce the promise graph, a program representation that can assist programmers with debugging of promise-based code. We then report on a case study in which we investigate how the promise graph can be helpful for debugging errors related to promises in code fragments posted to the StackOverflow website.
The evolution of technology in interconnection solutions such as Networks or the Internet, have allowed many communication architectures to be born and a varied interconnectivity. Here, we present a project that relie...
详细信息
ISBN:
(纸本)9783319734507;9783319734491
The evolution of technology in interconnection solutions such as Networks or the Internet, have allowed many communication architectures to be born and a varied interconnectivity. Here, we present a project that relies on the mobile agent computing paradigm. A middleware using the javascript language that allows the execution and ability to move mobile agents through the local network and Internet. This initiative arose as a way of dealing with problems raised by the considerable amount of existing Java based mobile agents middleware, which force the installation of the Java Virtual Machine in the devices, making complicated its execution in operating systems like macOS, iOS and others non-java friendly O.S. Our middleware works steadily in all operating systems, requiring only the installation of ***. For mobile platforms the middleware is developed using React-native that allows it to run on mobile operating systems such as Android and iOS.
One of javascript's peculiarities is that nonprofessional programmers can easily write programs applying the functional programming paradigm. In javascript functional programming, own variables are often necessary...
详细信息
ISBN:
(纸本)9781509023332
One of javascript's peculiarities is that nonprofessional programmers can easily write programs applying the functional programming paradigm. In javascript functional programming, own variables are often necessary. However, it is difficult for non-professional programmers to implement own variables in javascript because of the high-level programming techniques that are needed. In this paper, we propose a javascript language extension that facilitates the own variable feature.
It is well recognized that javascript can be exploited to launch browser-based security attacks. We propose to battle such attacks using program instrumentation. Untrusted javascript code goes through a rewriting proc...
详细信息
ISBN:
(纸本)9781595935755
It is well recognized that javascript can be exploited to launch browser-based security attacks. We propose to battle such attacks using program instrumentation. Untrusted javascript code goes through a rewriting process which identifies relevant operations, modifies questionable behaviors, and prompts the user (a web page viewer) for decisions on how to proceed when appropriate. Our solution is parametric with respect to the security policy-the policy is implemented separately from the rewriting, and the same rewriting process is carried out regardless of which policy is in use. Besides providing a rigorous account of the correctness of our solution, we also discuss practical issues including policy management and prototype experiments. A useful by-product of our work is an operational semantics of a core subset of javascript, where code embedded in (HTML) documents may generate further document pieces (with new code embedded) at runtime, yielding a form of self-modifying code.
暂无评论