Verification of Webassembly Programs
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Compilers & Translator Writing Systems
Compilers & Translators Compilers & Translator Writing Systems Prof. R. Eigenmann ECE573, Fall 2005 http://www.ece.purdue.edu/~eigenman/ECE573 ECE573, Fall 2005 1 Compilers are Translators Fortran Machine code C Virtual machine code C++ Transformed source code Java translate Augmented source Text processing language code Low-level commands Command Language Semantic components Natural language ECE573, Fall 2005 2 ECE573, Fall 2005, R. Eigenmann 1 Compilers & Translators Compilers are Increasingly Important Specification languages Increasingly high level user interfaces for ↑ specifying a computer problem/solution High-level languages ↑ Assembly languages The compiler is the translator between these two diverging ends Non-pipelined processors Pipelined processors Increasingly complex machines Speculative processors Worldwide “Grid” ECE573, Fall 2005 3 Assembly code and Assemblers assembly machine Compiler code Assembler code Assemblers are often used at the compiler back-end. Assemblers are low-level translators. They are machine-specific, and perform mostly 1:1 translation between mnemonics and machine code, except: – symbolic names for storage locations • program locations (branch, subroutine calls) • variable names – macros ECE573, Fall 2005 4 ECE573, Fall 2005, R. Eigenmann 2 Compilers & Translators Interpreters “Execute” the source language directly. Interpreters directly produce the result of a computation, whereas compilers produce executable code that can produce this result. Each language construct executes by invoking a subroutine of the interpreter, rather than a machine instruction. Examples of interpreters? ECE573, Fall 2005 5 Properties of Interpreters “execution” is immediate elaborate error checking is possible bookkeeping is possible. E.g. for garbage collection can change program on-the-fly. E.g., switch libraries, dynamic change of data types machine independence. -
Source-To-Source Translation and Software Engineering
Journal of Software Engineering and Applications, 2013, 6, 30-40 http://dx.doi.org/10.4236/jsea.2013.64A005 Published Online April 2013 (http://www.scirp.org/journal/jsea) Source-to-Source Translation and Software Engineering David A. Plaisted Department of Computer Science, University of North Carolina at Chapel Hill, Chapel Hill, USA. Email: [email protected] Received February 5th, 2013; revised March 7th, 2013; accepted March 15th, 2013 Copyright © 2013 David A. Plaisted. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. ABSTRACT Source-to-source translation of programs from one high level language to another has been shown to be an effective aid to programming in many cases. By the use of this approach, it is sometimes possible to produce software more cheaply and reliably. However, the full potential of this technique has not yet been realized. It is proposed to make source- to-source translation more effective by the use of abstract languages, which are imperative languages with a simple syntax and semantics that facilitate their translation into many different languages. By the use of such abstract lan- guages and by translating only often-used fragments of programs rather than whole programs, the need to avoid writing the same program or algorithm over and over again in different languages can be reduced. It is further proposed that programmers be encouraged to write often-used algorithms and program fragments in such abstract languages. Libraries of such abstract programs and program fragments can then be constructed, and programmers can be encouraged to make use of such libraries by translating their abstract programs into application languages and adding code to join things together when coding in various application languages. -
Oral History of Winifred Mitchell Baker
........ Computer • History Museum Oral History of Winifred Mitchell Baker Interviewed by: Marc Weber Recorded: December 10, 2014 Mountain View, California CHM Reference number: X7311.2015 © 2015 Computer History Museum Oral History of Winifred Mitchell Baker Marc Weber: I'm Marc Weber of the Computer History Museum. And I'm here with Mitchell Baker, Chairwoman of Mozilla. Thank you so much for doing this interview. Winifred Mitchell Baker: Thanks, Marc. I'm happy to be here. The museum has been a bright spot for a long time, so I'm honored as well. Weber: Thank you. As am I. So start with a bit of your background. What is your full name? And when and where were you born? Baker: My full name is Winifred Mitchell Baker. My mom was a little eccentric though, and she never wanted me to use Winifred. So it's my first name. But in her mind, I was always Mitchell. So that's what I go by. And I was born in Berkeley in California in 1959. Weber: And tell me a little bit about your family and where you grew up. Baker: I grew up in Oakland, so the East Bay across from San Francisco. It borders Berkeley. My parents were born and raised on the East Coast and moved west, as people did in the '50s, where it seemed [like] starting a new life. They were each eccentric. And each had their own view of their world and really clear opinions. And I think some of that has rubbed off actually. Weber: So eccentric in what way? What did they do? Baker: Well, my dad was a classic entrepreneur. -
Tdb: a Source-Level Debugger for Dynamically Translated Programs
Tdb: A Source-level Debugger for Dynamically Translated Programs Naveen Kumar†, Bruce R. Childers†, and Mary Lou Soffa‡ †Department of Computer Science ‡Department of Computer Science University of Pittsburgh University of Virginia Pittsburgh, Pennsylvania 15260 Charlottesville, Virginia 22904 {naveen, childers}@cs.pitt.edu [email protected] Abstract single stepping through program execution, watching for par- ticular conditions and requests to add and remove breakpoints. Debugging techniques have evolved over the years in response In order to respond, the debugger has to map the values and to changes in programming languages, implementation tech- statements that the user expects using the source program niques, and user needs. A new type of implementation vehicle viewpoint, to the actual values and locations of the statements for software has emerged that, once again, requires new as found in the executable program. debugging techniques. Software dynamic translation (SDT) As programming languages have evolved, new debugging has received much attention due to compelling applications of techniques have been developed. For example, checkpointing the technology, including software security checking, binary and time stamping techniques have been developed for lan- translation, and dynamic optimization. Using SDT, program guages with concurrent constructs [6,19,30]. The pervasive code changes dynamically, and thus, debugging techniques use of code optimizations to improve performance has necessi- developed for statically generated code cannot be used to tated techniques that can respond to queries even though the debug these applications. In this paper, we describe a new optimization may have changed the number of statement debug architecture for applications executing with SDT sys- instances and the order of execution [15,25,29]. -
Applying World Wide Web Standards to Embedded Systems
NASA / TMm2002-211199 AIAA-2001-5107 Embedded Web Technology: Applying World Wide Web Standards to Embedded Systems Joseph G. Ponyik and David W. York Glenn Research Center, Cleveland, Ohio March 2002 The NASA STI Program Office... in Profile Since its founding, NASA has been dedicated to CONFERENCE PUBLICATION. Collected the advancement of aeronautics and space papers from scientific and technical science. The NASA Scientific and Technical conferences, symposia, seminars, or other Information (STI) Program Office plays a key part meetings sponsored or cosponsored by in helping NASA maintain this important role. NASA. The NASA STI Program Office is operated by SPECIAL PUBLICATION. Scientific, Langley Research Center, the Lead Center for technical, or historical information from NASA's scientific and technical information. The NASA programs, projects, and missions, NASA STI Program Office provides access to the often concerned with subjects having NASA STI Database, the largest collection of substantial public interest. aeronautical and space science STI in the world. The Program Office is also NASA's institutional TECHNICAL TRANSLATION. English- mechanism for disseminating the results of its language translations of foreign scientific research and development activities. These results and technical material pertinent to NASA's are published by NASA in the NASA STI Report mission. Series, which includes the following report types: Specialized services that complement the STI TECHNICAL PUBLICATION. Reports of Program Office's diverse offerings include completed research or a major significant creating custom thesauri, building customized phase of research that present the results of data bases, organizing and publishing research NASA programs and include extensive data results.., even providing videos. -
HTML5 and the Open Web Platform
HTML5 and the Open Web Platform Stuttgart 28 May 2013 Dave Raggett <[email protected]> The Open Web Platform What is the W3C? ● International community where Members, a full-time staff and the public collaborate to develop Web standards ● Led by Web inventor Tim Berners-Lee and CEO Jeff Jaffe ● Hosted by MIT, ERCIM, Keio and Beihang ● Community Groups open to all at no fee ● Business Groups get more staff support ● Technical Working Groups ● Develop specs into W3C Recommendations ● Participants from W3C Members and invited experts ● W3C Patent process for royalty free specifications 3 Who's involved ● W3C has 377 Members as of 11 May 2013 ● To name just a few ● ACCESS, Adobe, Akamai, Apple, Baidu, BBC, Blackberry (RIM), BT, Canon, Deutsche Telekom, eBay, Facebook, France Telecom, Fujitsu, Google, Hitachi, HP, Huawei, IBM, Intel, LG, Microsoft, Mozilla, NASA, NEC, NTT DoCoMo, Nuance, Opera Software, Oracle, Panasonic, Samsung, Siemens, Sony, Telefonica, Tencent, Vodafone, Yandex, … ● Full list at ● http://www.w3.org/Consortium/Member/List 4 The Open Web Platform 5 Open Web Platform ● Communicate with HTTP, Web Sockets, XML and JSON ● Markup with HTML5 ● Style sheets with CSS ● Rich graphics ● JPEG, PNG, GIF ● Canvas and SVG ● Audio and Video ● Scripting with JavaScript ● Expanding range of APIs ● Designed for the World's languages ● Accessibility with support for assistive technology 6 Hosted and Packaged Apps ● Hosted Web apps can be directly loaded from a website ● Packaged Web apps can be locally installed on a device and run without the need for access to a web server ● Zipped file containing all the necessary resources ● Manifest file with app meta-data – Old work on XML based manifests (Web Widgets) – New work on JSON based manifests ● http://w3c.github.io/manifest/ ● Pointer to app's cache manifest ● List of required features and permissions needed to run correctly ● Runtime and security model for web apps ● Privileged apps must be signed by installation origin's private key 7 HTML5 Markup ● Extensive range of features ● Structural, e.g. -
Virtual Machine Part II: Program Control
Virtual Machine Part II: Program Control Building a Modern Computer From First Principles www.nand2tetris.org Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 8: Virtual Machine, Part II slide 1 Where we are at: Human Abstract design Software abstract interface Thought Chapters 9, 12 hierarchy H.L. Language Compiler & abstract interface Chapters 10 - 11 Operating Sys. Virtual VM Translator abstract interface Machine Chapters 7 - 8 Assembly Language Assembler Chapter 6 abstract interface Computer Machine Architecture abstract interface Language Chapters 4 - 5 Hardware Gate Logic abstract interface Platform Chapters 1 - 3 Electrical Chips & Engineering Hardware Physics hierarchy Logic Gates Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 8: Virtual Machine, Part II slide 2 The big picture Some . Some Other . Jack language language language Chapters Some Jack compiler Some Other 9-13 compiler compiler Implemented in VM language Projects 7-8 VM implementation VM imp. VM imp. VM over the Hack Chapters over CISC over RISC emulator platforms platforms platform 7-8 A Java-based emulator CISC RISC is included in the course written in Hack software suite machine machine . a high-level machine language language language language Chapters . 1-6 CISC RISC other digital platforms, each equipped Any Hack machine machine with its VM implementation computer computer Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 8: Virtual Machine, -
Websockets, JSON, HTML, CSS) Webpods When Installed Motivation Create Web Pages to Display Control System Data
Web pods Accessing Control Data Through Web Standards (WebSockets, JSON, HTML, CSS) WebPODS when installed Motivation Create web pages to display control system data WebPODS (Protocol Oriented Distribution Service) • The Web PODS aims to provide real-time publish/subscribe communication using • WebSockets • JSON • Pure HTML/CSS widgets • Main benefits: • Uses web standards (any web client in any language) • Widgets can be configured through standard CSS • Data access outside of control network (possibly WAN) • Web pages do not need to live on the same server where the gateway is Chrome extension: Simple Web Socket Client HTML Probe (Danielle Connolly, UMich) Test javascript client (Danielle Connolly, UMich) Text monitor examples LED examples WebPODS Specify server location Adding text-monitor Adding led Specify color for “LOW” enum value GWT client (Enrique Schuhmacher, BNL) Using CS-Studio off site through Web Pods WebPODS Architecture WebPODS clients WebPODS Server Web Pods server configuration [xxx@diirt ~]# more .diirt/pods/web/mappings.xml <?xml version='1.0' encoding='UTF-8'?> <mappings version="1"> <mapping channel="calibration/constants" substitution="file:///path/to/file/table.csv" permission="READ_ONLY"/> <mapping channel="public-.*" permission="READ_WRITE"/> <mapping channel="cf-tag-(.\w)" substitution="=cfQuery($1)" permission="READ_ONLY"/> <mapping channel="sim/(.*)" substitution="sim://$1" permission="READ_ONLY"/> </mappings> Access security planned, not yet implemented • Use wss (like https) for authentication • Use username/role/unix group/host for authorization Be careful not to expose too much Web Pods • Rebroadcast data using Web sockets and JSON • Play nice with firewalls, get WAN notifications, data available to web tools, server is one class (no logic, a pass-through to pvmanager), should scale (different sockets on different servers, not tested) • Not a substitute to CA/PVA. -
A Light-Weight Time Protocol Based on Common Web Standards
A light-weight time protocol based on common web standards M. Gutbrod, T. Klein, D. Sibold Physikalisch-Technische Bundesanstalt 38116 Braunschweig, Germany [email protected] Abstract—Distributed systems are an essential part of Industry Highest accuracy can be reached by using PTP (Precision 4.0 and IoT. In order to perform properly they depend on time Protocol) if the IT infrastructure fully complies to PTP unambiguous time information while their stripped-down requirements [4]. The current standard only provides an hardware prevents the use of extensive protocols and algorithms. experimental annex for the integrity protection of PTP messages We developed a light-weight protocol for time transmission aiming which was never well adopted and implemented. Thus, the for simplicity, security and broad applicability by relying solely on current effort to revise the PTP specification includes a plan to common web standards. In this paper the new websocket time provide a new security mechanism for PTP. protocol (WST) will be presented. Our aim was to develop a light-weight and secure time Keywords—time protocol, websocket, ntp, time transmission, protocol that is universally usable. Therefore, it is solely based WST on technologies that are available on virtually every IoT device communicating via internet. I. INTRODUCTION The digital transformation is, among others, driven by the II. WEBSOCKET emergence of distributed systems which may for example Websocket was developed to allow efficient bidirectional consist of a large number of sensors performing measuring tasks. communication with low overhead over TCP connections and is In order to correlate their data, it is important that all sensors, or designed to be compatible with the HTTP protocol. -
An Introduction to AJAX
An Introduction to AJAX By : I. Moamin Abughazaleh Page 2 /25 How HTTP works? Classical HTTP Process 1. The visitor requests a page Page 3 /25 2. The server send the entire HTML, CSS and Javascript code at once to the client 3. So, the communication is synchronious Page 4 /25 What is Javascript programming actually? What is Javascript programming? It is programming the browsers. So, we are limited to the objects that the Page 5 /25 browser presents us An Alternative for Managing requests - AJAX AJAX stands for Asynchronous JavaScript And XML. AJAX is based on XMLHttpRequest object of Page 6 /25 Javascript - so the browser and XMLHttpRequest is a standard http://www.w3.org/TR/XMLHttpRequest/ It was introduced with IE-5.0 as an ActiveX object (1999) Later all the major browsers added XMLHttpRequest into their object bases. AJAX = Asynchronous JavaScript and XML It is a technique for creating better, faster, and more interactive web applications With XMLHttpRequest object JavaScript can trade data with a web server, without reloading Page 7 /25 the page AJAX uses “asynchronous data transfer” => allowing web pages to request small bits of information from the server instead of whole pages We can create desktop application like web applications using AJAX, this paradigm is also called “WEB 2.0” programming AJAX - Based on Web Standards AJAX is based on the following web standards: XHTML and CSS Presentation DOM Dynamic display of and interaction with data XML and XSLT Tranfering data back and forth Page 8 /25 XMLHttpRequest Asynchronous transfer of data Javascript Bring these technologies together AJAX applications are browser and platform independent The XMLHttpRequest object is supported in Internet Explorer 5.0+, Safari 1.2, Mozilla 1.0 / Firefox, Opera 8+, and Netscape 7. -
Web-Based Information Visualisation Using Javascript and Webgl
Eurographics Conference on Visualization (EuroVis) (2014) Short Papers N. Elmqvist, M. Hlawitschka, and J. Kennedy (Editors) FluidDiagrams: Web-Based Information Visualisation using JavaScript and WebGL Keith Andrews1 and Benedict Wright2 1Institute for Information Systems and Computer Media (IICM), Graz University of Technology, Austria 2Institute for Software Technology (IST), Graz University of Technology, Austria Abstract Much attention has been focused on the provision of information graphics and visualisations inside a web browser. Currently available infovis toolkits produce graphical output by either injecting SVG nodes into the DOM or using the JavaScript Canvas 2D API. FluidDiagrams is a prototype information visualisation framework written in JavaScript which uses the WebGL 3D JavaScript API for its output, falling back to Canvas 2D as necessary, via the Three.js library. Six visualisations are currently implemented: bar chart and line chart, scatter plot and parallel coordinates for multidimensional data, and cone tree and hyperbolic for hierarchies. Anecdotally, visualisations using SVG nodes in the DOM for output can become rather sluggish when display- ing more than a few dozen items. Visualisations using Canvas 2D exhibit similarly slow performance. WebGL utilises hardware acceleration where available and promises much better performance for complex visualisations, potentially in the order of many thousands of items without becoming unresponsive. A comparison of parallel coordinates visualisations with 100 records in 20 dimensions compared three imple- mentations: FluidDiagrams (WebGL), FluidDiagrams (Canvas 2D), and D3 (using SVG nodes). They achieved 62, 6, and 10 frames per second respectively. The FluidDiagrams (WebGL) implementation was able to render 1,000 records in 20 dimensions at 18 frames per second, compared to 1 and 6 respectively. -
Seacare Authority Exemption
EXEMPTION 1—SCHEDULE 1 Official IMO Year of Ship Name Length Type Number Number Completion 1 GIANT LEAP 861091 13.30 2013 Yacht 1209 856291 35.11 1996 Barge 2 DREAM 860926 11.97 2007 Catamaran 2 ITCHY FEET 862427 12.58 2019 Catamaran 2 LITTLE MISSES 862893 11.55 2000 857725 30.75 1988 Passenger vessel 2001 852712 8702783 30.45 1986 Ferry 2ABREAST 859329 10.00 1990 Catamaran Pleasure Yacht 2GETHER II 859399 13.10 2008 Catamaran Pleasure Yacht 2-KAN 853537 16.10 1989 Launch 2ND HOME 856480 10.90 1996 Launch 2XS 859949 14.25 2002 Catamaran 34 SOUTH 857212 24.33 2002 Fishing 35 TONNER 861075 9714135 32.50 2014 Barge 38 SOUTH 861432 11.55 1999 Catamaran 55 NORD 860974 14.24 1990 Pleasure craft 79 199188 9.54 1935 Yacht 82 YACHT 860131 26.00 2004 Motor Yacht 83 862656 52.50 1999 Work Boat 84 862655 52.50 2000 Work Boat A BIT OF ATTITUDE 859982 16.20 2010 Yacht A COCONUT 862582 13.10 1988 Yacht A L ROBB 859526 23.95 2010 Ferry A MORNING SONG 862292 13.09 2003 Pleasure craft A P RECOVERY 857439 51.50 1977 Crane/derrick barge A QUOLL 856542 11.00 1998 Yacht A ROOM WITH A VIEW 855032 16.02 1994 Pleasure A SOJOURN 861968 15.32 2008 Pleasure craft A VOS SANTE 858856 13.00 2003 Catamaran Pleasure Yacht A Y BALAMARA 343939 9.91 1969 Yacht A.L.S.T. JAMAEKA PEARL 854831 15.24 1972 Yacht A.M.S. 1808 862294 54.86 2018 Barge A.M.S.