Gail E. Kaiser

PROFESSOR OF COMPUTER SCIENCE

450 Comp Sci Bldg
Mail Code 0401

Tel(212) 939-7000

Gail Kaiser works on software engineering problems, seeking to improve software quality, reliability and security while simultaneously reducing software development and maintenance time and costs.  Society increasingly depends on software for everything from entertainment, financial services, and healthcare to community infrastructure, emergency response, and national defense. Poor quality, unreliable, and insecure software can lead to economic losses, individual and societal hardships, and loss of human lives. 

Research Interests

Static and dynamic program analysis, software testing and debugging, security and privacy, societal computing, collaboration environments for computational scientists, gameful computer science education.

Of particular interest to Kaiser are solving the reliability and security challenges of what the software engineering community calls “non-testable programs”: programs which are written to determine a previously unknown answer; there would be no need to write such programs if the correct answers were already known. During conventional software testing to detect security vulnerabilities, check that corner cases are handled correctly, and find coding errors so they can be fixed, a “test oracle” is required to determine whether the output is correct for each test input. Many big data analytics do not have a test oracle because data scientists and machine learning researchers do not know ahead of time everything their software will find. Live testing of the software embedded in cyberphysical systems and invasive medical devices is often too expensive or too dangerous, so also deemed “non-testable.” Kaiser’s lab has devised novel approaches to finding flaws in such programs before they can cause harm. Kaiser is also keenly interested in applications of machine learning to software engineering. She works with her colleagues and students to investigate several different models of “code similarity” useful for program understanding, malware detection, re-engineering legacy software, and informing hardware design. This work leverages “big code”, from large open-source repositories, and employs clustering and classification, topic modeling, and information retrieval techniques.

Kaiser received her ScB in computer science and engineering from the Massachusetts Institute of Technology in 1979 and her PhD in computer science from Carnegie Mellon University in 1985. She joined the faculty of Columbia Engineering in 1985. 

RESEARCH EXPERIENCE

  • Adjunct Senior Research Scientist, Columbia University Center of Computational Learning Systems, 2005-2007

PROFESSIONAL EXPERIENCE

  • Professor of computer science, Columbia University, 1998-
  • Associate professor of computer science, Columbia University, 1990-1997
  • Assistant professor of computer science, Columbia University, 1985-1989

PROFESSIONAL AFFILIATIONS

  • ACM
  • IEEE Computer Society

HONORS & AWARDS

  • ACM SIGSOFT Distinguished Paper Award, 2016
  • ACM SIGSOFT Distinguished Paper Award, 2014

SELECTED PUBLICATIONS

  • Fang-Hsiang Su, Jonathan Bell, Gail Kaiser and Simha Sethumadhavan. Identifying Functionally Similar Code in Complex Codebases. 24th IEEE International Conference on Program Comprehension (ICPC), May 2016, pp. 1-10.
  • Jonathan Bell and Gail Kaiser. Unit Test Virtualization with VMVM. 36th International Conference on Software Engineering (ICSE), June 2014, pp. 550-561.
  • Christian Murphy, Kuang Shen and Gail Kaiser. Automatic System Testing of Programs without Test Oracles. ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA), July 2009, pp. 189-200.
  • Christian Murphy, Swapneel Sheth, Gail Kaiser and Lauren Wilcox. genSpace: Exploring Social Networking Metaphors for Knowledge Sharing and Scientific Collaborative Work. 1st International Workshop on Social Software Engineering and Applications, September 2008.
  • Janak Parekh, Gail Kaiser, Philip Gross and Giuseppe Valetto. Retrofitting Autonomic Capabilities onto Legacy Systems. Journal of Cluster Computing, Kluwer, 9(2):141-159, April 2006.
  • Suhit Gupta, Gail Kaiser, David Neistadt and Peter Grimm. DOM-Based Content Extraction of HTML Documents. International World Wide Web Conference (WWW), May 2003, pp. 207-214. 
  • Stephen E. Dossick and Gail E. Kaiser. WWW Access to Legacy Client/Server Applications. Computer Networks and ISDN Systems, The International Journal of Computer and Telecommunications Networking, 28(7-11):931-940, Elsevier Science B.V., May 1996. 
  • Yoelle S. Maarek, Daniel M. Berry and Gail E. Kaiser. An Information Retrieval Approach for Automatically Constructing Software Libraries. IEEE Transactions on Software Engineering (TSE), 17(8):800-813, August 1991. 
  • Calton Pu, Gail E. Kaiser and Norman Hutchinson. Split-Transactions for Open-Ended Activities. International Conference on Very Large Data Bases (VLDB), August 1988, pp. 26-37. 
  • Gail E. Kaiser, Peter H. Feiler and Steven S. Popovich. Intelligent Assistance for Software Development and Maintenance. IEEE Software, 5(3):40-49, May 1988.