Curriculum Vitae IGOR PESHANSKY 115 Spruce Avenue Emerson, NJ 07630 Phone: (646) 522-9834 E-mail: pechtcha@cs.nyu.edu WWW: http://cs.nyu.edu/~pechtcha/ Former last name: Pechtchanski Research Interests * Programming Language Design * Property Specification and Verification * Static and Dynamic Code Optimization * Static Program Analysis * Software Engineering Tools Education * Ph.D. in Computer Science, New York University, June 2003. Thesis advisors: Prof. Benjamin Goldberg (NYU), Dr. Vivek Sarkar (IBM) Dissertation: ``A Framework for Optimistic Program Optimization'' * M.S. in Computer Science, New York University, September 2000. * B.S. in Computer Science, Brooklyn College, City University of New York, magna cum laude, June 1995. Employment * Senior Software Engineer, Programming Technologies Department, IBM T. J. Watson Research Center, April 2007 - Present Designing and implementing static program analyses and tooling support for code with integrated database accesses Leading an international team in developing a high-performance compiler and runtime for a novel high-productivity distributed and parallel programming language. * Advisory Software Engineer, Programming Technologies Department, IBM T. J. Watson Research Center, December 2005 - April 2007 Designed and implemented Java language extensions for first-class XML processing, Database, and Web Services integration Developed and integrated features in a high-performance, high-productivity parallel language. * Post-Doctoral Researcher, Programming Technologies Department, IBM T. J. Watson Research Center, November 2003 - December 2005 Designed and implemented Java language extensions for first-class XML processing Explored componentization specification for large-scale systems (Websphere Application Server) * Volunteer Contributor, Cygwin Open-source Project, October 2002 - Present Contributed C++/C/Perl/shell code to various parts of Cygwin (a POSIX emulation environment for Windows), including runtime libraries, utilities, installation program, and packages Maintaining multiple packages and some documentation web pages * Co-op, Programming Technologies Department, IBM T. J. Watson Research Center, February 1999 - November 2003 Participated in the development of the Jikes Research Virtual Machine Conducted research in optimistic analysis and immutability specification and verification * Research Assistant, Cartesian Grid Methods for Complex Geometry project, New York University, September 2001 - June 2002 Ported C/FORTRAN mesh generation software to Linux/GCC Optimized the mesh refinement module (written in C) by parallelizing algorithms and loops using OpenMP directives and MPI calls * Summer Researcher, Panasonic AVC Research Lab, Matshushita Electric Corp. of America, June 1997 - August 1997 Instructed researchers in the use of a new research compiler infrastructure (Trimaran) * Research Assistant, ReaCT-ILP group, New York University, January 1997 - January 1999 Participated in design and implementation of the Trimaran research compilation and optimization environment for EPIC architectures Designed and maintained web pages for the group and the Trimaran consortium * Software Engineer, Bloomberg, L.P., NY, February 1996 - August 1996 Designed and maintained Xwindows-based graphics applications Participated in the design of internal protocols for data display and exchange * Research Assistant, CUNY Research Foundation, March 1995 - February 1996 Designed and implemented various algorithms using the combination of linear programming and logic programming Participated in design and implementation of a compiler and run time environment for a new programming language 2LP Professional Activities * Member, Association for Computing Machinery * Refereed for ``International Journal of Parallel Programming'' and ``Concurrency and Computation: Practice and Experience'' Publications * ``Analysis of Imperative XML Programs'', with Michael G. Burke, Mukund Raghavachari, and Christoph Reichenbach. 11th International Symposium on Database Programming Languages (DBPL 2007), September 2007. * ``Experiences with an SMP Implementation for X10 based on the Java Concurrency Utilities'', with Rajkishore Barik, Vincent Cave, Christopher Donawa, Allan Kielstra, and Vivek Sarkar. Workshop on Programming Models for Ubiquitous Parallelism (PMUP 2006), held in conjunction with PACT 2006, Sep 2006. * ``XJ: Facilitating XML processing in Java'', with Matthew Harren, Mukund Raghavachari, Oded Shmueli, Michael G. Burke, Rajesh Bordawekar, and Vivek Sarkar. International World Wide Web Conference (WWW2005), May 2005. * ``Immutability Specification and its Applications'', with Vivek Sarkar. Journal Concurrency and Computation: Practice and Experience, Volume 17, Number 5-6, April/May 2005 ; Special Issue: Java Grande/ISCOPE 2002. * ``A Framework for Optimistic Program Optimization'', Ph.D. Dissertation, New York University, June 2003. * ``Immutability Specification and its Applications'', with Vivek Sarkar. Joint ACM Java Grande - ISCOPE Conference, (JGI'02), November 2002. * ``Dynamic Optimistic Interprocedural Analysis: A Framework and an Application'', with Vivek Sarkar. ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA'01), October 2001. * ``Object Views: Language Support for Intelligent Object Caching in Parallel and Distributed Computations'', with Ilya Lipkind and Vijay Karamcheti. ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA'99), November 1999. * ``Dependence Analysis for Java'', with Craig Chambers, Vivek Sarkar, Mauricio Serrano, and Harini Srinivasan. Workshop on Languages and Compilers for Parallel Computing (LCPC'99), August 1999. * ``A Core Library for Robust Numeric and Geometric Computation'', with Vijay Karamcheti, Chen Li, and Chee Yap. ACM Symposium on Computational Geometry (SCG'99), Applied Track, June 1999. Past Research * Componentization of Large-scale Systems * Programming Models for Enterprise Applications * Virtual Machine Design * Combined Instruction Scheduling and Register Allocation * Programmable Memory Hierarchies * Architecture Simulation * Distributed Programming * Computer Graphics * Computational Geometry * Combined Linear and Logic Programming Programming Languages Java, C/C++, X10, Perl, Unix shell scripting, Standard ML, Scheme, PASCAL, ADA, Prolog, SQL, PostScript, PL/I, FORTRAN, various assembly languages (x86, PowerPC, MIPS, SPARC, 68000) Programming Paradigms and Environments Object-Oriented Design, Automatic code generation, Unix system and network programming, Xwindows/Motif programming, MS Windows API, Cygwin References * Benjamin Goldberg (Advisor), goldberg@cs.nyu.edu * Vivek Sarkar (Co-advisor), vsarkar@rice.edu * Vijay Karamcheti, vijayk@cs.nyu.edu * Marsha Berger, berger@cs.nyu.edu ___________________________________________________________________________ Igor Peshansky 2008-05-05