Three members of the Allen School family were recently named Fellows of the Association for Computing Machinery (ACM) in recognition of their professional achievements. Professor Rastislav (Ras) Bodik of the Allen School’s Programming Languages & Software Engineering (PLSE) group, former postdoc Aaron Hertzmann of Adobe Research, and alumnus Alec Wolman (Ph.D., ‘02) of Microsoft Research were among the 56 ACM members worldwide to be recognized in the 2018 class of Fellows for their outstanding technical contributions in computing and information technology and their service to the computing community.
“In society, when we identify our tech leaders, we often think of men and women in industry who have made technologies pervasive while building major corporations,” said ACM President Cherri M. Pancake in a press release. “At the same time, the dedication, collaborative spirit and creativity of the computing professionals who initially conceived and developed these technologies goes unsung. The ACM Fellows program publicly recognizes the people who made key contributions to the technologies we enjoy.”
In Ras Bodik’s case, those contributions center on his work in algorithmic program synthesis, a field that he helped start in the mid-2000’s. Program synthesis — sometimes referred to as automatic programming — simplifies the process of writing computer programs by asking the computer to search for a program that accomplishes user’s goals. Over the last 15 years, Bodik and his collaborators demonstrated practical applications of program synthesis by developing efficient algorithms and making them available to programmers by combining language design with new programmer interaction models.
“One of the benefits of program synthesis is that it makes computing more accessible, even as our systems increase in scale and complexity,” said Bodik. “By making it possible to start from an incomplete specification, such as user demonstrations, program synthesis opens up programming to novice users while it eases the process for those of us who write programs for a living.”
Bodik has shown program synthesis to be a versatile technique that can benefit experts and non-experts alike and attack problems with real-world impact. Bodik’s interest in program synthesis started at the University of Wisconsin, where he worked on mining program specifications from software corpuses. When he was a faculty member at the University of California, Berkeley, he and then-Ph.D. student Armando Solar-Lezama, now a member of the faculty at MIT, laid the groundwork for modern program synthesis through so-called program sketches and by reducing the search problem to SAT constraint solving. To help programmers create new synthesizers, he collaborated on Rosette, a solver-aided programming framework that was developed by Allen School professor Emina Torlak. Rosette demonstrated how program synthesis can make up for the absence of compilers in certain domains and avoid error-prone, low-level code by enabling programmers to produce domain-specific tools for verification, synthesis, and debugging.
An attractive feature of program synthesis is that it can be applied outside the realm of computer science to solve problems in cases where the solution can be modeled as a program — a feature that Bodik has been keen to exploit to generate practical solutions for scientists working in other domains. For example, he and his team have enabled the use of program synthesis by biologists to infer cellular models from mutation experiments, and by data scientists to simplify the layout of data visualizations.
As Bodik and his colleagues have expanded program synthesis into a broadening array of applications, they have taken an interdisciplinary approach to research that has led to advancements in multiple computing domains, including more efficient algorithms to enable synthesis of large SQL queries and the extension of programming by demonstration to the web browser. The Helena project, for example, enabled many teams of social scientists collect web datasets which they use to help city governments design new policies.
Bodik is also credited with spurring the rapid advancement of the synthesis community to where it has achieved parity with human programmers on at least a dozen tasks that typically require months of training. Half of those milestones are based on work produced by Bodik and his collaborators.
“We have reached the point where novice programmers can generate programs that function as well or better than those created by experts,” Bodik observed. “Program synthesis, especially when combined with other technologies for human-computer interaction, can be a great leveler.”
Aaron Hertzmann, a former postdoc in the Allen School’s Graphics & Imaging Laboratory (GRAIL) from 2001 to 2002 and an affiliate faculty member since 2005, was recognized for his contributions spanning computer graphics, non-photo realistic rendering, computer animation, and machine learning. After leaving the Allen School, Hertzmann spent 10 years as a faculty member in the Computer Science Department at the University of Toronto before joining Adobe Research, where he is a principal scientist focused on computer vision and computer graphics.
Hertzmann is known for his work on new methods for extracting meaning from images and modeling the human visual system, as well as the creation of robust software tools for creating expressive, artistic imagery and animation in the style of human painting and drawing. Early in his career, as a member of New York University’s Media Research Laboratory, Hertzmann contributed new techniques for non-photorealistic rendering that combined the expressivity of those natural media with the flexibility of computer graphics. For example, he developed a method for painterly rendering to create images that appear hand-painted from photographs using multiple brush sizes and long, curved brush strokes. He extended the concept to video with new methods for “painting over” successive frames of animation to produce a novel visual style — work that he later built upon to produce AniPaint, an interactive system for generating painterly animation from video sequences that granted users more direct control over stroke synthesis. Among Hertzmann’s many other contributions to computing for art and design are new algorithms for generating line-art illustrations of smooth surfaces, a new method for computing the visible contours of a smooth 3D surface for stylization, and tools for automatically creating graphic design layouts and generating interactive layout suggestions.
Hertzmann has also worked on a number of projects for building computational models of human motion and for perceiving the 3D structure of people and objects in video that gained traction in the broader graphics and special effects communities. For example, Hertzmann contributed to the development of the style machine, a statistical model that can generate new motion sequences based on learned motion patterns from a series of motion capture sequences — the first system for “animation by example” that has since gained popularity. Other contributions include an inverse kinematics system that produces real-time human poses based on a set of constraints that subsequently was deployed in the gaming industry, and Nonlinear Inverse Optimization, a novel approach for generating realistic character motion based on a dynamical model derived from biomechanics.
More recently, Hertzmann has turned his attention to virtual reality (VR). One of his projects that has gained prominence is Vremiere, a system for enabling direct editing of spherical video in immersive environments. This work formed the basis of Adobe’s Project Clover in-VR video editing interface announced at its MAX Creative Conference in 2016 and earned the team a Best Paper Honorable Mention at last year’s ACM Conference on Computer-Human Interaction (CHI 2017). Hertzmann worked with the same group of collaborators to produce CollaVR, a system that enables collaborative review and feedback in immersive environments for multiple users.
“My post-doctoral experience at UW, and the long-term collaborations that arose from it, were some of the richest of my career,” Hertzmann said about his time with GRAIL. “They broadened my experience into several research areas that were new to me.”
Alec Wolman earned his Ph.D. from the Allen School working with professors Hank Levy and Anna Karlin. He is a principal researcher in Microsoft’s Mobility and Networking Research Group, where he manages a small team of researchers and developers. His research interests span mobile systems, distributed systems, operating systems, internet technologies, security, and wireless networks. In naming him a 2018 Fellow, ACM highlighted his many contributions in the area of trusted mobile systems and services.
One of those contributions was fTPM — short for “firmware Trusted Platform Module” — which was implemented in millions of Windows smartphones and tablets and represented the first implementation of the TPM 2.0 specification. fTPM enables Windows on ARM SoC platforms to offer TPM-based security features including BitLocker, DirectAccess, and Virtual Smart Cards. fTPM leverages ARM TrustZone to implement these secure services on mobile devices and offers security guarantees similar to a discrete TPM chip — one of the most popular forms of trusted hardware in the industry. Wolman was also one of the researchers behind Trusted Language Runtime (TLR), a system that made it easy for smartphone app developers to build and run trusted applications while offering compatibility with legacy software and operating systems. In addition, he contributed to software abstractions for trusted sensors used in mobile applications; the cTPM system to extend trusted computing abstractions across multiple mobile devices; and Sentry, which protects sensitive data on mobile devices from low-cost physical memory attacks.
Wolman’s contributions in distributed systems and cloud services has had a significant impact on Microsoft’s products, serving many millions of users. Recently, he helped design and develop Microsoft Embedded Social (ES), a scalable Azure service that enables application developers to incorporate social engagement features within their apps in a fully customizable manner. ES has been incorporated in nearly a dozen applications and has served roughly 20 million users to date. Previously, Wolman co-developed the partitioning and recovery service (PRS) as a component of the Live Mesh file synchronization product. PRS, which enables data distribution across a set of servers with strong consistency as a reusable component, was later incorporated into the cloud service infrastructure for Windows Messenger and Xbox Live.
Wolman’s work on offloading computations — including Mobile Assistance Using Infrastructure (MAUI) and Kahawai — demonstrated how mobile devices can leverage both the cloud and edge computing infrastructure and are considered seminal pieces of research that influenced thousands of follow-on papers. Wolman and his team also collaborated with Allen School researchers on the development of MCDNN, a framework for mobile devices using deep neural networks without overtaxing resources such as battery life, memory, and data usage.
The Fellows Program is the ACM’s most prestigious member level and represents just one percent of the organization’s global membership. The ACM will formally honor the 2018 Fellows at its annual awards banquet to be held in San Francisco, California in June.
Learn more about the 2018 class of ACM Fellows here.
Congratulations to Ras, Aaron, and Alec!