Stefan Muller

6004 Gates-Hillman Center
Computer Science Department
Carnegie Mellon University

(first initial) (last name) (at) cs (dot) cmu (dot) edu

Stefan Muller

Research and Teaching  |   Personal  |   Home


Research Interests

Things I'm currently working on or have recently worked on.

  • Interactive programs: Designing and implementing new techniques and interfaces for writing interactive programs (e.g. console applications, network applications, GUIs) based on the efficient update guarantees of Self-Adjusting Computation.
  • Work Stealing: Work stealing is an important technique for balancing task loads in a parallel computation. However, commonly used work stealing algorithms depend on potentially expensive memory fences and atomic operations. Our work seeks to eliminate these operations.

Past Research

For my undergrad thesis, I studied information flow control in concurrent programs. Concurrent programs provide many challenges to proving noninterference (the property that low-security outputs are independent of high-security inputs), since in the presence of data races, outputs could be affected by the timing of computations. We provide a static analysis for noninterference in a language based on X10. The abstraction of places in X10 gives a convenient, high-level mechanism for linguistically separating data at varying security levels, allowing both programmers and compilers to more easily reason about security guarantees.

My thesis is linked below in the hope that someone wants to become the sixth person (after my three thesis readers and two very dedicated friends) to read it.

SX10: A Language for Parallel Programming with Information Security with Stephen Chong. Undergraduate Thesis, Harvard University. Spring 2012.

Publications

Hierarchical Memory Management for Parallel Programs
ACM International Conference on Functional Programming (ICFP 2016)
Ram Raghunathan, Stefan K. Muller, Umut A. Acar and Guy Blelloch

Latency-Hiding Work Stealing
ACM Symposium on Parallelism in Algorithms and Architectures (SPAA 2016)
Also available as Technical Report CMU-CS-16-112
Stefan K. Muller and Umut A. Acar

Practical and Safe Abstractions for Interactive Computation via Linearity
Technical Report CMU-CS-15-130
Stefan K. Muller, William A. Duff, Umut A. Acar

Practical Abstractions for Concurrent Interactive Programs
Technical Report CMU-CS-15-131
Stefan K. Muller, William A. Duff, Umut A. Acar

Bridging Theory and Practice in Interaction
Summit on Advances in Programming Languages (SNAPL 2015)
Stefan K. Muller and Umut A. Acar

Coupling Memory and Computation for Locality Management
Summit on Advances in Programming Languages (SNAPL 2015)
Umut A. Acar, Guy Blelloch, Matthew Fluet, Stefan K. Muller, Ram Raghunathan

Towards a Practical Secure Concurrent Language.
Conference on Object-Oriented Programming Languages, Systems, Languages, and Applications (OOPSLA 2012)
Stefan Muller and Stephen Chong

Teaching

At Carnegie Mellon

  • Fall 2013: 15-210. Parallel and Sequential Algorithms and Data Structures
  • Fall 2014: 15-814. Types and Programming Languages
  • Spring 2016: 15-897. Parallel Computing: Theory and Practice

At Harvard

  • Spring 2012: CS51. Introduction to Computer Science II
  • Fall 2011: CS61. Systems Programming and Machine Organization
  • Spring 2011: CS51. Introduction to Computer Science II
  • Fall 2010: CS61. Systems Programming and Machine Organization
  • Spring 2010: CS51. Introduction to Computer Science II