- School of Engineering
- Biomedical Engineering
- Chemical and Biological Engineering
- Civil and Environmental Engineering
- Computer Science
- Electrical and Computer Engineering
- Mechanical Engineering
- Center for Applied Brain and Cognitive Sciences
- Center for Engineering Education and Outreach (CEEO)
- Engineering Management & Innovation (Gordon Institute)
- Center for STEM Diversity
Computer science paper recognized for influence
A paper published in 2010 by Professor and Associate Chair Jeffrey Foster and collaborators was recently honored by the Symposium on Principles of Programming Languages (POPL).
Each year, the ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), a top conference in the field of programming languages, recognizes a paper which was presented at the conference held 10 years prior. Papers are judged by their influence over the past decade. At POPL 2020, Professor and Associate Chair Jeffrey Foster of the Department of Computer Science and two collaborators received the Most Influential POPL Paper Award for their 2010 paper "From program verification to program synthesis."
In the paper, Foster and Saurabh Srivastava, both of the University of Maryland College Park at the time, and Sumit Gulwani of Microsoft Research described a novel technique for synthesizing programs. Foster, Srivastava, and Gulwani's technique applied verification tools and techniques, which are used to prove that programs have desirable properties, to program synthesis. Automated program synthesis allows computers, instead of people, to write programs, which could potentially enable easier programming and design of systems.
In the POPL citation, the selection committee lauded the paper for advancing "our ability to synthesize programs from logical specifications. [...] The authors were able to synthesize a range of clever algorithms, which served as inspiration for some of the massive effort on verification-based program synthesis over the past decade."
POPL is a prestigious annual symposium in computer science. Attendees focus on founding principles and crucial innovations in the design, definition, analysis, and implementation of programming languages, programming systems, and programming interfaces.