Symposium Discussion: Eliminating Bugs and Empowering Programmers to Design a User-Centered Programming Language
Programming languages are both formal systems and user interfaces that programmers work with. Unfortunately, programmers struggle to write secure software: serious bugs and security flaws are common. In many cases, however, languages with strong security guarantees have been difficult to use. In this talk, I will discuss user-centered design methods that I have developed to help language designers create languages that are easier to use. I’ll show how I created and evaluated Obsidian, a new smart contract language that uses a linear type system, and Bronze, a new garbage collector for Rust. In each case, I found that the resulting language helps programmers write software more efficiently than with previous approaches.
Michael Coblenz is a Basili Postdoctoral Fellow at the University of Maryland. Michael developed the PLIERS method, which integrates user-centered methods into the process of designing safe programming languages. He created Glacier, an immutability system for Java; Obsidian, a strongly typed language for smart contracts; and Bronze, a garbage collector that improves Rust’s usability. He holds a doctorate. in Computer Science from Carnegie Mellon University. Previously, he was a senior software engineer at Apple. His work, which lies at the intersection of programming languages, software engineering and human-computer interaction research, has been published in OOPSLA, TOPLAS, ICSE and TOCHI.