Welcome to my home page

Deepak Goyal


I completed my PhD. from the
Department of Computer Science
Courant Institute of Mathematical Sciences
New York University in October, 1999.

Here is the final version of my thesis titled A Language Theoretic Approach To Algorithms. The fat version of my thesis which is double-spaced, has wider margins, and uses bigger fonts can be found here.

Here is a postscript version of my final defense.

Take a look at my resume.

Here is a Statement of Research. A postscript version of my Research Statement may be found here.

Table of Contents

About me

I received a Bachelor's degree in Computer Science (B.Tech) from the Indian Institute of Technology, Delhi in 1994 following which I joined the Computer Science Department at the Courant Institute of Mathematical Sciences as a PhD. student. I got my Masters degree in Computer Science at NYU in May 1996, and successfully defended my PhD. Thesis on October 15, 1999.

I was a Research Staff Member in the Program Analysis and Transformation group at the IBM T. J. Watson Research center from November, 1999 to March, 2003. Since then I have moved to the Bay Area in California and currently work in an EDA startup in the area of Formal Hardware Verification.


ACM mandated notice: The documents distributed by this server have been provided by the contributing author(s) as a means to ensure timely dissemination of scholarly and technical work on a non-commercial basis. Copyright and all rights therein are maintained by the authors or by other copyright holders, notwithstanding that they have offered their works here electronically. It is understood that all persons copying this information will adhere to the terms and constraints invoked by each author's copyright. These works may not be reposted without the explicit permission of the copyright holder.

Research Interests

My primary research interest is in the areas of

My long term research interests are in the area of improvement of productivity of Software implementation. We feel that important concepts from the areas of Programming Languages, Program Transformations, Partial Evaluation, Algorithms and Data Structures can be extremely useful for simplifying the development of large scale but efficient and reliable software. Through our research (with Bob Paige and other collaborators at NYU), we want to show that it is possible to program using high level features and still get efficient implementations. One of the efforts in this direction is the design of a novel typed set theoretic Language in which the type system is used to specify efficient implementations of high level datatypes such as sets and maps. Furthermore, the type system can be used to analyze the high level programs for their asymptotic worst case time complexity. One of the goals of this project is to implement a translator from this high level language to C that will generate high quality code(in terms of efficiency).

Here is a copy of a related paper with Bob Paige that has appeared in the Proceedings of IFIP TC-2 conference on "Algorithmic Languages and Calculii".

Deepak Goyal and Bob Paige, The Formal Reconstruction and Speedup Of The Linear Time Fragment Of Willard's Relational Calculus Subset
Here is a short Summary of this paper.

Earlier I had done some work in the area of Distributed Computing at IIT, Delhi. I worked on the design and development of a distributed computing platform that used message passing to implement broadcast protocols quite similar to those used in ISIS. The motivation behind this work was to provide a framework for distributed computing which makes solving problems in a distributed fashion easier by providing ordered and consistent access to data. We demonstrated the usability of this system by developing a wide spectrum of applications such as Conferencing, Distributed Databases, Implementation of shared memory, Incremental distributed solutions for Sink trees for directory routing etc. Thus, we showed how a number of distributed processes could be managed to provide a coordinated cooperative attack on a problem. This work gave me my first conference publication

P C P Bhatt, Deepak Goyal and Arun Verma, Soft-Ware Engineering for Co-operative Computing
CONSEG 95 ( Advances in Software Engineering; Proceedings of the International conf. on software engg. practices) pp. 107-118, 1995
Here is a short Summary of this paper.

Contact Information

Email: deepak@cs.nyu.edu, or deepakgoyal@yahoo.com