Sulekha R Kulkarni 1178, Piedmont Avenue, #1AC, Midtown NE, Atlanta, GA 30309 +1-312-952-8402 sulekha.kulkarni@gmail.com Education Georgia Institute of Technology PhD, Computer Science Advisor: Mayur Naik Atlanta, GA August 2014 – Present Indian Institute of Science Bangalore, India MSc(Engg), Computer Science August 1992 – April 1996 Thesis: Linear-time parsers for a sub-class of context-sensitive languages Advisor: Priti Shankar Bangalore Institute of Technology BE, Computer Science Bangalore, India August 1984 – April 1989 Research Experience Georgia Institute of Technology Graduate Research Assistantship, Program Analysis Group Advisor: Mayur Naik Atlanta, GA August 2014 – Present My current research is on incremental program analysis. It is observed that most (Java) applications heavily use standard libraries. An analysis which operates on such an application discovers many facts about the libraries. I am exploring how these facts discovered for libraries can be reused to incrementally analyze a different application using the same libraries. Some challenges which we have to handle are that most facts discovered about the library are conditional on facts in the application, applications may touch different parts of the libraries, how much learning can be accomplished, etc. Professional Experience Microsoft Research India Research Intern, Programming Languages and Tools Group Bangalore, India March 2014 – June 2014 R2 is a state-of-art analysis tool for probabilistic programs which efficiently samples the posterior distribution implicit in a probabilistic program by generating input samples coming from known distributions. Its efficiency comes from the fact that it truncates the generated input samples by pre-conditions which are computed by upward-propagation of acceptance conditions. My work involved the implementation of features in this tool which required intermediate tree rewriting and support for vector operations on application data. Parallocity Software India Pvt Ltd Head of compiler front-end Bangalore, India March 2009 – August 2013 Parallocity was a start-up with a dynamic defect detection product that detected critical errors (data races, deadlocks, memory defects and memory leaks). My work involved: • Compiler-based instrumentation to aid detection of defects • Design and implementation of a differential code coverage algorithm to highlight coverage for code differences between two versions of the same application. • Design and implementation of a report generation module which used a unique approach to collate defect data, providing a user with multiple views of the same data. kNEST Technologies Pvt Ltd Founder, Director, Technical Lead Bangalore, India September 2007 – February 2009 kNEST was a Bangalore-based software services company in the domain of development tools. My work involved the development of customized assembler, linker and debugger, for a family of DSP chips. Customizations involved the capability to debug several remote targets in a multiplexed way by setting/changing contexts. Synergy Infotech Pvt Ltd (later acquired by Sonim Technologies) Bangalore, India Project Leader June 1999- August 2007 Synergy Infotech was a Bangalore-based software services company executing projects in multiple domains. My work, which was in the domain of developement tools, involved: • Development of optimization passes in a SUIF based C compiler • Development of a software pipelining compiler pass using iterative modulo scheduling. • Design and development of assemblers and linkers for six DSP processor families. The special linker features implemented included support for overlay, support for multiple memory banks, support for archive libraries, support for linker command scripts, support for COFF / ELF object file formats. One linker (for Texas Instrument's C67 - a VLIW processor) involved the implementation of a stack machine to handle complex relocations. • Porting and customization of the Gnu Debugger (GDB) for two different DSP processors. GDB ran on a host machine and application execution happened on remote targets. Overlays, multiple memory banks and asynchronous interrupts from gdb were supported. • Development of a placement algorithm to make a compact layout for a questionnaire and print the final layout in pdf, minimizing the number of printed pages. • Development of a high availability platform by configuring Linux virtual server. This involved externally synchronizing the database fail-over with the linux server fail-over. PSI Data Systems Pvt Ltd Developer Bangalore, India December 1989 – December 1990 I was involved in the development of a module which displayed a data dependence graph in a FORTRAN Parallelizer environment using a depth-first-search based heuristic. Publications • S.R.Kulkarni and P.Shankar, Linear time parsers for classes of non context free languages, Theoretical Computer Science 165 (1996) 355–390 • B.Dehbonei, C.Laurent, N.Tawbi, R.K.Kulkarni, S.R.Kulkarni, PMACS: An Environment for Parallel Programming, International Parallel Processing Symposium (1991) 638–641