Brent Hailpern

Part-Time Lecturer

Research interests

  • Programming languages
  • Software engineering

Education

  • PhD in Computer Science, Stanford University

Biography

Brent Hailpern is a part-time lecturer at the Khoury College of Computer Sciences at Northeastern University. He earned his PhD in Computer Science from Stanford University. Hailpern is currently a fellow of the ACM and the IEEE.

Prior to joining Northeastern, he worked as a research staff member in 1980 for the Thomas J. Watson Research Center, managing projects related to issues of concurrency and programming languages. From 1999 to 2004, he was the associate director of computer science for IBM Research. Then, from 2004 to 2011, he managed departments at Watson Research covering programming languages, software engineering, and human-computer interaction. There, he served as the director of programming models and tools, with worldwide responsibility, for IBM Research’s strategy and research agenda in software technology. From 2011 to 2013, he was the director of the computer science department at IBM Research-Almaden. Hailpern was a distinguished research staff member and scientific director of the AI Horizons Network, as well as head of computer science for IBM Research. He retired from IBM at the end of 2019.

Hailpern is a former secretary of the ACM, former member of ACM Council, and former chair of the ACM Special Interest Group on Programming Languages (SIGPLAN). He was the chair of the SIGPLAN 1991 conference on programming language design and implementation; chair of SIGPLAN’s 1999 conference on object-oriented programming, systems, languages, and applications; co-chair of SIGPLAN’s 2007 History of Programming Languages Conference; and co-chair of the 2014 CRA Snowbird Conference. Hailpern was a member of the CRA Board of Directors and a member of the NSF Directorate for Computer and Information Science and Engineering Advisory Committee.

His last research project at IBM involved understanding and facilitating the life cycle of cognitive software, which is substantially different from the life cycle of conventional software. This difference has profound implications for the methodology and tools required to build such software. Cognitive software possesses at least one “cognitive” or “intelligent” component, such as a component implemented using machine learning, neural networks, or rules. Multiple cognitive components will often be involved in a cognitive application or service, but even just one component is enough to impart special and challenging complications.

Learn more about his research

Hailpern grew up in Denver, Colorado.