Archives for posts with tag: Code
Generating Low-Overhead Dynamic Binary Translators
Google Tech Talk June 9, 2010 ABSTRACT Presented by Mathias Payer. Dynamic (on the fly) binary translation is an important part of many software systems. In this talk we discuss how to combine efficient translation with the generation of efficient code, while providing a high-level table-driven user interface that simplifies the generation of the binary translator (BT). The translation actions of the BT are specified in high-level abstractions that are compiled into translation tables; these tables control the runtime program translation. This table generator allows a compact description of changes in the translated code. We use fastBT, a table-based dynamic binary translator that uses a code cache and various optimizations for indirect control transfers to illustrate the design tradeoffs in binary translators. We present an analysis of the most challenging sources of overhead and describe optimizations to further reduce these penalties. Keys to the good performance are a configurable inlining mechanism and adaptive self-modifying optimizations for indirect control transfers. Link to the paper: nebelwelt.net Using a BT to secure running programs: Hacking the Hackers with User-Space Virtualization nebelwelt.net Project page of the BT: nebelwelt.net
Views:
1087
9
ratings

Time:
38:31
More in
Science & Technology

By Nikolai Tillmann and  Mike Barnett

Learn how Code Contracts provides a set of tools for design-by-contract programming and how Pex is an advanced unit-testing tool that uses automated program exploration to intelligently create unit tests with high code coverage. 
See how they work together so that your code has fewer defects.

Learn about new features for Code Contracts including automatic documentation generation, call-site checking for components and reference assemblies for the .NET Framework and for Pex including a light-weight mocking framework, improved support for large code bases, and more thorough test input generation.

Links:
PEX // Code Contracts // Mike Barnett // Nikolai Tillmann // MDCC // DPE DK

This week on Channel 9, Dan and Clint discuss the week’s top developer news, including:

Picks of the week

Visual Studio 2010 introduces an entirely new set of architecture tools to aide in both understanding the code you already have and in defining how new systems will be built.

In this session, you will discover how you can use new tools like the Architecture Explorer to better understand and comprehend complex systems before making any changes to them. You will see how graphically modeling the code makes it easier to understand the impact of a potential change. We’ll also show you how you can use modeling tools for UML and layer diagramming to describe and communicate the design of a new system—including how these tools can be used to validate the software being developed against its intended architecture.

The IE9 Platform Preview includes the first release of the new JavaScript engine. This new engine compiles JavaScript source code into high-quality native machine code. It also has a new fast interpreter for sequentially executing script on traditional web pages and contains several improvements to the JavaScript runtime (including improvements in type representation, polymorphic inline caching and efficient implementation of machine types). 

IE 9’s JS engine employs a dual execution pipeline architecture which enables very efficient interpreting of JS code while at the same time compiling JS code in the background (on a different thread), taking advantage of the processing power of modern hardware.

In terms of code analysis, IE 9’s JS engine analyzes hot functions and puts them into a queue for background compilation. There are other types of analysis that happen (or could happen). For example, the ability to change execution strategies based on power state (if a PC is on battery power, for example, then limit the amount of codegen). 

In this episode of Going Deep, we meet the leaders of the team that builds this new high performance JavaScript engine: GM Shanku Niyogi, Architect Steve Lucco and GPM John Montgomery. If you’re interested in how IE 9’s JavaScript engine works, then you’ll certainly enjoy this great conversation.

Tune in. Enjoy.

In this video demo, Phil Newman, a program manager on the InfoPath team shows how you can write managed code in an InfoPath form to add items to a SharePoint list, and then publish this form as a sandboxed solution to SharePoint.

In InfoPath 2010, forms with code can now be published directly to SharePoint without requiring the farm administrator to approve and upload them! These forms run in a sandboxed environment which protects other resources on the SharePoint server from malicious code.

For more information and the sample code that was used in this demo, go to the InfoPath Team Blog.

What if you wanted to allow your business customers to modify the way their business processes work without resorting to custom code? Many products have this requirement, as does Microsoft Dynamics AX. In this episode, I’ll chat with Josh Honeyman, development lead on the team, about how they used WF4 along with a very cool looking flowchart design surface to give their product an edge in a competitive market.

The Lazy Programmer's Guide to Secure Computing
Google Tech Talk March 11, 2010 ABSTRACT Presented by Marc Stiegler. This presentation starts with a simple block of code written by the Lazy Programmer, to observe how laziness made the code more compact and simpler. We then define the Principle of Least Authority(POLA), and explain why it is a best practice for secure programming. We show how laziness in that first example enabled enforcement of POLA. We then put the Lazy Programmer through a series of increasingly more difficult tasks as management attempts to make the Lazy Programmer work hard. To achieve maximum laziness, the Lazy Programmer is driven toward increasingly more modular, encapsulating OO designs that happen to implement POLA; ultimately compelled to build systems with defense in depth to avoid work. A secret truth is thus revealed: lazy OO programmers have been using secure techniques for decades, if only they had known. We then describe the tools that turn laziness into correctly enforced security for JavaScript, Java, and distributed computing. Marc Stiegler is a researcher at Hewlett-Packard Labs who has written "Introduction to Capability Based Security," and designed CapDesk and Polaris, a windows overlay that isolates applications from one another to allow virus safe computing.
Views:
7748
45
ratings

Time:
01:13:28
More in
Science & Technology

Mike Harsh comes back to Silverlight TV to show John how easy it is to develop a real world application for Windows Phone 7 Series (WP7) using Silverlight. Within a matter of minutes, Mike has developed and started running a functional WP7 twitter application that makes cross domain calls. He demonstrates how to design the interface using the designer and tools in Visual Studio 2010 Express for Windows Phone, and writes the event handlers to hook into a Twitter API. The key point of this demo is how easy it is to develop for WP7 with Silverlight.

You can find the source code and other useful resources from these links:

Follow us on Twitter @SilverlightTV or learn more about Silverlight with the Silverlight Training Course on Channel 9.

While on campus for the MVP Summit in February, I had a chance to visit Henry Sowizral over in building 41. Henry Sowizral is a Principal Architect in Microsoft Expression, and he and his team did something really cool: they converted an existing C/C++/MFC application to have a WPF front-end, while still leveraging all that existing code.

If you have legacy code and are considering porting the UI to .NET, pick up some pointers from Henry.

Once you’ve finished, check out Henry’s presentation deck on how the team converted the Expression Design UI to WPF.

See more WPF at Pete’s site and blog http://10rem.net
Follow Pete on twitter at @pete_brown