Gail photo

Gail E. Kaiser is a Professor of Computer Science and the Director of the Programming Systems Laboratory in the Computer Science Department at Columbia University. She is also affiliated with the Software Systems Lab. Prof. Kaiser conducts research in software engineering and security from a systems perspective, currently focusing on program analysis and software testing. In the 1980s and 1990s, Kaiser investigated language-based editors and team software development environments, leading to today's IDEs and CI, then in the late 1990s and early 2000s she studied collaborative work via nascent Web technologies and "autonomic computing" for emerging cloud computing. Starting with her sabbatical at Columbia's Center for Computational Learning Systems in 2005-2006, Kaiser and her former PhD student Chris Murphy were among the first to apply software engineering testing techniques to machine learning software. Her recent work also applies machine learning techniques to software engineering problems. Kaiser has advised or co-advised twenty PhD dissertations and sponsored over two hundred undergraduate and MS research students. Her lab has been funded by NSF, NIH, DARPA, ONR, NYS Office of Science, Technology and Academic Research, and numerous companies. Prof. Kaiser chaired the program committee for the third ACM SIGSOFT Symposium on Foundations of Software Engineering and was a founding associate editor of ACM Transactions on Software Engineering and Methodology. She has served her department as PhD Program Chair since 1997. Prof. Kaiser received her PhD from CMU and her ScB from MIT. Her full CV is at


Prof. Kaiser is on sabbatical during academic year 2019-2020. She will not consider any new doctoral students, she will not take on any new project students directly (although her current doctoral students may recruit project students), and she will not teach any courses.

Prof. Kaiser will teach COMS W4156 Advanced Software Engineering in Fall 2020. 4156 is a Systems distribution course for all CS doctoral students and a Systems breadth course for all CS MS students. 4156 is required for the CS MS Computer Security and Software Systems tracks, and a technical elective for all other CS/CE MS tracks and for CS/CE undergraduate tracks. Prerequisite: COMS W3157 Advanced Programming or equivalent. The course covers the software lifecycle using frameworks, libraries and services. Major emphasis on software testing. Centers on a team project.

Prof. Kaiser expects to teach COMS E6156 Topics in Software Engineering in Spring 2021. 6156 is not "more" 4156, and not "more advanced" 4156. 4156 is about doing software engineering, and 6156 is about studying and improving software engineering. 6156 is a graduate seminar (qualified undergraduates are welcome) oriented towards students who aspire to be researchers or technology leaders. Students choose their own forward-looking topics within software engineering, broadly construed, for their presentations throughout the semester, midterm papers and final projects.


Nico Family Tree
Easy vs Hard
Women In STEM


Current PSL Doctoral Students:


Former PSL Doctoral Students, MS GRAs, MS thesis students, Staff and Visiting Researchers:



Prof. Kaiser's Greatest Achievement 


Prof. Gail E. Kaiser
Columbia University
Department of Computer Science
[office: 607 CEPSR]
[US mail: 1214 Amsterdam Avenue
Mail Code 0401]

[express/package delivery:
500 W. 120th St., Room 450]
New York, NY 10027
United States

voicemail: 212-939-7081
lab: 212-939-7100
department main number: 212-939-7000


Last updated January 14, 2020 .
Gail E. Kaiser.