2014 conferences
Embracing Blur

Connecting the Bots

European [next]
[next]
Regional Meetings
Prior conferences
Upcoming conference
more about us

 

 

REPROGRAMMING PROGRAMMING
September 30–October 1, 2014
Washington, D.C.




 

agenda


MONDAY, SEPTEMBER 29
6:00 PM
First Timers Pre-Reception Welcome
6:30 PM
Reception / Dinner (Dinner at 7:00 pm)

TUESDAY, SEPTEMBER 30
7:30 AM

Breakfast

8:30 AM
Conference Welcome
Len Kleinrock, TTI/Vanguard Advisory Board
8:50 AM
Conference Overview
David Reed, TTI/Vanguard Advisory Board
9:00 AM
Carlos Olguin, Head, Bio/Nano/Programmable Matter Group, Autodesk Research
Programmable Matter
9:40 AM
Todd Hylton, Senior Vice President, Brain Corporation
Neuromorphic Computing: Insights and Challenges
Neuromorphic computing is on a roll, and much of the very early research, including IBM's recently announced neuromorphic computing chip, was developed as part of the DARPA SyNAPSE program. In this talk I introduce the basic concepts behind neuromorphic computing, discuss the challenges and misunderstandings associated with it, and offer some lessons learned since I began working on the DARPA SyNAPSE program over seven years ago. We'll compare and contrast neuromorphic computers, traditional computers, and brains, and speculate on paths going forward.
10:20 AM
Break
10:50 AM
Emina Torlak, Assistant Professor, University of Washington
Programming for Everyone: Languages That Automate Coding, Verification, and Debugging
In this talk, I present a new approach to constructing programs, called Rosette. It exploits advances in automated logical reasoning that make programming easier for experts and more accessible to everyone else. The approach is based on two observations. First, much of everyday programming involves the use of domain-specific languages (such as Excel for end-users, or JavaScript libraries for web programmers). Second, productivity tools based on automated reasoning (such as verification or synthesis) work best when specialized to a given domain. Rosette is a new kind of programming language, designed for easy creation of DSLs that are equipped with automated programming tools. These DSLs use Rosette's reasoning facilities to automate hard programming tasks, including verification and debugging of existing programs, as well as synthesis of new code. Rosette works by compiling DSL programs to logical formulas understood by automated reasoning engines, and then translating the engine's output to failure-inducing inputs (in the case of verification) or correct code snippets (in the case of synthesis and debugging). Rosette has hosted several new DSLs, including a language for ultra-low-power computing and a language for end-user web scraping by example.
11:30 AM
Michael Franz, Professor, University of California, Irvine
Code Diversity and Biologically Inspired Computer Defenses
Today's software monoculture creates asymmetric threats. An attacker needs to find only one way in, while defenders need to guard a lot of ground. Adversaries can fully debug and perfect their attacks on their own computers, exactly replicating the environment that they will later be targeting. Software diversity raises the bar to attackers. A diversification engine automatically generates a large number of different versions of the same program, potentially one unique version for every computer. These all behave in exactly the same way from the perspective of the end-user, but they implement their functionality in subtly different ways. As a result, a specific attack will succeed on only a small fraction of targets, and a large number of different attack vectors would be needed to take over a significant percentage of them. Because an attacker has no way of knowing a priori which specific attack will succeed on which specific target, this method also very significantly increases the cost of attacks directed at specific targets. We have built such a diversification engine, now available as a prototype. We can diversify large software distributions, such as the Firefox and Chromium web browsers or a complete Linux distribution. Some preliminary insights will be presented as well as some practical issues, including the problem of reporting errors when every binary is unique.
12:10 PM
Members' Working Lunch
1:25 PM

Ike Nassi, Chief Executive Officer and Founder, TidalScale
Software-Scaled Computing: Resizing the Computer to Fit the Application
How can we simplify the structuring of Big Data applications? Today's alternatives are to either use a larger server to handle larger amounts of data at increased cost, or to spread the data and the application out among a distributed set of lower cost servers. TidalScale greatly simplifies application development by eliminating the need to manually partition an application across a cluster of servers, and distribute the data for those application within a cluster. Most virtualization systems today allow multiple virtual machines to run on a single server. In contrast, TidalScale's approach is to run a single virtual machine on a tightly coupled set of low priced commodity servers that behave like a single large server. TidalScale sits above the hardware and below the operating system, and no changes to the operating system or applications are required. Therefore, the customer defines the size of the server to fit the application, rather than the other way around. Later, the customer can adjust the size by simply adding and subtracting physical servers.

2:05 PM
Walter Bright, Nerd
The D Programming Language
Programming errors plague the software development industry: They introduce security vulnerabilities, are costly to detect and costly to fix, and can cause expensive collateral damage. "Trust the programmer" does not scale. The D programming language instead operates according to the principle of "trust but verify." Drawing inspiration from the airframe industry, D designs errors out of existence whenever possible. 
2:45 PM
Break
3:15 PM

Jini Kim, Founder, NunaHealth, and Mikey Dickerson, Deputy U.S. Chief Information Officer and Administrator, U.S. Digital Services Team
Fixing Healthcare.gov

5:15 PM
Close of First Day
6:30 PM

Reception / Dinner (Dinner at 7:00 pm)


Wednesday, October 1
7:30 AM

Breakfast

8:30 AM
TTI/Vanguard Announcements
8:55 AM
Alan Kay, TTI/Vanguard Advisory Board
Timeless Software
9:35 AM
Vikas Gupta, Co-founder and Chief Executive Officer, Play-I
Kids Programming Robots
Research shows that children can in fact grasp programming concepts as early as pre-school age. However, what is "computer programming" to a 5 year old? Play-I creates robots that transform programming into play by means of visual coding tools. These tools can then be stepping stones for coding as the rest of us know it. While Play-i's robots focus on coding, they are designed for a much bigger purpose: to develop logical reasoning, spatial awareness, and divergent thinking—skills kids will need as they become independent and creative grownups in the 21st century.
10:15 PM
Break
10:45 AM
Bob Charette, Founder and President, ITABHI Corporation
Programming in the New Risk Ecology
As information technologies have grown in capability, they have also grown in complexity, as has the resultant risk ecology—social and political as well as technological. One area of risk that calls for special attention is one of IT's core activities: Programming. Programming success depends on an organizational environment that actively promotes it, and on a clear vision of purpose focused on customers, not cost-cutting. This talk will look at the lessons of success learned from an organization that has been able to create successful IT systems for over 100 years, the Mayo Clinic.
11:25 AM

Jake VanderPlas, Director of Research in the Physical Sciences for the eScience institute, University of Washington
Big Data Brain Drain
Scientific research is increasingly driven by large datasets and the sophisticated software tools required to handle them. Academia has been slow to recognize the value of these skills, which has recently led to a flow of young data scientists from academia into industry. To be sure, we've seen similar "brain drains" before, such as the Wall Street quants of the 1990s. The difference, however is one of scale: Science today is even more dependent on analyzing large datasets. The 1990s-era Sloan Digital Sky Survey, for example, took a decade to amass 30 terabytes of data. In a few years the Large Synoptic Survey Telescope will also create about 30 terabytes—each night, for ten years. That difference in scale means that our old-style tools will no longer suffice, and if academia can't retain the people with the skills to do this sort of work, we may see a huge setback to progress across scientific communities. I'll look at how universities might adapt to better serve their graduates and ensure progress in data-driven scientific research, while still producing enough data scientists for industry and finance.

12:05 PM

Jonathan Aldrich, Associate Professor, School of Computer Science,
Carnegie Mellon University
Wyvern: The Human Dimension of Programming Language Security
Wyvern is a new programming language being designed to significantly reduce or eliminate many of the most common and severe classes of vulnerabilities by bringing the human dimension of software security to bear on language design. For example, in today's languages encourage programmers to build SQL queries by the insecure but convenient practice of pasting together strings. Wyvern's extensibility allows SQL queries—or any other domain-specific syntax—to be directly included in Wyvern programs, so that the easy way to build a query is also the secure way. Furthermore, Wyvern's module system will provide greater control to software architects so they can work with their teams to ensure that code meets critical security standards. Overall, this research is demonstrating that security need not come at the cost of productivity; better languages and tools can enhance both.

12:45 PM
Members' Working Lunch
2:00 PM

Mark Maybury, Vice President and Chief Technology Officer, MITRE
10X Transformational Change
The U.S. Department of Defense and other organizations—including MITRE, which manages six federally funded research and development centers—have traditionally used a system of Technology Readiness Levels to assess the relative readiness for deployment of an emerging technology. MITRE has recently developed a so-called 10X program that aims to "reprogram" the classic long-term acquisition and development process in the public sector. 10X has the potential to radically change airport safety, bistatic sensing, patient safety (via big data analysis), and cyber security, and other big systems. This talk will briefly describe 10X, illustrating it with one or more public interest case studies. While the 10X program has only completed its second year, there have already been two level-10 transformational changes in major government programs; one of which—affecting three government departments—can be described in detail.

2:40 PM

Michal Migurski, Chief Technology Officer, Code For America
Harnessing Technology to Solve Community Problems
Years of aggressive outsourcing has taken its toll, and governments have borne much of the pain. Last year's disastrous initial rollout of Healthcare.gov is only the most visible result of this trend, and insiders are quick to point out how typical a project it was at the start. But the evolution of programming practices in the past decade—agile project management, lean startups, and dev-ops—show how programming continually responds to uncertainty by learning and adapting. Code for America's four years of experience in connecting agile technologists with the needs of scores of local governments demonstrates both the problems and possible solutions.

3:20 PM
Conference Reflections
Bob Lucky, TTI/Vanguard Advisory Board
4:00 PM
Close of Conference

home about us activities and deliverables contact faqs copyright