I am a Senior Staff Software Engineer and Engineering Manager at Google in New York focusing on AI coding tools with a focus on code quality, application security, program analysis, software development productivity tools, and evaluations. I am also an Adjunct Assistant Professor in Computer Science at Columbia University in New York. Prior to joining Google, I was a Senior Researcher at NEC Labs in the Systems Analysis and Verification group in Princeton, NJ. At NEC, I developed a number of static and dynamic program analysis tools based on model checking, abstract interpretation and symbolic execution. Before that, I received a Ph.D. in Computer and Information Science from the University of Pennsylvania in Philadelphia, PA. My dissertation research focused on the modeling and verification of embedded and hybrid systems. Earlier, I received a diploma (Dipl.-Inform.) degree from the Rheinische Friedrich-Wilhelms-University in Bonn, Germany, for my research performed at the Fraunhofer Institute in St. Augustin, Germany. My research there focused on Machine Learning, Fuzzy Pattern Recognition, and Handwriting Recognition. Before coming to Bonn I went to high school at Quirinus-Gymnasium in my hometown of Neuss, Germany, though I am of Croatian descent.
Software Engineering, Machine Learning for Code
Software Productivity Tools, Automated Software Testing
Program Analysis, Automatic Test Generation, Static and dynamic code analysis
Formal Methods, Model Checking
Cyber-Physical Systems, Hybrid Systems
Constraint Solvers
Concurrency, Distributed Services