Michael Hind is a Senior Manager and Research Staff Member of the Programming Technologies Department at the T.J. Watson Research Center in Yorktown Heights, New York, which is part of IBM's Research Division.
Michael received his Ph.D. from New York University in 1991. From 1991 to 1993 he was a postdoc at IBM Research, working on PTRAN and other projects. From 1992-1998, Michael was an assistant and associate professor of computer science at the State University of New York at New Paltz, as well as holding various positions at IBM Research. In 1998, Michael became a Research Staff Member in the Software Technology Department at the IBM T.J. Watson Research Center, working on the Jalapeno project, the project that produced the open source Jikes RVM. In 2000, he became the manager of the Dynamic Optimization Group at IBM Research, and in 2007, became Senior Manager of the Programming Technologies Department at IBM Research.
Michael is an ACM Distinguished Scientist, an associate editor of ACM TACO, has served on over 30 program committees, given talks at top universities and conferences, and co-authored over 40 publications. He received a SIGPLAN Most Influential Paper award (for his OOPSLA 2000 paper) and was part of the Jikes RVM team that received the SIGPLAN Software Award in 2012. His research interests include adaptive optimization, program analysis, and software optimizations for multicore processors.
The Programming Technologies Department performs research on the design, implementation, and optimization of programming languages and programming models, focusing on distributed, multicore, and heterogenous systems; static and dynamic analysis tools; middleware for in-memory and distributed analytics; and the optimization of analytic applications. Department members have won several awards (ACM SIGPLAN Software Award; 3 Most Influential Paper Awards); been recognized as ACM Fellows and Distinguished Scientists, held numerous ACM and SIG positions, and served as general chairs, program chairs, and programming committees of major conferences. The department has successfully transferred technology and ideas to numerous IBM products, as well as built successful open source projects, such as Jikes RVM, WALA, and X10. The projects in the Programming Technologies Department span these areas:
- Programming Language Design, Implementation, and Optimization
- Middleware for In-Memory Analytics
- M3R - main-memory map/reduce (Contact: Dave Grove)
- META - Middleware for Events, Transactions, and Analytics (Contact: Martin Hirzel, Vijay Saraswat)
- Analysis, Tools, and Techniques for Improving the Security, Robustness, and Performance
If you are interested in an internship, postdoc, or regular position in the Programming Technologies department, please submit a resume at Jobs at IBM, and contact Michael Hind or any of the contact names listed above.
Awards, Services, and Other Activities
- Member, ACM Publications Board Committee on Conferences, Jan 2014 - present
- Member at Large, SIGPLAN Executive Committee, July 2012 - June 2015
- Chair, SIGPLAN CACM Research Highlights Nominating Committee, July 2012 - June 2015
- Chair, SIGPLAN Software Award Committee, July 2012 - June 2015
- Member, NYU-Poly Enterprise Learning Board of Directors, 2012 - 2013
- SIGPLAN Programming Languages Software Award, 2012 for Jikes RVM
- General Chair, X10 Workshop at PLDI'11
- Most Influential OOPSLA'00 Paper Award
- PLDI Representative to SIGPLAN nominating committee for CACM Research Highlights, 2010 - present
- Guest co-Editor, IBM Journal of R&D, special issue on Multicore Software, 54(5), 2010
- ACM Distinguished Scientist, 2009
- General Chair, PLDI'09
- Tutorial Chair, PLDI'08
- Associate Editor, ACM TACO, Jan 2006 - present
- Steering committee, PLDI Conference, June 2008 - present
- Steering committee, VEE Conference, June 2005 - April 2009, (chair June 2005 - August 2007)
- General chair, VEE'05
- General chair, Future of Virtual Execution Environments workshop, Sept 15-17, 2004. Full video available.
- Steering committee, MASPLAS (Mid-Atlantic Student Workshop on Programming Languages and Systems)
- General chair, MASPLAS'96, MASPLAS'01
- Program chair, MRE'03
- Advisory committee member, Computer Science Department, SUNY at New Paltz
- Changing the Foundation: The Impact of Multicore Architectures on Software SUNY New Paltz School of Science and Engineering Colloquium Series February 14, 2013.
- Teaching Programming Language Design and Implementation ... What? To Whom? How?, PLDI'11 Panel, June 8, 2011.
- The Impact of Multicore Architectures on Software: Disaster or Opportunity?, Invited Talk, University of Washington, October 20, 2009 (video). Also presented at Tokyo Tech Workshop (keynote), Ghent University, ICT (Beijing), and University of Illinois at Urbana-Champaign (2012).
- What Role Does Code Generation and Optimization Play for Multi-Core Enablement? CGO'08 Panel, April 8, 2008.
- Dynamic Compilation and Adaptive Optimization in Virtual Machines, Invited Course, ACACES'06 summer school, July 23-29, 2006
- Why Software Optimization Matters and Some Thoughts on How to Improve It, Invited Talk, University of Illinois at Urbana-Champaign, April 27, 2005, (Also presented at University of Colorado and Seoul National University)
- Virtual Machine Learning: Thinking like a Computer Architect, Keynote, CGO'05, March 21, 2005
- The Jikes RVM Story, Invited Talk, Red Hat Free Java Summit, MIT, November 18-19, 2004
- Using Jikes RVM to Understand the Hardware Performance of Java Applications, Keynote, MRE'03, March 23, 2003
- Pointer Analysis: Haven't We Solved This Problem Yet? Invited Talk, PASTE'01, June 18-19, 2001
Tutorials and Courses
- Dynamic Compilation and Adaptive Optimization in Virtual Machines
- The Design and Implementation of the Jikes RVM Optimizing Compiler
- The Design and Implementation of the Jalapeno Research VM for Java PACT'01, September 9, 2001, Slides
- 2014: MUSEPAT'14
- 2013: SAC'13 (PL Track), ICPE'13, MUSEPAT'13, CASCON'13
- 2012: CASCON'12, SAC'12 (PL Track)
- 2011: X10 Workshop at PLDI, SAC'11 (PL Track)
- 2010: ASPLOS'10, PLDI'10 ERC, IWMSE'10, CASCON'10, SAC'10 (PL Track)
- 2009: HiPEAC'09, PACT'09, IISWC'09, CASCON'09,
- 2008: IISWC''08, CASCON'08, First Workshop on Programming Language Curricula
- 2007: WDDD 2007
- 2006: ASPLOS'06, PACT'06, CGO 2006, STMCS
- 2005: VEE'05, PLDI 2005, CGO 2005, MRE 2005
- 2004: ISSTA 2004, CC 2004, MRE 2004
- 2003: OOPSLA'03, Workshop on Exploring the Trace Space for Dynamic Optimization Techniques
- 2002: 4th Workshop on Binary Translation, JVM'02, ISSTA 2002, ECOOP'02 Workshop on Resource Management for Safe Languages
- 2001: FDDO'01