Computing Systems for Data-Driven Science
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 http://www.cs.columbia.edu/~kaiser/vita.html.
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. Their 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.