Stolee wins NSF CAREER Award
Dr. Kathryn Stolee, assistant professor in the Department of Computer Science at North Carolina State University, has received a Faculty Early Career Development award from the National Science Foundation (NSF). The award, known as the NSF CAREER Award, is one of the highest honors given by NSF to young faculty members in science and engineering.
NSF will provide $500,000 in funding over five years in support of her project, “On the Foundations of Semantic Code Search.” This research is supported by NSF’s Division of Computing and Communication Foundations.
Stolee’s research uses semantic code search to help developers find code for reuse or for repairing broken code. The engine behind the search is a constraint solver; code fragments (e.g., methods, blocks) are indexed using symbolic analysis to obtain a constraint representation of the code behavior. Given input/output examples and constraints for a code fragment, the solver determines if the code satisfies the specification.
Stolee’s project lays the foundation for semantic code search to be applied in broader contexts and to a wide range of developers. It addresses issues that arise when programmers use semantic code search to find code to reuse during software development. Challenges arise when 1) the desired code does not exist; 2) there are too many results to navigate efficiently; or 3) it is difficult to differentiate between similar code snippets. These challenges are especially pronounced for programmers in languages that are less supported, such as those used by end-user programmers.
To address the challenges, this research develops novel techniques to 1) find approximate solutions to semantic queries; 2) enable richer query models; 3) use the constraints to characterize the differences and similarities in behavior between code snippets; and 4) efficiently navigate the space of potential solutions. Through addressing the fundamental challenges facing semantic code search, Stolee’s research will extend the applications that benefit from search to also include cross-language clone detection and refactoring verification. It will allow more precise code specification and make semantic search more performant. It will enable semantic code search to operate in a constrained environment with low quantities of existing code. Finally, it is aligned with her overall career goals to make programming easier and more accessible, and to bring the benefits of software engineering analyses and techniques to the millions of end-user programmers and professional programmers.
Stolee’s research interests are in software engineering, program analysis, code search, empirical studies and program repair.
She received her B.S., M.S., and Ph.D. degrees in computer science from the University of Nebraska-Lincoln. Stolee was the Harpole-Pentair Assistant Professor of Software Engineering at Iowa State University from 2013–15 before starting at NC State as an assistant professor of computer science in January 2016.