Toolsmiths have created thousands of powerful and useful software development tools, yet software developers only use a small subset of the available tools, and those that a developer does use are often not fully leveraged. I believe that the solution to this problem can be found by rethinking the design of software development tools, based on a better understanding of why developers use and do not use these tools.
My research spans human-computer interaction and software engineering, winning three ACM SIGSOFT Distinguished Paper Awards. My research problems are informed by and my results influence software development at companies such as Google and Microsoft.
I am currently on several program committees, including the 2012 International Conference on Software Engineering (ICSE), the 2012 Conference on Object-Oriented Programming, Languages, and Systems (OOPSLA), the 2012 Symposium on Visual Languages and Human-Centric Computing (VL/HCC), and 2012 Workshop on Evaluation and Usability of Programming Languages and Tools (PLATEAU). I am privileged to work with several outstanding Ph.D. students: Xi Ge, KyungWha Hong, Brittany Johnson, Donghoon Kim, Yoonki Song, and Shundan Xiao.
In summer of 2012, I'll be a Visiting Researcher with the Empirical Software Engineering group at at Microsoft Research.
Previously, I worked with Gail Murphy in the Software Practices Lab at the University of British Columbia. I finished my Ph.D. under Andrew P. Black at Portland State University in 2009. My dissertation topic investigated how to construct refactoring tools that programmers actually want to use.
Are you a student looking for an advisor? (If you're unsure of what my research area is, check out one of my recent papers.) Are you a researcher and think that our interests overlap? I'm always looking for collaboration; you can reach me at emerson@csc.ncsu.edu