William Blair 17 Surrey St Brighton, M.A. 02135 U.S.A. Phone: 617-870-8932 email: wdblair@cs.bu.edu url: http://cs-people.bu.edu/wdblair Current position Ph.D. Student, Boston University Research Interests I am interested in investigating how programmers can leverage expressive type systems to build confidence in software correctness. I currently explore this idea in my PhD studies with ATS, a statically typed functional language that features both dependent and linear types. I have written verified firmware for Arduino boards in ATS and improved the language’s type checker to use SMT solvers which allows programmers to automatically verify code that previously required manual proof. For my thesis, I plan on using Session Types in ATS as a way of verifying correctness and safety properties of communicating processes in Cyber-Physical Systems. The mission critical requirements of such systems makes ensuring correct and predictable communication between application components an important, yet difficult task. Session Types allow communication over channels to be specified using program types. I believe embedding this information into the type system offers an attractive alternative to just run-time analysis which can be difficult to implement with systems that are tightly coupled with the physical world. Education 2014-present 2012-2014 2008-2012 PhD in Computer Science, Boston University MS in Computer Science, Boston University Project: Dependent Types for Real Time Constraints Advisor: Hongwei Xi BA in Computer Science, Boston University 1 Research Works in Progress 2015 William Blair, Hongwei Xi. ”Implementing Hybrid Systems with Dependent Types” Presentations 2015 2015 2015 2014 William Blair, Hongwei Xi ”Using a Portfolio of SMT Solvers in Software Development” NEPLS Fall at Tufts University William Blair, Hongwei Xi ”Dependent Types for Real Time Constraints” ML Workshop at ICFP 2015 William Blair, Hongwei Xi ”Integrating SMT into Software Development”” NEPLS Spring at Wesleyan University Wesleyan University William Blair, “Debugging with Types in ATS” Boston Haskell Meetup Teaching Fall 2014 Spring 2015 Spring 2014 TF For CS111 Introduction to Computer Science Assisted students through a breadth first introduction to Computer Science that covers programming in Functional, Imperative, and Object Oriented paradigms. Other topics such as Computer Organization, Assembly Programming, and Computational Complexity were briefly introduced as well. The class was adapted from the ”CS For All’ class developed at Harvey Mudd University. My role included leading discussion sections, grading, and holding office hours. TF for CS211 Object Oriented Programming Assisted students with learning Objective C and writing applications for iOS devices. Students first built familiarity with the iOS environment by gradually constructing a Tweeting App in iOS, and then developed original apps on there own. Professional Experience 2015 2009-2014 Software Engineer Intern in LonoCloud group at ViaSat Assisted in improving a Standard Cloud Library. Using this library, application components for distributed systems can be developed against a standard interface instead of specific cloud services or infrastructure. This work involved concurrent programming in Clojure with the core.async library. Software Engineer Intern at 829 Studios LLC Developed web applications in PHP and Python. The largest project includes the Licensing Industry Merchandiser’s Association’s (LIMA) front end web site along with their customer management and billing system. Designed and Implemented OfferedLocal, a Ruby on Rails application that allows businesses to publish location based offers across Facebook, Twitter, and FourSquare. 2 2013 2009-2010 Software Engineer Intern at ViaSat Reverse engineered Android and iOS applications. Developed prototypes where a manin-the-middle server could alter the behavior of applications that relied on Javascript. Technician at Electronics Design Facility Assisted in the design and layout of circuit boards for Physics Research Groups. Wrote firmware for a medical prototype as a part of the FLARE laser project at Beth Israel Hospital. The device used microcontrollers to regulate the power and temperature of lasers. 3