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 area is programming systems, currently focusing primarily on software testing and program analysis techniques towards improving developer productivity, software reliability and computer security. She is also interested in collaborative work technologies and "gameful" approaches to teaching computer science and computational thinking. 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, chaired the program committee for the third ACM SIGSOFT Symposium on Foundations of Software Engineering, and served a term as Vice Chair of ACM SIGPLAN. Prof. Kaiser received her PhD from CMU and her ScB from MIT. See her CV at

Since 2005, Prof. Kaiser has investigated how to find bugs in "non-testable" programs, initially with the Columbia Center for Computational Learning Systems (CCLS). Many machine learning, natural language processing, 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. These programs are often 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 incomplete, because its impossible to precisely model all human and physical world interactions. 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 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 has investigated collaboration environments for computational scientists, initially with the Columbia Center for Multiscale Analysis of Genomic and Cellular Networks (MAGNet). Computational 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 typically lack domain knowledge and support for scientific workflows. She is seeking new opportunities to develop software support for scientific research teams.


Prof. Kaiser will teach COMS W4156 Advanced Software Engineering in Fall 2018. 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 MS tracks and for CS/CE undergraduate tracks. The only prerequisite is the equivalent of our undergraduate 3157 Advanced Programming Course - two or more years programming experience, comfortable programming in two or more programming languages. The course focuses on agile processes, leveraging open-source development frameworks and libraries, and rigorous program analysis and testing for security and reliability. Students will work in teams (usually 4 students) to develop a semester-long software project. Teams choose their own platforms, programming languages, etc.






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 April 19, 2018 .
Gail E. Kaiser.