The ACM Special Interest Group on Programming Languages (SIGPLAN) explores programming language concepts and tools, focusing on design, implementation, practice, and theory. Its members are programming language developers, educators, implementers, researchers, theoreticians, and users.
Understanding and Evolving the Rust Programming Language
Scalable Automated Reasoning for Programs and Deep Learning
(for 2012): Multiple facets for dynamic information flow Citation: | The paper proposed to track information flow dynamically through Javascript programs using a run-time monitor; folklore that dynamic monitors were unsound led others to focus on static techniques. Its key new idea was to blend multiple executions into a single one via “faceted values.” This idea generalized a prior whole program technique of “secure multi execution” (SME), and inspired follow-on work in Javascript security, information flow analysis in other languages (e.g., Python, Haskell, Java), and other problem domains, notably “variability-aware execution” and “dynamic determinacy analysis.” It even influenced follow-on improvements to SME itself. The variety of authors in the most-cited citing papers, and the variety of their areas—most top venues in PL, SE, and Security are represented—speak to its influence. The paper is exemplary in seeding a nice core idea that has evidently proliferated throughout its core area, and also influenced solutions to other problems outside this area.
(for 2011) Frenetic: A Network Programming Language Citation: | This is the first conference paper in a highly influential line of work creating a bridge between PL and networking. The authors analyzed deficiencies in the state of the art in languages for programming networks, addressed these limitations in a new language design, and described its implementation and performance on a suite of microbenchmarks. The language applied a range of ideas from the functional programming community: a declarative query language for classifying and aggregating network traffic; a reactive combinator library for describing high-level packet-forwarding policies; and a run-time system that automatically generates the low-level packet-processing rules, installing, uninstalling, and querying them on physical switches. This paper inspired a mountain of follow-on work by these authors and others. The practical value of improving network programming, and this paper’s influence on subsequent advances in the state of the art, make it a deserving winner of the award for Most Influential Paper of ICFP 2011.
(for 2011) SugarJ: library-based syntactic language extensibility