Gail photo

Gail E. Kaiser is a Professor of Computer Science and the Director of the Programming Systems Laboratory (PSL) in the Computer Science Department at Columbia University. Prof. Kaiser's research interests lie primarily in software engineering, following a systems building approach, in recent years focusing on static and dynamic program analysis techniques with goals towards improving software reliability and security. Her lab has been funded by NSF, NIH, DARPA, ONR, NASA, NYS Science & Technology Foundation, and numerous companies. Prof. Kaiser served on the editorial board of IEEE Internet Computing for many years, was a founding associate editor of ACM Transactions on Software Engineering and Methodology, and chaired an ACM SIGSOFT Symposium on Foundations of Software Engineering. She has chaired the department's doctoral program since 1997. Prof. Kaiser received her PhD from CMU and her ScB from MIT. See her CV at

Since 2005, Prof. Kaiser has investigated testing "non-testable" programs, initially with the Columbia Center for Computational Learning Systems (CCLS). Many machine learning, data mining, analytics, simulation, optimization, scientific computing and other kinds of big data applications are deemed "non-testable" because there is no test oracle that can determine whether the output is correct for every possible input. There programs are typically written to determine the answer in the first place; there would be no need to write such programs if all the answers were already known. Test oracles for cyber-physical systems are also often incomplete. Software security is deemed "non-testable" because security requirements and threat models are rarely completely known. Yet there are invariably software defects, "bugs", in any large-scale software system that need to be found and fixed because society depends so heavily on the proper operation of this software. Kaiser continues to develop novel techniques and tools for detecting such bugs and checking that they have indeed been repaired. Coincidentally also beginning in 2005, Kaiser investigated collaboration environments for computational scientists, initially with the Columbia Center for Multiscale Analysis of Genomic and Cellular Networks (MAGNet). Computational scientists and data scientists are not well-served by conventional application development environments, frameworks and tools designed for software engineers to develop and maintain business and consumer software, which lack domain knowledge and support for scientific workflows. She has developed knowledge sharing and domain-aware environments to support such scientists.


Prof. Kaiser's academic family tree, as of ~1990, is here.


As chair of the doctoral program, Prof. Kaiser is responsible for policy decisions regarding the doctoral program. If you are a doctoral student with questions or concerns about program requirements, registration, dealing with university bureaucracy, etc., do not contact Prof. Kaiser, she cannot help you. First check the program webpages at If your question isn't answered there, only then contact the student services manager, Ms. Jessica Rosa (DES-CVN students should instead contact CVN). Prof. Kaiser's title is Director of Graduate Studies, but that title comes from GSAS, where virtually all graduate students do their masters along the way to PhD, there are few programs that take terminal masters students. In SEAS its different, most MS programs are completely separate from PhD programs. In Computer Science, someone else directs policy for the MS program, currently Prof. Mihalis Yannakakis. If you are an MS student, first try, and if that doesn't help, then Ms. Clarissa Pean (online MS should instead contact CVN). Prof. Kaiser is not involved in admissions: if you are a prospective graduate student, try or


Prof. Kaiser will teach COMS W4156 Advanced Software Engineering in Fall 2017. This is a lecture and lab course that focuses on team development of software applications leveraging open-source software, third-party frameworks, and industry-standard best practices and tools. The course covers modern agile processes, object-oriented design, and continuous integration, with a strong emphasis on rigorous testing for both conventional bugs and security vulnerabilities. 4156 ("ASE") is required for the MS computer security and software systems tracks. Other MS students and undergraduates who have completed COMS W3157 or equivalent are strongly encouraged to take the course (you should have two or more years programming experience and know two or more mainstream programming languages). Lectures and assignments from the Fall 2016 offering of the course are available on github at


Prof. Kaiser will teach COMS E6156 Topics in Software Engineering in Spring 2018. In 4156, students "do" software engineering using best practices, tools and techniques. In 6156, students "study" software engineering, and investigate how to improve practices, tools and techniques. 6156 enables students to choose their own research topic within software engineering, broadly construed, towards a midterm paper, final project, and one or more presentations. Software engineering perspectives on program understanding, quality, reliability, security and/or privacy would fit, as would methods/techniques like program analysis, prediction of software properties from 'big code', and usability studies. Students interested in investigating the software engineering concerns of machine learning or other specialty areas are welcome. This course is a 6k track elective for the MS Software Systems track. If you choose a security/privacy focus, then the course may be acceptable as a 6k track elective for the MS Computer Security track; contact Prof. Steve Bellovin for further information. 6156 is a general elective for all other CS/CE undergraduate and MS tracks.


Breaking News (11/12/15): 'Seek Funding' Step Added To Scientific Method

Slides from Prof. Kaiser's "Distinguished Lecture" at the University of Southern California from April 18, 2013.

Alex Orso's advice on how to get your paper accepted at a top software engineering conference.



Current Academic Visitors:

Current PSL Doctoral Students:

Former PSL Doctoral Students, MS GRAs, Staff and Visitors:


Prof. Kaiser's Greatest Achievement 


Prof. Gail E. Kaiser
Columbia University
Department of Computer Science
[snailmail: 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
email: and also work,
its the same account

Last updated October 27, 2017 .
Gail E. Kaiser.