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.


Prof. Kaiser will teach COMS E6156 Topics in Software Engineering in Spring 2018. In 4156, students "do" software engineering using best practices, tools, techniques, etc. In 6156, students "study" software engineering, and how to improve practices, tools and techniques. 6156 is a graduate seminar for the Software Systems and Computer Security MS tracks. Other graduate and undergraduate students who have taken 4156, or with software development experience equivalent to 4156, are welcome. Further information, including an initial reading list, is available here.


Prof. Kaiser will teach COMS W4156 Advanced Software Engineering in Fall 2018. 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


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 January 6, 2018 .
Gail E. Kaiser.